monorepo-navigator について
monorepo-navigatorは、Turborepo、Nx、pnpm workspaces、Changesetsを使うチーム向けのスキルです。パッケージ間の影響分析、対象を絞った実行、ビルドキャッシュ、連携した公開を扱います。
主な機能
- 01パッケージ間の影響分析
- 02影響を受けるパッケージの検出
- 03対象を絞ったビルドとテスト
- 04リモートビルドキャッシュ
- 05連携したバージョン管理と公開
活用シーン
- 01共有パッケージ変更の波及範囲を追跡
- 02CIで影響のないパッケージを除外
- 03キャッシュとインクリメンタルビルドの設定
- 04npmパッケージのリリースを調整
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ borghei/ claude-skills --skill monorepo-navigatorインストール後、Claude Code で/monorepo-navigatorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/operations-and-best-practices.mdtooling-and-configuration.mdscripts/dependency_graph.pyimpact_detector.pypackage_analyzer.py詳細
モノレポナビゲーター
あらゆる規模のモノレポを管理・最適化し、自在に操作できます。Turborepo、Nx、pnpm ワークスペース、Lerna/Changesets に対応し、パッケージをまたいだ影響分析、影響を受けるパッケージのみを対象とする選択的ビルド、依存関係グラフの可視化、リモートキャッシュの設定、git 履歴を維持したマルチレポからモノレポへの移行、自動変更履歴を使ったパッケージの一括公開をサポートします。
キーワード: monorepo、Turborepo、Nx、pnpm workspaces、Changesets、依存関係グラフ、リモートキャッシュ、影響を受けるパッケージ、選択的ビルド、パッケージ間の影響、npm 公開、ワークスペースプロトコル
主な機能
- 影響分析 — 共有パッケージの変更によってどのアプリが壊れるかを特定し、依存関係の連鎖をたどり、Mermaid グラフで可視化し、影響範囲を算出します。
- 選択的な実行 — 影響を受けるパッケージのみテスト/ビルドを実行し、git の参照以降に変更されたファイルで絞り込み、CI では変更のないパッケージをスキップします。
- ビルドの最適化 — リモートキャッシュ(Turborepo/Vercel、Nx Cloud)、入出力設定によるインクリメンタルビルド、依存関係を考慮した並列スケジューリング、成果物の共有に対応します。
- 公開 — Changesets による一括バージョン管理、パッケージごとの変更履歴の自動生成、プレリリース用チャンネル、公開時の
workspace:*の置き換えに対応します。
使用する場面
- 複数のパッケージ/アプリでコード(UI コンポーネント、ユーティリティ、型、API クライアント)を共有している
- 変更のたびにすべてが再ビルドされ、ビルド時間が長い
- 複数のリポジトリから単一のモノレポへ移行する
- npm パッケージをバージョンをそろえて公開する
- チームが複数のパッケージにまたがって作業し、ツールを統一する必要がある
最初に確認すること
分析や設定の前に、以下の入力情報を確認してください。不明または曖昧な項目があれば、推測せずに質問してください。
- ツール — Turborepo、Nx、pnpm workspaces、Changesets のいずれか(生成する設定やコマンドを左右します)
- タスク — 影響/依存関係の分析、ビルドの最適化、公開設定のいずれか(
dependency_graph.py、impact_detector.py、package_analyzer.pyのどれを使うかを決めます) - リポジトリのルートと git 参照 — モノレポのパスと、「影響を受ける」項目を検出する基準となる参照(
--refと変更の判定基準を決めます)
停止ルール:出力を大きく左右する2〜3項目だけを質問してください。ユーザーが「とりあえず下書きを作って」と言った場合は作業を進め、成果物の冒頭に前提を記載してください。
ツール
| ツール | 用途 | コマンド |
|---|---|---|
dependency_graph.py | 内部パッケージの依存関係を Mermaid グラフとして生成します | python scripts/dependency_graph.py . --focus @repo/ui --direction dependents |
impact_detector.py | ファイル変更の影響を受けるパッケージを検出します | python scripts/impact_detector.py . --ref origin/main --affected-only |
package_analyzer.py | パッケージの構造、依存関係、健全性を分析します | python scripts/package_analyzer.py . --only-shared |
参考資料
タスクに合った参考資料を読み込んでください。このファイルは簡潔に保ち、必要に応じて詳細を参照します。
- references/tooling-and-configuration.md — ツール選択の判断表、推奨リポジトリ構成、turbo.json と pnpm-workspace の完全な設定、主要な Turborepo/pnpm コマンド、影響分析コマンド、リモートキャッシュの設定、影響を受ける項目のみを対象とする CI ワークフロー、Changesets による公開、マルチレポからモノレポへの移行手順。モノレポを設定または運用する際に読んでください。
- references/operations-and-best-practices.md — よくある落とし穴、ベストプラクティス、トラブルシューティング表、成功基準。動作に問題がある場合や設定を検証する場合に読んでください。
対象範囲と制限事項
このスキルの対象:
- Turborepo、Nx、pnpm のワークスペース設定と最適化
- パッケージ間の依存関係分析と影響の可視化
- リモートキャッシュの設定(Vercel、Nx Cloud、セルフホスト)
- Changesets に基づく連携したバージョン管理と npm パブリッシング
このスキルの対象外:
- アプリケーションレベルのビルド設定(webpack、Vite、esbuild の内部)—
performance-profilerを参照 - モノレポ固有のフィルターを超える CI/CD パイプラインの設計 —
ci-cd-pipeline-builderを参照 - Git のブランチ戦略とリリースフロー —
release-managerを参照 - 依存関係の脆弱性スキャンとライセンス監査 —
dependency-auditorを参照
統合ポイント
| スキル | 統合 | データフロー |
|---|---|---|
ci-cd-pipeline-builder | モノレポに対応した CI ワークフローでは、--filter フラグとリモートキャッシュトークンを使用します | Monorepo Navigator が、CI パイプラインで使用するフィルターパターンとキャッシュ設定を定義します |
release-manager | Changesets によるバージョン管理をリリースオーケストレーションとタグ管理に取り込みます | Release Manager が、リリースフローの一環として changeset version と changeset publish を実行します |
dependency-auditor | ワークスペースの依存関係グラフを、脆弱性スキャンとライセンススキャンの対象範囲に活用します | Monorepo Navigator がパッケージの依存関係ツリーをエクスポートし、Dependency Auditor が分析します |
performance-profiler | ビルドのプロファイリングデータから、最適化が必要な低速パッケージを特定します | Performance Profiler が、Turborepo の --summarize で取得したパッケージごとのビルド時間を測定します |
changelog-generator | Changesets がパッケージごとの変更履歴を生成し、リリースノートに活用します | Changeset の概要を Changelog Generator に渡し、形式を整えたリリースドキュメントを作成します |
tech-debt-tracker | パッケージ間の結合と循環依存関係を、追跡対象の技術的負債として洗い出します | Monorepo Navigator の影響分析で特定した結合の集中箇所を、Tech Debt Tracker が記録します |