jpskill.com
🛠️ 開発・MCP コミュニティ

monorepo-manager

npm workspaces、pnpm、Yarn、Turborepo、Nxなどを利用したモノレポで、パッケージ間の依存関係や設定を管理し、バージョン同期や競合解消、ビルド順序設定などを効率化するSkill。

📜 元の英語説明(参考)

Manage dependencies, workspace configurations, and cross-package relationships in monorepos using npm workspaces, pnpm, Yarn, Turborepo, or Nx. Use when syncing dependency versions across packages, resolving version conflicts, analyzing the dependency graph, or setting up build orchestration. Trigger words: monorepo, workspace, dependency sync, version conflict, turborepo, nx, pnpm workspace, cross-package, internal dependency.

🇯🇵 日本人クリエイター向け解説

一言でいうと

npm workspaces、pnpm、Yarn、Turborepo、Nxなどを利用したモノレポで、パッケージ間の依存関係や設定を管理し、バージョン同期や競合解消、ビルド順序設定などを効率化するSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o monorepo-manager.zip https://jpskill.com/download/15141.zip && unzip -o monorepo-manager.zip && rm monorepo-manager.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/15141.zip -OutFile "$d\monorepo-manager.zip"; Expand-Archive "$d\monorepo-manager.zip" -DestinationPath $d -Force; ri "$d\monorepo-manager.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して monorepo-manager.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → monorepo-manager フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-18
取得日時
2026-05-18
同梱ファイル
1

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

Monorepo Manager

概要

Monorepo の依存関係グラフを分析、保守、最適化します。パッケージ間のバージョン不一致を検出し、共有依存関係を同期し、ビルドパイプラインを構成し、チームの速度を低下させるワークスペースの競合を解決します。

手順

1. Monorepo 構造の検出

使用中の monorepo ツールを特定します。

  • pnpm-workspace.yaml の有無を確認 → pnpm workspaces
  • package.json"workspaces" を確認 → npm/yarn workspaces
  • turbo.json の有無を確認 → Turborepo
  • nx.json の有無を確認 → Nx
  • lerna.json の有無を確認 → Lerna (レガシー)

すべてのパッケージをマッピングします。

Monorepo: pnpm workspaces + Turborepo
パッケージ (14):
  apps/
    web          → Next.js 14 アプリ
    api          → Express サーバー
    admin        → React 管理パネル
  packages/
    ui           → 共有コンポーネントライブラリ
    config       → ESLint/TS 設定
    database       → Prisma スキーマ + クライアント
    utils        → 共有ユーティリティ
    types        → TypeScript 型定義

2. 依存関係のバージョン監査

すべての package.json ファイルをスキャンし、不一致にフラグを立てます。

## 依存関係のバージョンの不一致

| パッケージ    | apps/web | apps/api | apps/admin | packages/ui |
|------------|----------|----------|------------|-------------|
| react      | 18.3.1   | —        | 18.2.0 ⚠️  | 18.3.1      |
| typescript | 5.4.2    | 5.3.3 ⚠️ | 5.4.2      | 5.4.2       |
| zod        | 3.22.4   | 3.21.1 ⚠️| —          | —           |

14 個のパッケージ全体で 3 つの不一致が見つかりました。

3. 競合の解決

不一致ごとに、修正を推奨して適用します。

  • 標準化するバージョンを特定します (通常は最新)
  • バージョン間の破壊的変更を確認します
  • すべての package.json ファイルを更新します
  • 適切なインストールコマンドを実行します
  • ビルドがまだ成功することを確認します

4. 内部依存関係グラフの分析

どのパッケージがどのパッケージに依存しているかをマッピングします。

packages/types ← packages/utils ← packages/ui ← apps/web
                                                ← apps/admin
               ← packages/database ← apps/api

循環依存にフラグを立て、抽出ポイントを提案します。

5. ビルド構成の最適化

Turborepo/Nx の場合、以下を確認します。

  • ビルドタスクが正しい dependsOn 関係を宣言している
  • キャッシュが可能なすべてのタスクに対してキャッシュが構成されている
  • 変更時に影響を受けるパッケージのみがリビルドされる
  • CI パイプラインがリモートキャッシュを使用する

例 1: React バージョンの同期

入力: 「当社の monorepo には、異なる React バージョンを使用している 6 つのアプリがあります。それらをすべて同期してください。」

出力:

React のバージョンの不一致が見つかりました:

| パッケージ       | 現在 | ターゲット |
|---------------|---------|--------|
| apps/web      | 18.3.1  | 18.3.1 ✅ |
| apps/admin    | 18.2.0  | 18.3.1 ⬆️ |
| apps/mobile   | 18.2.0  | 18.3.1 ⬆️ |
| packages/ui   | 18.3.1  | 18.3.1 ✅ |

2 つの package.json ファイルを更新しました。適用するには `pnpm install` を実行してください。

18.2→18.3 の破壊的変更: なし (パッチリリース)。
すべてのパッケージがコンパイルされることを確認するために、`pnpm turbo build` を実行することをお勧めします。

例 2: 共有依存関係の追加

入力: 「date-fns を packages/utils に追加し、すべてのアプリが同じバージョンを使用するようにしてください」

出力:

現在の date-fns の使用状況:
- apps/web: date-fns@3.3.1
- apps/api: date-fns@2.30.0 (メジャーバージョンが遅れています!)
- apps/admin: インストールされていません

