New: Earn 20% as an AgentAlley affiliate. Share your link and earn on every sale you refer. Join now New: Earn 20% as an affiliate. Join now

Navigate, manage, and optimize monorepos

Monorepo navigator

by alirezarezvani · MIT license · ★ 26,349 on GitHub · updated Aug 30

Monorepo navigator cover

Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna.

---
name: "monorepo-navigator"
description: "Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Cross-package impact analysis, selective builds/tests on affected packages, remote caching, dependency graph visualization, and structured multi-repo to monorepo migrations. Use when setting up a new monorepo, optimizing CI for a large workspace, debugging cross-package dependency issues, or planning a multi-repo consolidation."
---

# Monorepo Navigator

**Tier:** POWERFUL  
**Category:** Engineering  
**Domain:** Monorepo Architecture / Build Systems  

---

## Overview

Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Enables cross-package impact analysis, selective builds/tests on affected packages only, remote caching, dependency graph visualization, and structured migrations from multi-repo to monorepo. Includes Claude Code configuration for workspace-aware development.

---

Overview

Tier: POWERFUL Category: Engineering Domain: Monorepo Architecture / Build Systems

Manual install (npx, ZIP)
Claude Codenpx skills add alirezarezvani/claude-skills --skill monorepo-navigator -g -a claude-code
Claude Code (manual)mkdir -p ~/.claude/skills && curl -sL https://codeload.github.com/alirezarezvani/claude-skills/tar.gz/19392f7a0826 \ | tar -xz -C ~/.claude/skills --strip-components=3 claude-skills-19392f7a0826/engineering/skills/monorepo-navigator
Windows (PowerShell)New-Item -ItemType Directory -Force "$HOME\.claude\skills" | Out-Null; Invoke-WebRequest "https://m.agentalley.io/zip/4d319cda6731f1ac4334/monorepo-navigator.zip" -OutFile "$env:TEMP\monorepo-navigator.zip"; Expand-Archive "$env:TEMP\monorepo-navigator.zip" -DestinationPath "$HOME\.claude\skills" -Force
Claude.ai / desktopDownload the ZIP and upload it under Settings → Capabilities → Skills.
Codex, Cursor, other agentsPoint them at SKILL.md. The other files are plain text.

Connects with Agent Alley MCP · agentalley.io/mcp

Files included

  • SKILL.md4.8 KB
  • references/2 files · 12.7 KB
  • scripts/1 file · 5.4 KB
Read the files here
alirezarezvani/19392f74 files
SKILL.md
Show the full text98 lines

Monorepo Navigator

Tier: POWERFUL
Category: Engineering
Domain: Monorepo Architecture / Build Systems


Overview

Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Enables cross-package impact analysis, selective builds/tests on affected packages only, remote caching, dependency graph visualization, and structured migrations from multi-repo to monorepo. Includes Claude Code configuration for workspace-aware development.


Core Capabilities

  • Cross-package impact analysis — determine which apps break when a shared package changes
  • Selective commands — run tests/builds only for affected packages (not everything)
  • Dependency graph — visualize package relationships as Mermaid diagrams
  • Build optimization — remote caching, incremental builds, parallel execution
  • Migration — step-by-step multi-repo → monorepo with zero history loss
  • Publishing — changesets for versioning, pre-release channels, npm publish workflows
  • Claude Code config — workspace-aware CLAUDE.md with per-package instructions

When to Use

Use when:

  • Multiple packages/apps share code (UI components, utils, types, API clients)
  • Build times are slow because everything rebuilds when anything changes
  • Migrating from multiple repos to a single repo
  • Need to publish packages to npm with coordinated versioning
  • Teams work across multiple packages and need unified tooling

Skip when:

  • Single-app project with no shared packages
  • Team/project boundaries are completely isolated (polyrepo is fine)
  • Shared code is minimal and copy-paste overhead is acceptable

Tool Selection

Tool Best For Key Feature
Turborepo JS/TS monorepos, simple pipeline config Best-in-class remote caching, minimal config
Nx Large enterprises, plugin ecosystem Project graph, code generation, affected commands
pnpm workspaces Workspace protocol, disk efficiency workspace:* for local package refs
Lerna npm publishing, versioning Batch publishing, conventional commits
Changesets Modern versioning (preferred over Lerna) Changelog generation, pre-release channels

