mcpField
M
monorepo-management

monorepo-management

github.com/aj-geddes開発375448 回インストール35 週間前に更新
リポジトリ

monorepo-management について

複数の相互依存パッケージを持つモノレポの構成、ビルド、依存関係、デプロイを扱うスキルです。npm workspaces、Lerna、Turborepo、Nxの設定とワークフローのガイドを含みます。

主な機能

  1. 01ワークスペースとディレクトリ構成ガイド
  2. 02パッケージ間の依存関係管理
  3. 03Lerna、Turborepo、Nxの設定
  4. 04CI/CDとビルドキャッシュのガイド
  5. 05パッケージのバージョン管理

活用シーン

  1. 01マルチパッケージプロジェクトの構成
  2. 02サービス間でのライブラリ共有
  3. 03ワークスペース依存関係の管理
  4. 04変更の影響を受けるパッケージだけをビルド

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/aj-geddes/useful-ai-prompts --skill monorepo-management

インストール後、Claude Code で/monorepo-managementを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
cicd-for-monorepo.md
lerna-commands.md
monorepo-directory-structure.md
npm-workspaces-configuration.md
turborepo-commands.md
version-management-across-packages.md
workspace-dependencies.md
scripts/
validate-pipeline.sh
templates/
pipeline.yaml

詳細

モノレポの管理

目次

概要

ビルド効率、依存関係の管理、デプロイの調整を維持しながら、相互に依存する複数のパッケージをサポートする、スケーラブルなモノレポ構造を構築します。

使用する場面

  • 複数パッケージのプロジェクト
  • サービス間で共有するライブラリ
  • マイクロサービスアーキテクチャ
  • プラグインベースのシステム
  • マルチアプリプラットフォーム(ウェブ+モバイル)
  • ワークスペースの依存関係管理
  • チーム開発の拡大

クイックスタート

最小限の動作例:

{
  "name": "monorepo-root",
  "version": "1.0.0",
  "private": true,
  "workspaces": ["packages/*", "apps/*"],
  "devDependencies": {
    "lerna": "^7.0.0",
    "turbo": "^1.10.0"
  },
  "scripts": {
    "lint": "npm run lint -r",
    "test": "npm run test -r",
    "build": "npm run build -r",
    "clean": "npm run clean -r"
  }
}

リファレンスガイド

references/ ディレクトリにある詳細な実装ガイド:

ガイド内容
Npm Workspaces の設定Npm Workspaces の設定、Lerna の設定、Turborepo の設定、Nx Workspace の設定
モノレポのディレクトリ構造モノレポのディレクトリ構造
ワークスペースの依存関係ワークスペースの依存関係
Lerna コマンドLerna コマンド
Turborepo コマンドTurborepo コマンド
モノレポの CI/CDモノレポの CI/CD
パッケージ間のバージョン管理パッケージ間のバージョン管理

ベストプラクティス

✅ 推奨事項
  • 依存関係にはワークスペースプロトコルを使用します
  • 一貫性を保つため、共有の tsconfig を導入します
  • CI/CD でビルド成果物をキャッシュします
  • 不要なビルドを避けるため、CI でパッケージをフィルタリングします
  • 共通の依存関係をホイストします
  • ワークスペースの構成を文書化します
  • 一貫したバージョニング戦略を使用します
  • ワークスペース全体でコミット前フックを導入します
  • パッケージ間の依存関係をテストします
  • 適切な場合は、パッケージを個別にバージョン管理します
❌ 避けるべきこと
  • 循環依存関係を作成すること
  • ワークスペース内のパッケージにハードコードされたバージョンを使用すること
  • 1つのパッケージだけが変更された場合に、すべてのパッケージをビルドすること
  • ロックファイルの更新を忘れること
  • ワークスペースの境界を無視すること
  • 密結合したパッケージを作成すること
  • 依存関係の管理を省略すること
  • パッケージごとに異なるツールを使用すること

コメント