Angular Developer
radix-ng/primitives
Angular framework reference for building this signals-first, headless directive library.
Local development guide for the Happy pnpm monorepo: install, build, test and run the CLI, server, Expo app and Tauri desktop packages.
$ npx skills add slopus/happy --skill dev -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install slopus/happy dev --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/dev .claude/skills/dev && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .claude/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/slopus/happy/tree/main/.agents/skills/devType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add slopus/happy --skill dev -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install slopus/happy dev --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/dev .agents/skills/dev && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .agents/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add slopus/happy --skill dev -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install slopus/happy dev --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/dev .cursor/skills/dev && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .cursor/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/slopus/happy.git --path .agents/skills/dev--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add slopus/happy --skill dev -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install slopus/happy dev --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/dev .gemini/skills/dev && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .gemini/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install slopus/happy devInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add slopus/happy --skill dev -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/dev .github/skills/dev && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .github/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add slopus/happy --skill dev -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install slopus/happy dev --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/slopus/happy.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/dev .opencode/skills/dev && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "dev" agent skill from https://github.com/slopus/happy/tree/main/.agents/skills/dev into .opencode/skills/dev/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "dev", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
devLocal development guide for the Happy pnpm monorepo: install, build, test and run the CLI, server, Expo app and Tauri desktop packages.
Happy is a pnpm monorepo, so everything goes through pnpm workspaces rather than npm or yarn. First-time setup installs dependencies and runs the CLI's cli:install script, which builds happy-cli, links it as the global happy binary and restarts the daemon, using the same ~/.happy folder as production. The guide gives the undo command and lists the packages: the CLI and daemon, a Node and Prisma server, an Expo app for iOS, Android, web and Tauri desktop, an agent runtime and shared Zod wire schemas.
Work loops show how to rebuild and relink the CLI, check daemon status and run doctor, run a single vitest file or only the unit project, and treat flaky integration tests as on-demand. A HAPPY_HOME_DIR variable creates a separate data sandbox so two versions can run side by side, and HAPPY_SERVER_URL points the CLI or app at a local server started with the standalone dev script, which uses embedded PGlite and no Docker.
Read from SKILL.md and the folder at commit 7ea7017. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Shell commands in SKILL.md call:
pnpmnpmosascriptyarnFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pnpm, npm and yarn, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Happy Monorepo Dev Guide loads about 1.8k tokens when it runs. Until then it costs about 64 tokens; SKILL.md has 677 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from slopus/happy at commit 7ea7017, republished under its MIT licence (© slopus). 677 words, ~1,846 tokens.
.claude/skills/dev/SKILL.md (or your agent's skills folder).Happy is a pnpm monorepo. Everything uses pnpm workspaces — do not use npm or yarn directly.
pnpm install # installs deps for every package
pnpm --filter happy cli:install # builds happy-cli + links it as the global `happy` binarycli:install replaces whatever happy is on your PATH (npm-installed or not) with a symlink to packages/happy-cli/. Daemon is restarted as part of the script. Uses ~/.happy/ — same as production.
To undo: npm unlink -g happy && npm i -g happy@latest.
packages/happy-cli # the `happy` CLI and daemon, published to npm
packages/happy-server # Node + Prisma server, deployed via TeamCity
packages/happy-app # Expo app: iOS, Android, web, Tauri desktop
packages/happy-agent # agent runtime
packages/happy-wire # shared Zod schemas + wire typespackages/happy-cli
scripts in package.json:
typecheck # tsc --noEmit
build # rm -rf dist && tsc --noEmit && pkgroll
test # build + vitest run
cli:install # build + stop daemon + npm link + start daemon
prepublishOnly # pnpm test (runs build inside test)
postinstall # unpacks difft + rg binaries into tools/unpacked/Work loop:
pnpm --filter happy cli:install # rebuild + relink + restart daemon
happy daemon status # confirm your build is running
happy doctor # list all happy processes
tail -f ~/.happy/logs/$(ls -t ~/.happy/logs/ | head -1)Run a single test file quickly:
pnpm --filter happy exec vitest run src/path/to/file.test.tsUnit-only (fast, ~1 min):
pnpm --filter happy exec vitest run --project unitIntegration tests hit real APIs and are flaky — run on demand, never in the release gate.
happy reads HAPPY_HOME_DIR to override ~/.happy/. To run two versions side-by-side without touching your prod auth:
HAPPY_HOME_DIR=~/.happy-dev happy daemon start
HAPPY_HOME_DIR=~/.happy-dev happy authPoint at a local server the same way:
HAPPY_SERVER_URL=http://localhost:3005 happy daemon startpnpm --filter happy-server standalone:dev # localhost:3005, embedded PGlite, no DockerApp auto-reloads on source changes. Point the CLI or the Expo app at it with HAPPY_SERVER_URL=http://localhost:3005 / EXPO_PUBLIC_HAPPY_SERVER_URL=....
pnpm --filter happy-app start # expo start (Metro bundler)
pnpm --filter happy-app ios:dev # iOS simulator, development variant
pnpm --filter happy-app android:dev
pnpm --filter happy-app web # web build, served locally
pnpm --filter happy-app tauri:dev # macOS desktop appVariants:
development com.slopus.happy.dev # hot reload, internal
preview com.slopus.happy.preview # OTA / beta testing
production com.ex3ndr.happy # App StoreWhen the user asks to "rebuild the desktop app", "kill the running one and reinstall", or anything in that shape — do all four steps in order, do not stop after building.
Variants → product name → build script:
production Happy.app pnpm --filter happy-app tauri:build:production
preview Happy (preview).app pnpm --filter happy-app tauri:build:preview
dev Happy (dev).app pnpm --filter happy-app tauri:build:devBuild output for all variants:
packages/happy-app/src-tauri/target/release/bundle/macos/<ProductName>.appIf the variant is ambiguous, check what's running with ps aux | grep "/Applications/.*Happy" | grep -v grep and match. Production is the default.
Steps (substitute $NAME with the product name, e.g. Happy or Happy (dev)):
# 1. build (slow: ~3–10 min, expo web export then cargo release build)
pnpm --filter happy-app tauri:build:production
# 2. quit the running app gracefully (no-op if not running)
osascript -e 'tell application "$NAME" to quit' || true
# 3. replace the installed bundle
rm -rf "/Applications/$NAME.app"
cp -R "packages/happy-app/src-tauri/target/release/bundle/macos/$NAME.app" /Applications/
# 4. relaunch
open -a "$NAME"Notes:
run_in_background: true on Bash) and poll the output file. It prints Finished \release` profile` near the end.osascript ... to quit is graceful — it gives the app a chance to flush state. Only fall back to pkill -f "/Applications/$NAME.app/Contents/MacOS/app" if the quit hangs.rm -rf before cp — cp -R over an existing .app merges directories and leaves stale files.xattr -dr com.apple.quarantine "/Applications/$NAME.app" clears it. Local builds are unsigned.pnpm --filter happy-app-logs dev # starts on http://0.0.0.0:8787Receives POST requests to /logs from the mobile app's patched console (see consoleLogging.ts).
Logs to stdout and ~/.happy/app-logs/<timestamp>.log.
To connect: set the log server URL in the app's dev settings to http://<LAN_IP>:8787.
The app's consoleLogging.ts sends all console.log/warn/error to this endpoint when configured.
Console output must be enabled in the app (dev/preview variants default on, production defaults off, togglable from the dev settings screen).
packages/*/node_modules/ is mostly empty. Node's resolution walks up, so imports work transparently."@slopus/happy-wire": "workspace:*" resolves to packages/happy-wire/ — edits are picked up live.$npm_execpath: legacy; happy-cli uses pnpm literally. Windows cmd.exe doesn't expand $VAR.pnpm test runs build first. Do not remove.Do not publish by hand. Use /release — it handles npm publish, git tags, GitHub releases, and the smoke check.
happy: command not found → pnpm --filter happy cli:install
daemon won't start → happy daemon stop; rm ~/.happy/daemon.state.json.lock; happy daemon start
wrong `happy` version → which happy && ls -la $(which happy) — confirms where it resolves to
tools/unpacked missing → pnpm install (postinstall re-extracts)
stale deps after branch swap → pnpm install (pnpm is picky about lockfile drift)npm install or yarn install — only pnpm.dev / cli tsx-based script back to happy-cli. The build step is not optional — daemon spawns the built binary and would desync.release-it. Releases go through /release.~/.happy-dev as a default. It exists as an opt-in via HAPPY_HOME_DIR, nothing more.© slopus, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
Just SKILL.md in .agents/skills/dev of slopus/happy.
Open the folder on GitHubat commit 7ea7017
Happy Monorepo Dev Guide next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Happy Monorepo Dev Guide this skillslopus/happy | 24k | — | ~1.8k | Automated safety check: Pass | MIT | |
| Angular Developerradix-ng/primitives | 274 | — | ~1.2k | Automated safety check: Pass | MIT | |
| Ever Worksever-works/ever-works | 158 | — | ~2.2k | Automated safety check: Pass | AGPL-3.0 | |
| Ckeditor5 TestingTriliumNext/Trilium | 38k | — | ~3.3k | Automated safety check: Pass | AGPL-3.0 | |
| Project Scaffoldingaiskillstore/marketplace | 430 | — | ~2k | Automated safety check: Pass | None | |
| Create Saleor Packagesaleor/apps | 162 | — | ~608 | Automated safety check: Pass | Custom licence |
radix-ng/primitives
Angular framework reference for building this signals-first, headless directive library.
ever-works/ever-works
Repo-specific guide to the Ever Works monorepo (ever-works/ever-works) — its pnpm + Turborepo layout, the per-workspace test runners (Jest vs Vitest vs Playwright), file-naming and import-alias…
TriliumNext/Trilium
Testing CKEditor 5 plugins in the Trilium monorepo. An agent skill from TriliumNext/Trilium.
aiskillstore/marketplace
IDE-grade project scaffolding wizard for creating new projects with comprehensive configuration.
saleor/apps
Scaffold a new shared package in the saleor-apps monorepo under ./packages/.
giuseppe-trisciuoglio/developer-kit
Provides comprehensive Turborepo monorepo management guidance for TypeScript/JavaScript projects.
slopus/happy
Searches past Claude Code, Codex and Cursor sessions and summarizes what was worked on, tried or decided, using extraction scripts instead of reading raw logs.
slopus/happy
Drives a real browser from the shell with the agent-browser CLI: open pages, snapshot elements by ref, click, fill and extract, for testing web flows.
slopus/happy
Traces how an action moves through your code and draws it as a compact ASCII tree: functions called, payload types, state changes and components that re-render.
slopus/happy
Queries live Prometheus metrics and manages Grafana dashboards as code for Happy's infrastructure, using the grafanactl CLI and the Grafana datasource proxy API.
slopus/happy
Tests interactive CLI and TUI programs with Microsoft's tui-test, driving prompts, arrow keys and screen output in a real pseudo-terminal.
slopus/happy
Walks you through releasing a component of the Happy monorepo (CLI, mobile, web or server) from a clean local main that matches origin/main.
Categories
Local development guide for the Happy pnpm monorepo: install, build, test and run the CLI, server, Expo app and Tauri desktop packages. Happy is a pnpm monorepo, so everything goes through pnpm workspaces rather than npm or yarn.happy folder as production.
Happy Monorepo Dev Guide fits situations like: setting up the Happy monorepo for the first time; rebuilding and relinking the happy CLI after a code change; running one test file or only the unit tests in a package; pointing the CLI or app at a local development server.
Run `npx skills add slopus/happy --skill dev -a claude-code`. Or copy the skill folder (.agents/skills/dev in slopus/happy) into .claude/skills/dev in your project. Claude Code loads it when a task matches its description.
Run `npx skills add slopus/happy --skill dev -a codex`. Or copy the skill folder (.agents/skills/dev in slopus/happy) into .agents/skills/dev in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add slopus/happy --skill dev -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/dev, .gemini/skills/dev, .github/skills/dev and .opencode/skills/dev in your project.
Going by SKILL.md and its folder, Happy Monorepo Dev Guide needs the command-line tools its instructions call (pnpm, npm, osascript and yarn). Our summary lists: pnpm and Node; A checkout of the slopus/happy monorepo.
SKILL.md contains no URLs. Its commands use npm, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Happy Monorepo Dev Guide is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.8k tokens (SKILL.md is roughly 7.4k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Happy Monorepo Dev Guide: Angular Developer (radix-ng/primitives, 274 stars), Ever Works (ever-works/ever-works, 158 stars), Ckeditor5 Testing (TriliumNext/Trilium, 38k stars) and Project Scaffolding (aiskillstore/marketplace, 430 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
slopus (a GitHub organization) maintains it in slopus/happy, which has 24,039 GitHub stars. The repository holds 8 skills in this directory. The repository was last updated on October 7, 2026.
Source: slopus/happy on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.