Most modern setups: pnpm workspaces + Turborepo + Changesets


Turborepo

→ See references/monorepo-tooling-reference.md for details

Workspace Analyzer

python3 scripts/monorepo_analyzer.py /path/to/monorepo
python3 scripts/monorepo_analyzer.py /path/to/monorepo --json

Also see references/monorepo-patterns.md for common architecture and CI patterns.

Common Pitfalls

Pitfall Fix
Running turbo run build without --filter on every PR Always use --filter=...[origin/main] in CI
workspace:* refs cause publish failures Use pnpm changeset publish — it replaces workspace:* with real versions automatically
All packages rebuild when unrelated file changes Tune inputs in turbo.json to exclude docs, config files from cache keys
Shared tsconfig causes one package to break all type-checks Use extends properly — each package extends root but overrides rootDir / outDir
git history lost during migration Use git filter-repo --to-subdirectory-filter before merging — never move files manually
Remote cache not working in CI Check TURBO_TOKEN and TURBO_TEAM env vars; verify with turbo run build --summarize
CLAUDE.md too generic — Claude modifies wrong package Add explicit "When working on X, only touch files in apps/X" rules per package CLAUDE.md

Best Practices

  1. Root CLAUDE.md defines the map — document every package, its purpose, and dependency rules
  2. Per-package CLAUDE.md defines the rules — what's allowed, what's forbidden, testing commands
  3. Always scope commands with --filter — running everything on every change defeats the purpose
  4. Remote cache is not optional — without it, monorepo CI is slower than multi-repo CI
  5. Changesets over manual versioning — never hand-edit package.json versions in a monorepo
  6. Shared configs in root, extended in packages — tsconfig.base.json, .eslintrc.base.js, jest.base.config.js
  7. Impact analysis before merging shared package changes — run affected check, communicate blast radius
  8. Keep packages/types as pure TypeScript — no runtime code, no dependencies, fast to build and type-check