計画:
1. date-fns@3.6.0 を packages/utils に追加します
2. apps/web を 3.3.1 → 3.6.0 にアップグレードします
3. apps/api を 2.30.0 → 3.6.0 にアップグレードします (破壊的変更 — 移行ノートを参照)
4. apps から直接 date-fns の依存関係を削除し、packages/utils 経由でインポートします

⚠️ date-fns v2→v3 の破壊的変更:
- 名前付きエクスポートのみ (デフォルトインポートなし)
- `format` トークンが変更されました: `DD` → `dd`、`YY` → `yy`

4 つの package.json ファイルを更新しました。apps/api で v3 の移行を確認してください。

ガイドライン

  • 変更を加える前に、常に完全な依存関係グラフをマッピングしてください
  • メジャーバージョンを上げる前に、破壊的変更を確認してください
  • 可能な場合は、共有依存関係をルートにホイストすることを優先してください
  • バージョン固定には、pnpm で catalog: プロトコルを使用するか、yarn で resolutions を使用してください
  • 依存関係を変更した後は、影響を受けるすべてのパッケージでビルドを確認してください
  • パッケージ間の循環依存はコードのにおいです — 抽出を提案してください
  • 大規模な monorepo (50 以上のパッケージ) の場合は、最も影響の大きい不一致を最初に優先してください
  • 内部パッケージは、固定バージョンではなく workspace:* プロトコルを使用する必要があります
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

Monorepo Manager

Overview

Analyze, maintain, and optimize monorepo dependency graphs. Detect version mismatches across packages, sync shared dependencies, configure build pipelines, and resolve workspace conflicts that slow teams down.

Instructions

1. Detect monorepo structure

Identify the monorepo tool in use:

  • Check for pnpm-workspace.yaml → pnpm workspaces
  • Check package.json for "workspaces" → npm/yarn workspaces
  • Check for turbo.json → Turborepo
  • Check for nx.json → Nx
  • Check for lerna.json → Lerna (legacy)

Map all packages:

Monorepo: pnpm workspaces + Turborepo
Packages (14):
  apps/
    web          → Next.js 14 app
    api          → Express server
    admin        → React admin panel
  packages/
    ui           → Shared component library
    config       → ESLint/TS configs
    database     → Prisma schema + client
    utils        → Shared utilities
    types        → TypeScript type definitions

2. Audit dependency versions

Scan all package.json files and flag mismatches:

## Dependency Version Mismatches

| Package    | apps/web | apps/api | apps/admin | packages/ui |
|------------|----------|----------|------------|-------------|
| react      | 18.3.1   | —        | 18.2.0 ⚠️  | 18.3.1      |
| typescript | 5.4.2    | 5.3.3 ⚠️ | 5.4.2      | 5.4.2       |
| zod        | 3.22.4   | 3.21.1 ⚠️| —          | —           |

3 mismatches found across 14 packages.

3. Resolve conflicts

For each mismatch, recommend and apply fixes:

  • Identify which version to standardize on (usually latest)
  • Check for breaking changes between versions
  • Update all package.json files
  • Run the appropriate install command
  • Verify build still passes

4. Analyze internal dependency graph

Map which packages depend on which:

packages/types ← packages/utils ← packages/ui ← apps/web
                                                ← apps/admin
               ← packages/database ← apps/api

Flag circular dependencies and suggest extraction points.

5. Optimize build configuration

For Turborepo/Nx, ensure:

  • Build tasks declare correct dependsOn relationships
  • Caching is configured for all cacheable tasks
  • Only affected packages rebuild on changes
  • CI pipeline uses remote caching

Examples

Example 1: Sync React versions

Input: "Our monorepo has 6 apps using different React versions. Sync them all."

Output:

Found React version mismatches:

| Package       | Current | Target |
|---------------|---------|--------|
| apps/web      | 18.3.1  | 18.3.1 ✅ |
| apps/admin    | 18.2.0  | 18.3.1 ⬆️ |
| apps/mobile   | 18.2.0  | 18.3.1 ⬆️ |
| packages/ui   | 18.3.1  | 18.3.1 ✅ |

Updated 2 package.json files. Run `pnpm install` to apply.

Breaking changes in 18.2→18.3: None (patch release).
Recommend running `pnpm turbo build` to verify all packages compile.

Example 2: Add shared dependency

Input: "Add date-fns to packages/utils and make sure all apps use the same version"

Output:

Current date-fns usage:
- apps/web: date-fns@3.3.1
- apps/api: date-fns@2.30.0 (major version behind!)
- apps/admin: not installed

Plan:
1. Add date-fns@3.6.0 to packages/utils
2. Upgrade apps/web from 3.3.1 → 3.6.0
3. Upgrade apps/api from 2.30.0 → 3.6.0 (breaking changes — see migration notes)
4. Remove direct date-fns deps from apps, import via packages/utils

⚠️ date-fns v2→v3 breaking changes:
- Named exports only (no default import)
- `format` tokens changed: `DD` → `dd`, `YY` → `yy`

Updated 4 package.json files. Review the v3 migration in apps/api.

Guidelines

  • Always map the full dependency graph before making changes
  • Check for breaking changes before bumping major versions
  • Prefer hoisting shared deps to the root when possible
  • Use catalog: protocol in pnpm or resolutions in yarn for version pinning
  • After any dependency change, verify builds across all affected packages
  • Circular dependencies between packages are a code smell — suggest extraction
  • For large monorepos (50+ packages), prioritize the most impactful mismatches first
  • Internal packages should use workspace:* protocol, not pinned versions