💻 Claude Code入門 📖 約20分で読めます

大規模プロジェクトでのClaude Code活用戦略

大規模コードベースでの効率的なAI活用パターンとベストプラクティス

クロガイド

クロガイド|Claude&Claude Codeを無料で学ぼう

AI基礎からプロンプト術、Claude Codeの使い方まで。知識レッスンとクイズ式トレーニングで、AIスキルを段階的にアップ。ユーザー登録不要、すべて無料で今すぐ始められます。

はじめに

個人の小さなプロジェクトではClaude Codeは直感的に使えます。しかし、数百ファイル・数万行規模のプロジェクトになると、「どのファイルを見ればいいかわからない」「全体像を把握しきれない」といった課題が出てきます。

この記事では、大規模プロジェクトでClaude Codeを効果的に活用するための戦略を、実際のケーススタディを交えて解説します。

大規模プロジェクトの課題

大規模プロジェクトでAIコーディングアシスタントを使う際の主な課題を整理しましょう。

課題原因影響
コンテキスト不足全ファイルを一度に読み込めない関連コードを見落とし、不整合なコードを生成
依存関係の複雑さファイル間の依存が多い変更が他の部分に波及してバグを生む
規約の一貫性プロジェクト固有のルールが多い既存コードと異なるスタイルで生成される
ファイル探索の遅延不要ファイルまでスキャンする応答が遅くなり、ノイズが増える
コスト増大大量のファイル読み込みでトークン消費API利用料金が跳ね上がる

これらの課題に対して、以下の戦略を組み合わせることで対処できます。

CLAUDE.mdでプロジェクト全体像を伝える

大規模プロジェクトではCLAUDE.mdの充実が最も重要な施策です。AIがプロジェクト全体を理解するための「地図」を提供しましょう。

大規模プロジェクト向けCLAUDE.mdテンプレート

# CLAUDE.md

## プロジェクト概要
- 名前: ECサイト管理システム
- 技術スタック: Laravel 11 + Vue 3 + MySQL
- アーキテクチャ: クリーンアーキテクチャ(Domain/UseCase/Infrastructure/Presentation)

## ディレクトリ構成(重要な部分のみ)
```
app/
├── Domain/          # ビジネスロジック(エンティティ、値オブジェクト、リポジトリI/F)
├── UseCase/         # ユースケース(アプリケーションサービス)
├── Infrastructure/  # 外部連携(DB実装、API、メール)
└── Presentation/    # UI層(コントローラー、リクエスト、リソース)
```

## コーディング規約
- PSR-12準拠
- リポジトリパターンでDB層を抽象化
- ユースケースは必ずCommand/Queryパターン
- テストは各UseCase単位で記述

## 主要モジュール
- 商品管理: app/Domain/Product/
- 注文管理: app/Domain/Order/
- ユーザー管理: app/Domain/User/
- 決済: app/Infrastructure/Payment/

## よくある作業パターン
- 新機能追加: Domain → UseCase → Infrastructure → Presentation の順で実装
- バグ修正: テストで再現 → 修正 → テスト確認

CLAUDE.mdの階層配置

大規模プロジェクトでは、ルートだけでなく各ディレクトリにもCLAUDE.mdを配置できます。

  • ルートのCLAUDE.md:プロジェクト全体の概要、技術スタック、規約
  • サブディレクトリのCLAUDE.md:そのモジュール固有のルールや注意点
  • Claude Codeは作業対象ディレクトリの親階層まで遡ってCLAUDE.mdを読む

フォーカスしたファイル参照

大規模プロジェクトでは「全部読んで」は通用しません。関連ファイルをピンポイントで指定する技術が重要です。

効果的な参照方法

# 悪い例:曖昧な参照
「商品の在庫管理を修正して」

# 良い例:具体的なファイルパスとコンテキスト
「app/Domain/Product/StockService.phpのdecrement()メソッドを修正してください。
関連ファイル:
- app/Domain/Product/Stock.php(在庫エンティティ)
- app/UseCase/Order/PlaceOrderUseCase.php(呼び出し元)
- tests/Unit/Domain/Product/StockServiceTest.php(テスト)
問題:在庫が0未満になるケースがある。」

関連ファイル特定のコツ