1---
2name: "monorepo-navigator"
3description: "Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Cross-package impact analysis, selective builds/tests on affected packages, remote caching, dependency graph visualization, and structured multi-repo to monorepo migrations. Use when setting up a new monorepo, optimizing CI for a large workspace, debugging cross-package dependency issues, or planning a multi-repo consolidation."
4---
5 
6# Monorepo Navigator
7 
8**Tier:** POWERFUL
9**Category:** Engineering
10**Domain:** Monorepo Architecture / Build Systems
11 
12---
13 
14## Overview
15 
16Navigate, manage, and optimize monorepos. Covers Turborepo, Nx, pnpm workspaces, and Lerna. Enables cross-package impact analysis, selective builds/tests on affected packages only, remote caching, dependency graph visualization, and structured migrations from multi-repo to monorepo. Includes Claude Code configuration for workspace-aware development.
17 
18---
19 
20## Core Capabilities
21 
22- **Cross-package impact analysis** — determine which apps break when a shared package changes
23- **Selective commands** — run tests/builds only for affected packages (not everything)
24- **Dependency graph** — visualize package relationships as Mermaid diagrams
25- **Build optimization** — remote caching, incremental builds, parallel execution
26- **Migration** — step-by-step multi-repo → monorepo with zero history loss
27- **Publishing** — changesets for versioning, pre-release channels, npm publish workflows
28- **Claude Code config** — workspace-aware CLAUDE.md with per-package instructions
29 
30---
31 
32## When to Use
33 
34Use when:
35- Multiple packages/apps share code (UI components, utils, types, API clients)
36- Build times are slow because everything rebuilds when anything changes
37- Migrating from multiple repos to a single repo
38- Need to publish packages to npm with coordinated versioning
39- Teams work across multiple packages and need unified tooling
40 
41Skip when:
42- Single-app project with no shared packages
43- Team/project boundaries are completely isolated (polyrepo is fine)
44- Shared code is minimal and copy-paste overhead is acceptable
45 
46---
47 
48## Tool Selection
49 
50| Tool | Best For | Key Feature |
51|---|---|---|
52| **Turborepo** | JS/TS monorepos, simple pipeline config | Best-in-class remote caching, minimal config |
53| **Nx** | Large enterprises, plugin ecosystem | Project graph, code generation, affected commands |
54| **pnpm workspaces** | Workspace protocol, disk efficiency | `workspace:*` for local package refs |
55| **Lerna** | npm publishing, versioning | Batch publishing, conventional commits |
56| **Changesets** | Modern versioning (preferred over Lerna) | Changelog generation, pre-release channels |
57 
58Most modern setups: **pnpm workspaces + Turborepo + Changesets**
59 
60---
61 
62## Turborepo
63→ See references/monorepo-tooling-reference.md for details
64 
65## Workspace Analyzer
66 
67```bash
68python3 scripts/monorepo_analyzer.py /path/to/monorepo
69python3 scripts/monorepo_analyzer.py /path/to/monorepo --json
70```
71 
72Also see `references/monorepo-patterns.md` for common architecture and CI patterns.
73 
74## Common Pitfalls
75 
76| Pitfall | Fix |
77|---|---|
78| Running `turbo run build` without `--filter` on every PR | Always use `--filter=...[origin/main]` in CI |
79| `workspace:*` refs cause publish failures | Use `pnpm changeset publish` — it replaces `workspace:*` with real versions automatically |
80| All packages rebuild when unrelated file changes | Tune `inputs` in turbo.json to exclude docs, config files from cache keys |
81| Shared tsconfig causes one package to break all type-checks | Use `extends` properly — each package extends root but overrides `rootDir` / `outDir` |
82| git history lost during migration | Use `git filter-repo --to-subdirectory-filter` before merging — never move files manually |
83| Remote cache not working in CI | Check TURBO_TOKEN and TURBO_TEAM env vars; verify with `turbo run build --summarize` |
84| CLAUDE.md too generic — Claude modifies wrong package | Add explicit "When working on X, only touch files in apps/X" rules per package CLAUDE.md |
85 
86---
87 
88## Best Practices
89 
901. **Root CLAUDE.md defines the map** — document every package, its purpose, and dependency rules
912. **Per-package CLAUDE.md defines the rules** — what's allowed, what's forbidden, testing commands
923. **Always scope commands with --filter** — running everything on every change defeats the purpose
934. **Remote cache is not optional** — without it, monorepo CI is slower than multi-repo CI
945. **Changesets over manual versioning** — never hand-edit package.json versions in a monorepo
956. **Shared configs in root, extended in packages** — tsconfig.base.json, .eslintrc.base.js, jest.base.config.js
967. **Impact analysis before merging shared package changes** — run affected check, communicate blast radius
978. **Keep packages/types as pure TypeScript** — no runtime code, no dependencies, fast to build and type-check
98 
View all files on GitHub →

Details

Updated
Aug 30, 2026
License
MIT
Stars on the repo
★ 26,349
Checked
Source
alirezarezvani/claude-skills ↗
Creator
alirezarezvani · 363 listings
View creator

Similar skills

