skills/monorepo/SKILL.md
Monorepo architecture and management -- Turborepo, Nx, Lerna, Bazel, boundaries, caching.
npx skillsauth add arbazkhan971/godmode monorepoInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
/godmode:monorepo, "monorepo", "workspace setup"ls turbo.json nx.json lerna.json \
pnpm-workspace.yaml 2>/dev/null
find . -name "package.json" -maxdepth 3 | wc -l
Packages: <N> | Languages: <list>
Build tool: <current|none>
Package manager: <npm|pnpm|yarn|bun>
CI time: <N min> full / <N min> affected
Boundary violations: <N> | Circular deps: <N>
Turborepo: zero-config caching, simple. JS/TS.
Learning: LOW.
Nx: rich plugins, codegen, dep graph UI.
Enterprise, large. Learning: MEDIUM.
Lerna: publishing workflow, changelogs.
npm package authors. Learning: LOW.
Bazel: language-agnostic, hermetic.
Google-scale. Learning: HIGH.
Rush: strict dep management, phantom prevention.
Learning: MEDIUM-HIGH.
IF multi-language: Bazel or Nx custom executors. IF prefer minimal config: Turborepo + pnpm. IF publishing npm packages: Lerna + pnpm.
<repo>/
apps/ # Deployable applications
packages/ # Shared libraries
tools/ # Build tools, scripts
package.json, turbo.json/nx.json
Naming: @<org>/<package>, lowercase kebab-case.
Apps: "private": true. Packages: publishable.
npx turbo run build --filter=...[origin/main]
npx nx affected --target=build --base=origin/main
Remote caching: Turborepo (Vercel) or Nx Cloud. Impact: 15-min build -> 30 seconds with cache hit.
Visualize: turbo run build --graph or npx nx graph.
Fix: circular deps -> extract shared package.
Hub packages (>5 dependents) -> split.
Orphan packages (0 dependents) -> remove.
Deep chains (4+ levels) -> flatten.
Centralize in packages/config/: TypeScript base,
ESLint, Prettier. All packages extend shared config.
Append .godmode/monorepo-results.tsv:
timestamp action packages boundary_violations ci_time_min status
KEEP if: build passes AND violations = 0
AND circular deps = 0.
DISCARD if: build fails OR new violation
OR new circular dep.
STOP when ALL of:
- Orchestrator configured
- Zero violations and circular deps
- Remote caching enabled
- Selective builds in CI
- Affected-only CI < 3 min
On failure: git reset --hard HEAD~1. Never pause.
| Failure | Action | |--|--| | Circular dep | Extract shared into new package | | CI too slow | Verify selective builds, check cache | | Boundary violation | Extract to packages/ library | | New package fails | Verify workspace config, install |
development
Web performance optimization. Lighthouse, bundle analysis, code splitting, image optimization, critical CSS, fonts, service workers, CDN.
development
Webhook design, delivery, retry, HMAC verification, event subscriptions, dead letter queues.
development
Vue.js mastery. Composition API, Pinia, Vue Router, Nuxt SSR/SSG, Vite optimization, testing.
development
Evidence gate. Run command, read full output, confirm or deny claim. No trust, only proof.