Claude Codeを日常的に使い始めると、複数プロジェクトをどう管理するかという課題に直面します。フロントエンド・バックエンド・インフラのリポジトリが別々にあったり、業務用と個人開発で使い分けたいケースは珍しくありません。
本記事では、Claude Codeの「Claude Code 完全攻略」シリーズ第19回として、ワークスペース管理とマルチプロジェクト運用のベストプラクティスを解説します。CLAUDE.mdの設計パターン、コンテキスト分離の手法、チーム開発での活用法まで、実践的なノウハウをまとめました。

Claude Codeにおけるワークスペースとは
Claude Codeのワークスペースとは、Claude Codeが認識する作業ディレクトリとそのコンテキスト全体を指します。Claude Codeをプロジェクトのルートディレクトリで起動すると、そのディレクトリ以下のファイル構造・設定ファイル・CLAUDE.mdの内容がコンテキストとして読み込まれます。
ワークスペースの構成要素
- 作業ディレクトリ: Claude Codeを起動したディレクトリ(
pwd) - CLAUDE.md: プロジェクト固有のルールや指示を記述するファイル
- ファイルシステム: ディレクトリ内のソースコード・設定ファイル・ドキュメント
- Git状態: ブランチ、変更差分、コミット履歴
- セッション履歴: 現在のセッションでの対話内容
ポイントは、ワークスペースを切り替える=Claude Codeのコンテキストが完全にリセットされるということです。これを活用すれば、プロジェクト間の情報漏洩を防ぎつつ、それぞれのプロジェクトに最適化された指示を与えることができます。
Claude Codeの基本的な使い方はClaude Code完全ガイドをご参照ください。
CLAUDE.mdでプロジェクトごとのルールを定義する
CLAUDE.mdは、Claude Codeの振る舞いをプロジェクト単位でカスタマイズする最も強力な手段です。
ディレクトリ構造の設計パターン
CLAUDE.mdは階層的に配置でき、Claude Codeは作業ディレクトリから上位に向かって順にマージして読み込みます。
~/projects/
├── CLAUDE.md # グローバル設定(全プロジェクト共通)
├── frontend/
│ ├── CLAUDE.md # フロントエンド固有の設定
│ └── src/
│ └── components/
│ └── CLAUDE.md # コンポーネント開発のルール
├── backend/
│ ├── CLAUDE.md # バックエンド固有の設定
│ └── src/
└── infra/
└── CLAUDE.md # インフラ固有の設定
グローバルCLAUDE.mdには、コーディング規約やコミットメッセージのフォーマットなど全プロジェクト共通のルールを記述します。各プロジェクトのCLAUDE.mdには、使用技術やアーキテクチャに固有の指示を書きます。
プロジェクト固有の指示の書き方
効果的なCLAUDE.mdの例を紹介します。
# プロジェクト: SES BASE フロントエンド
## 技術スタック
- フレームワーク: Astro 5.x
- スタイル: Tailwind CSS v4
- 言語: TypeScript (strict mode)
## コーディングルール
- コンポーネントは関数コンポーネントで記述
- スタイルはTailwindのユーティリティクラスを使用(CSS-in-JSは禁止)
- 型定義は`types/`ディレクトリに集約
## ファイル命名規則
- コンポーネント: PascalCase (e.g., UserCard.astro)
- ユーティリティ: camelCase (e.g., formatDate.ts)
- テスト: *.test.ts
## やってはいけないこと
- node_modulesを直接編集しない
- envファイルをコミットしない
CLAUDE.mdの詳しい書き方はClaude Code CLAUDE.mdガイドを参照してください。
マルチプロジェクトの切り替えと管理手法
複数プロジェクトを日常的に扱う場合、効率的な切り替え手法が重要です。
方法1: ターミナルタブの分離
最もシンプルな方法は、プロジェクトごとにターミナルタブを分けることです。
# タブ1: フロントエンド
cd ~/projects/frontend && claude
# タブ2: バックエンド
cd ~/projects/backend && claude
# タブ3: インフラ
cd ~/projects/infra && claude
各タブで独立したClaude Codeセッションが起動するため、コンテキストの混在を完全に防げます。
方法2: セッションの名前付き管理
Claude Codeの--resumeオプションを活用し、プロジェクトごとに名前付きセッションを管理する方法です。
# セッションを名前付きで開始
claude --resume frontend-feature-auth
# 別のプロジェクトに切り替え
claude --resume backend-api-refactor
方法3: tmuxとの連携
tmuxのウィンドウやペインでプロジェクトを分離する方法は、SSH経由のリモート開発でも有効です。
# tmuxセッション作成
tmux new-session -s frontend -c ~/projects/frontend
tmux new-window -t frontend -c ~/projects/backend
コンテキストウィンドウの効率的な活用
Claude Codeのコンテキストウィンドウは有限リソースです。マルチプロジェクト運用では、いかにコンテキストを節約するかが生産性に直結します。
/compactと/clearの使い分け
| コマンド | 動作 | 使いどころ |
|---|---|---|
/compact | 会話履歴を要約して圧縮 | セッションが長くなった時、コンテキストを維持しつつ空きを作る |
/clear | セッションを完全にリセット | プロジェクトを完全に切り替える時 |
実践的なルール:
- 同一プロジェクト内でタスクが変わった場合 →
/compact - 別プロジェクトに切り替える場合 →
/clearまたは新しいタブ - コンテキスト使用率が80%を超えた場合 →
/compactで圧縮
不要なファイルの除外
.claudeignoreファイル(または.gitignoreの活用)で、コンテキストに含めたくないファイルを除外できます。
# .claudeignore
node_modules/
dist/
*.log
coverage/
.next/
チーム開発でのワークスペース共有設定
SES案件でチームメンバーとClaude Codeを共有利用する場合、ワークスペース設定の標準化が重要です。
CLAUDE.mdのバージョン管理
CLAUDE.mdはGitリポジトリに含めてバージョン管理しましょう。チームメンバー全員が同じルールでClaude Codeを利用できるようになります。
# CLAUDE.mdをリポジトリに追加
git add CLAUDE.md
git commit -m "chore: add CLAUDE.md for AI-assisted development rules"
個人設定と共有設定の分離
CLAUDE.md # リポジトリにコミット(共有ルール)
.claude/settings.json # 個人の環境設定(.gitignoreに追加)
チーム開発のベストプラクティスについてはClaude Codeチーム開発ガイドでさらに詳しく解説しています。
Git連携とブランチ管理のベストプラクティス
ワークスペース管理とGit運用は密接に関連しています。
ブランチごとのコンテキスト分離
Claude Codeはカレントブランチの状態をコンテキストとして認識します。feature-branch-per-taskのワークフローを採用し、ブランチ切り替え時にClaude Codeのセッションも切り替えることで、コンテキストの混在を防ぎましょう。
# ブランチ作成 → 新しいClaude Codeセッション
git checkout -b feature/user-auth
claude --resume feature-user-auth
# 別ブランチに切り替え
git checkout feature/payment-integration
claude --resume feature-payment
コミットとPRの自動化
Claude Codeにコミットメッセージの生成やPR作成を任せることで、ワークフロー全体を効率化できます。CLAUDE.mdにコミットメッセージのフォーマットを定義しておけば、一貫性のあるGit履歴を保てます。
Git連携の詳細はClaude Code Git ワークフローをご覧ください。
まとめ
Claude Codeのワークスペース管理を適切に設計することで、複数プロジェクトの同時進行でも生産性を維持できます。
- CLAUDE.mdの階層設計で、共通ルールとプロジェクト固有ルールを分離する
- コンテキスト分離は、ターミナルタブ・名前付きセッション・tmuxで実現
/compactと/clearを使い分けてコンテキストウィンドウを効率管理- チーム開発ではCLAUDE.mdをバージョン管理し、個人設定と分離する
- Git ブランチとセッションを1対1で対応させると混乱を防げる
Claude Codeを「1つのプロジェクトだけのツール」から「開発ワークフロー全体のパートナー」に進化させるために、ぜひ本記事のワークスペース管理術を取り入れてみてください。
SES BASEでは、AIツール活用からキャリアアップまで、SESエンジニアに役立つ情報を発信しています。 最新記事はSES BASEをチェック!
出典: Anthropic「Claude Code Documentation」