See all →
SkillCreate branded architecture, architecture deltaDiagram designcathrynlavery/diagram-design · by cathrynlaveryCreate branded architecture, architecture delta, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, polar chart (polar/radial lollipop), loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, treemap and marimekko, heatmap, bar and dumbbell, waterfall, line (slopegraph, ridgeline, streamgraph, bump), Gantt and scatter charts (bubble, beeswarm), high-level, process, medallion, data flow, DP integration, DP security matrix, Sankey, fishbone, Wardley map, kanban, user journey, deployment, dependency graph, UML class, story map, or database schema diagrams as HTML/SVG/PNG, with .drawio, Mermaid, and .excalidraw import, plus lifecycle phase maps, block decomposition trees, and onboarding guidance.★ 43.2k GitHub starsSkillReview a PR against the Pascal architectural rulesReview architecturepascalorg/editor · by pascalorgReview a PR against the Pascal architectural rules — package boundaries (core/viewer/editor/nodes), the registry-driven composition model (def.geometry / def.renderer / def.system), legacy-dispatch regressions, the slots + world-scale-UV convention for new nodes/geometry, hook hygiene (useEditor/useScene/useViewer), and selector performance. Use when the user asks to review a PR, audit a branch, or check that changes respect the codebase's architecture.★ 24.6k GitHub starsSkillCreate and edit draw.io/diagrams.net diagramsDraw.io Architecture StudioAgents365-ai/drawio-skill · by Agents365-aiCreate and edit draw.io/diagrams.net diagrams as editable `.drawio` files. Covers architecture, UML/ERD/sequence, BPMN, network, and swimlane views authored from a description or converted from code, IaC, SQL, and API schemas, plus sync, query, test, review, export, and publish of existing diagrams. Use when the user asks for draw.io/diagrams.net or an editable diagram; prefer Mermaid/PlantUML when diagrams-as-code is enough.★ 9.8k GitHub starsSkillCreate polished dark-themed architecture diagramsArchitecture Diagram SkillCocoon-AI/architecture-diagram-generator · by Cocoon-AICreate polished dark-themed architecture diagrams as self-contained HTML+SVG files. Use when the user asks for system, infrastructure, cloud, security, or network topology diagrams.★ 7.4k GitHub starsSkillThe foundational knowledge distillation pattern for buildingLLM Wiki — Knowledge Distillation PatternAr9av/obsidian-wiki · by Ar9avThe foundational knowledge distillation pattern for building and maintaining an AI-powered Obsidian wiki. Based on Andrej Karpathy's LLM Wiki architecture. Use this skill whenever the user wants to understand the wiki pattern, set up a new knowledge base, or needs guidance on the three-layer architecture (raw sources → wiki → schema). Also use when discussing knowledge management strategy, wiki structure decisions, or how to organize distilled knowledge. This is the "theory" skill — other skills handle specific operations (ingesting, querying, linting).★ 3.5k GitHub starsSkillManage software complexity through deep modulesA Philosophy of Software Design Frameworkwondelai/skills · by wondelaiManage software complexity through deep modules, information hiding, and strategic programming. Use when the user mentions "module design", "API too complex", "shallow class", "complexity budget", "strategic vs tactical", "deep module", "information leakage", "pass-through method", "this code is over-engineered", or "simplify this design". Also trigger when reviewing an interface for simplicity, evaluating whether an abstraction is pulling its weight, deciding whether a comment is worth writing, or choosing between general-purpose and special-purpose approaches. Covers deep vs shallow modules, red flags for complexity, and comments as design documentation. For code quality, see clean-code. For architecture boundaries, see clean-architecture.★ 2.2k GitHub stars

More from alirezarezvani

SkillResume a paused experiment/ar:ar-resume — Resume Experimentalirezarezvani/claude-skills · by alirezarezvaniResume a paused experiment. Checkout the experiment branch, read results history, continue iterating. Use when the user runs /ar:ar-resume or asks to pick up a previously started autoresearch experiment.★ 26.3k GitHub starsSkillShow experiment dashboard with results, active loops/ar:ar-status — Experiment Dashboardalirezarezvani/claude-skills · by alirezarezvaniShow experiment dashboard with results, active loops, and progress. Use when the user runs /ar:ar-status or asks how an autoresearch experiment is going.★ 26.3k GitHub starsSkillStart an autonomous experiment loop with user-selected/ar:loop — Autonomous Experiment Loopalirezarezvani/claude-skills · by alirezarezvaniStart an autonomous experiment loop with user-selected interval (10min, 1h, daily, weekly, monthly). Uses CronCreate for scheduling. Use when the user runs /ar:loop or asks to run an autoresearch experiment continuously on a schedule.★ 26.3k GitHub starsSkillRun a single experiment iteration/ar:run — Single Experiment Iterationalirezarezvani/claude-skills · by alirezarezvaniRun a single experiment iteration. Edit the target file, evaluate, keep or discard. Use when the user runs /ar:run or asks for one manual autoresearch iteration.★ 26.3k GitHub starsSkillSet up a new autoresearch experiment interactively/ar:setup — Create New Experimentalirezarezvani/claude-skills · by alirezarezvaniSet up a new autoresearch experiment interactively. Collects domain, target file, eval command, metric, direction, and evaluator. Use when the user runs /ar:setup or asks to start optimizing a file with the autoresearch loop.★ 26.3k GitHub starsSkill/cs:boardroom <brief/cs:boardroom — Multi-Role Boardroom Deliberationalirezarezvani/claude-skills · by alirezarezvani/cs:boardroom <brief> — 6-phase multi-role deliberation across the C-suite with Phase 2 isolation, critic pre-screen, and synthesis. Outputs a board memo. Use when a decision spans multiple executive domains — e.g. a pricing change touching finance, positioning, and product, or a raise-vs-cut runway call.★ 26.3k GitHub stars