方法コマンド例用途
grepで使用箇所を探すgrep -r "StockService" app/クラスの参照元を特定
gitログで関連変更を確認git log --oneline app/Domain/Product/最近の変更履歴から関連ファイルを特定
テストファイルから仕様を把握テストファイルを指定して読ませる期待される挙動の確認

モジュール単位の作業分割

大きな機能追加は、モジュール(レイヤー)単位で分割して作業しましょう。

クリーンアーキテクチャでの作業手順

  1. セッション1 - Domain層:エンティティ、値オブジェクト、リポジトリインターフェースを定義
  2. セッション2 - UseCase層:ビジネスロジックをユースケースクラスとして実装
  3. セッション3 - Infrastructure層:DBリポジトリの実装、外部API連携
  4. セッション4 - Presentation層:コントローラー、リクエストバリデーション、レスポンス
  5. セッション5 - テスト:各レイヤーのユニットテスト、結合テスト

各セッションでは、そのレイヤーに関連するファイルだけを参照すれば良いため、コンテキストを効率的に使えます。

セッション管理戦略

大規模プロジェクトでは、セッション間の情報の引き継ぎが重要です。

引き継ぎパターン

方法1: CLAUDE.mdのTODOセクション

# CLAUDE.md に追記

## 現在の作業(自動更新)
- [x] 商品エンティティの設計
- [x] 在庫管理のユースケース実装
- [ ] 在庫のDB永続化(リポジトリ実装)
- [ ] APIエンドポイント作成
- [ ] テスト作成

方法2: --continueで前のセッションを再開

# 前回のセッションを再開
claude --continue

# 最新のセッションではなく特定のセッションを再開
claude --resume

方法3: セッション開始時に前回の要約を伝える

# 新セッション開始時に文脈を伝える
claude
> 前回のセッションで在庫管理のUseCase層まで実装しました。
> 今回はInfrastructure層(app/Infrastructure/Product/)を実装します。
> 参照:app/Domain/Product/StockRepositoryInterface.php

エージェント・サブエージェントの活用

Claude Codeはタスクの一部をサブエージェントに委任できます。これを活用すると、大規模な作業を並列的に処理できます。

サブエージェントが有効なケース

  • 複数ファイルの調査:「このインターフェースを実装しているクラスをすべて見つけて」
  • パターン適用:「すべてのコントローラーにCSRFチェックを追加して」
  • テスト生成:「app/UseCase/配下の全ファイルにテストを生成して」
  • コードレビュー:「直近のコミットの変更をレビューして」

Claude Codeが自動的にサブエージェントを使うかどうかはタスクの内容によりますが、明示的に「サブタスクに分割して処理して」と指示することも可能です。

Worktreeで並列開発

Git worktreeを使うと、同じリポジトリの複数ブランチを同時に作業できます。Claude Codeの複数インスタンスをworktreeごとに起動すれば、並列開発が可能です。

Worktreeの活用手順

  1. worktreeを作成git worktree add ../project-feature-auth feature/auth
  2. 別のworktreeを作成git worktree add ../project-feature-api feature/api
  3. それぞれのworktreeでClaude Codeを起動
  4. 各インスタンスが独立して作業:互いに干渉しない
  5. 作業完了後にマージ:通常のGitワークフローで統合
# Worktree作成
git worktree add .claude/worktrees/auth-feature feature/auth
git worktree add .claude/worktrees/api-refactor feature/api-refactor

# 各worktreeでClaude Codeを起動(別ターミナルで)
cd .claude/worktrees/auth-feature && claude
cd .claude/worktrees/api-refactor && claude

# 作業完了後にworktreeを削除
git worktree remove .claude/worktrees/auth-feature

.claudeignoreパターン

Claude Codeが不要なファイルを読み込まないようにするには、.gitignoreの整備が基本です。さらに.claudeignoreファイルで、Gitには追跡するがClaude Codeには不要なファイルを除外できます。

大規模プロジェクト向け除外パターン

# .gitignore(基本の除外)
node_modules/
vendor/
dist/
build/
*.log
.env
*.sqlite

