Skip to content

モノレポ管理をClaudeと効率化する

モノレポは複数のパッケージやアプリを一元管理できる強力な構成ですが、依存関係の把握やスクリプトの管理が複雑になりがちです。Claude Codeをうまく活用すれば、そのコストを大幅に削減できます。

モノレポの全体構造をClaudeに把握させる

Section titled “モノレポの全体構造をClaudeに把握させる”

まず、プロジェクトのルートでClaude Codeを起動し、構造を一気に説明させましょう。たとえば次のように指示します。

このリポジトリのpnpm-workspace.yamlとpackage.jsonを読んで、
パッケージ間の依存関係を整理してください。

Claude Codeはワークスペース定義ファイルを読み込み、どのパッケージがどこに依存しているかをまとめてくれます。Turborepoを使っている場合は turbo.json も合わせて渡すと、タスクパイプラインまで含めた全体像を把握させることができます。

リポジトリ: Gitでコードと変更履歴を管理するフォルダ。GitHubなどのサービスで共有できる。モノレポ: 複数のパッケージやアプリを1つのリポジトリで管理する構成。npm: Node.jsのパッケージ管理ツール。`npm install` でライブラリをインストールする。

モノレポで最も手間がかかるのが、共通パッケージの変更が各アプリに与える影響の確認です。たとえば packages/ui のコンポーネントAPIを変更するとき、次のように依頼してみてください。

packages/ui/src/Button.tsxのprops型を変更します。
variantプロパティにoutlinedを追加してください。
その変更がapps/以下のどのファイルに影響するか調べて、
必要なら修正まで行ってください。

Claude Codeはワークスペース全体を横断してimport箇所を検索し、型エラーが発生するファイルをまとめて修正してくれます。pnpm --filter を使った個別ビルドで確認する前に、Claudeに影響範囲を洗い出させるのが効率的です。

Terminal window
# Claudeが修正したあとに実際にビルドして確認
pnpm --filter "@myapp/web" build
API: Application Programming Interface の略。外部サービスとプログラム間でデータをやりとりするための接続口。

新規パッケージの追加をテンプレート化する

Section titled “新規パッケージの追加をテンプレート化する”

新しいパッケージを追加するたびに package.jsontsconfig.json を手書きするのは面倒です。既存パッケージの構成をClaudeに学習させて、一発で生成してもらいましょう。

packages/utilsと同じ構成で、packages/validatorsという
新しいパッケージを作成してください。
- pnpm workspacesに認識されるpackage.json
- 共通tsconfig.jsonを継承するtsconfig.json
- turborepoのpipelineに組み込まれるよう設定

モノレポの複雑さはClaude Codeの「コンテキストを広く持てる」強みと非常に相性が良いです。ぜひ日常のワークフローに組み込んでみてください。

CLAUDE.md: プロジェクトのルートに置くClaude Code専用の設定ファイル。プロジェクト固有のルールやコンテキストを記述する。コンテキスト: Claudeが一度に記憶・参照できる会話・コードの範囲。上限を超えると古い情報が失われる。