← ClaudeAtlas

monorepolisted

Detect and navigate monorepos correctly. Use when working with repos containing multiple packages (pnpm/yarn/npm workspaces, Turborepo, Nx, Lerna). Ensures commands run in correct package scope, dependencies are routed properly, and cross-package changes are coordinated.
nguyenthienthanh/aura-frog · ★ 19 · AI & Automation · score 82
Install: claude install-skill nguyenthienthanh/aura-frog
> **AI-consumed reference.** Optimized for Claude to read during execution. > Human-readable explanation: see [docs/architecture/HIERARCHICAL_PLANNING.md](../../../docs/architecture/HIERARCHICAL_PLANNING.md) > or [docs/getting-started/](../../../docs/getting-started/) depending on topic. # Monorepo Handling Monorepos break many assumptions: which `package.json` is "the" one, where `node_modules` live, which test command runs, what `install` actually does. This skill ensures operations target the correct scope. --- ## Detection On session start or first file edit, check for these markers: | File | Tool | |------|------| | `pnpm-workspace.yaml` | pnpm workspaces | | `turbo.json` | Turborepo | | `nx.json` | Nx | | `lerna.json` | Lerna | | `package.json` with `"workspaces": [...]` | npm / yarn workspaces | | `Cargo.toml` with `[workspace]` | Rust workspaces | | `go.work` | Go workspaces | | `pyproject.toml` with Poetry/uv workspace config | Python workspaces | If detected → monorepo mode ON. Record in workflow state. All subsequent commands must respect package scope. --- ## Key Rules ### 1. Always identify the target package first Before any `install`, `test`, or `build`: - Which package is the change in? Full path: `packages/<name>/` - Run **scoped**, not from root: `pnpm --filter <name> test` ### 2. Cross-package changes = coordinate If a change touches package A's API used by package B: - List all consumers: `grep -r "@your-org/package-a" packages/` - Update all