# Claude Code向け追加除外
# (.claudeignoreまたはプロンプトで指定)
docs/api-reference/     # 大量の自動生成ドキュメント
storage/                # ストレージディレクトリ
public/assets/          # コンパイル済みアセット
database/seeders/data/  # 大量のシードデータ
tests/fixtures/         # 大きなテストフィクスチャ

モノレポ戦略

フロントエンド・バックエンド・共通ライブラリなどを1つのリポジトリで管理するモノレポでは、特別な工夫が必要です。

モノレポでのClaude Code活用ポイント

  • 作業ディレクトリを限定claudeをサブディレクトリから起動して、スコープを限定する
  • パッケージ単位のCLAUDE.md:各パッケージにCLAUDE.mdを配置し、そのパッケージの情報を記載
  • 共通ライブラリの明示:「packages/shared/を変更するときはフロント・バックの両方に影響する」とCLAUDE.mdに明記
# モノレポの構成例
monorepo/
├── CLAUDE.md              # 全体の概要
├── packages/
│   ├── frontend/
│   │   ├── CLAUDE.md      # フロントエンド固有の情報
│   │   └── ...
│   ├── backend/
│   │   ├── CLAUDE.md      # バックエンド固有の情報
│   │   └── ...
│   └── shared/
│       ├── CLAUDE.md      # 共通ライブラリの注意点
│       └── ...

# バックエンドの作業をする場合
cd packages/backend && claude

ケーススタディ

ケース1: ECサイトに新しい決済手段を追加

プロジェクト規模: 500ファイル、5万行

セッション作業内容参照ファイル
1決済インターフェース設計Domain/Payment/PaymentGatewayInterface.php
2Stripe決済実装Infrastructure/Payment/StripeGateway.php
3ユースケース統合UseCase/Order/ProcessPaymentUseCase.php
4APIエンドポイントPresentation/Api/PaymentController.php
5テスト作成tests/Unit/Payment/, tests/Feature/Payment/

成果:各セッション15〜20分、合計1.5時間で実装完了。コンテキストオーバーフローなし。

ケース2: レガシーPHPアプリのリファクタリング

プロジェクト規模: 300ファイル、コーディング規約なし

戦略:CLAUDE.mdに「現在のコード品質」と「目標の品質」を記載し、ファイル単位でリファクタリング

# CLAUDE.mdに記載した内容
## リファクタリング方針
- 現状:生のSQLクエリ、グローバル変数、関数ベース
- 目標:PDOプリペアドステートメント、クラスベース、PSR-4
- 手順:1ファイルずつ変換、テスト追加、動作確認
- 優先順位:1)セキュリティ問題 2)保守性 3)パフォーマンス

成果:1日10〜15ファイルのペースでリファクタリング。各ファイルを独立したセッションで処理し、CLAUDE.mdのチェックリストで進捗を管理。

まとめ

大規模プロジェクトでClaude Codeを効果的に使うための重要ポイント:

  • CLAUDE.mdを充実させる:プロジェクトの「地図」を提供し、AIが全体像を把握できるようにする
  • ファイル参照をピンポイントに:関連ファイルを具体的なパスで指定し、コンテキストを効率的に使う
  • モジュール単位で作業:大きなタスクをレイヤーや機能単位で分割し、各セッションのスコープを限定する
  • セッション間の引き継ぎ:CLAUDE.mdのTODO、--continue、セッション冒頭の要約で文脈を引き継ぐ
  • 不要ファイルの除外:.gitignoreと.claudeignoreでノイズを減らし、AIの精度とスピードを向上
  • worktreeの活用:複数ブランチの並列開発で開発速度を加速

規模に関わらず、核心は「AIに適切な範囲の情報を、適切なタイミングで与える」ことです。これを意識するだけで、大規模プロジェクトでもClaude Codeの力を最大限に引き出せます。

Claude Code入門の他のガイド

Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeの権限設定(パーミッション)完全ガイド
セキュリティと利便性を両立する権限管理の全知識 ・ 約18分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート ・ 約25分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する ・ 約22分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける
/compactの仕組み・使いどころ・カスタム指示を完全網羅 ・ 約15分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分

Claude Code入門のレッスンも読む

読んだら、次はクイズで確認!

トレーニングで学んだ知識を定着させましょう。

Claude Code入門のトレーニングへ