投稿

Claude Code の CLAUDE.md 配置場所と優先順位

Claude Code の CLAUDE.md 配置場所と優先順位

Claude Code はプロジェクトの指示書として CLAUDE.md を読み込むが、配置場所によってスコープと優先順位が異なる。

配置場所一覧

優先度 ファイル スコープ Git管理
1(最高) .claude/CLAUDE.local.md ローカル個人用(自分 × このリポジトリ) gitignore対象
2 CLAUDE.md プロジェクト共有 コミット対象
2 .claude/CLAUDE.md プロジェクト共有(上と同等) コミット対象
3(最低) ~/.claude/CLAUDE.md グローバル個人用(全プロジェクト共通) 任意

より具体的なスコープの指示が優先される。すべてのファイルは共存可能で、起動時にまとめて読み込まれる。

各ファイルの使い分け

CLAUDE.md(プロジェクトルート)

チームで共有するプロジェクトの指示書。リポジトリにコミットして全員に適用する。

# MyProject ## Commands make test # テスト実行 make build # ビルド ## Architecture src/ 配下は feature-based で構成...

.claude/CLAUDE.md

ルートの CLAUDE.md と同じプロジェクトレベル。.claude/ ディレクトリにまとめたい場合に使う。ルートの CLAUDE.md との違いは配置場所のみ。

.claude/CLAUDE.local.md

個人用のオーバーライド。gitignore されるため、自分だけのカスタマイズを書ける。

# ローカル設定 - テスト実行時は Docker の DB を使う(チーム標準はモック) - PR 作成時のレビュアーは自分を除外

~/.claude/CLAUDE.md

全プロジェクトに適用されるグローバル設定。コーディングスタイルや共通ルールを書く。

# Global Rules - コミットメッセージは日本語 - エラーハンドリングは必ず明示的に

dotfiles で管理する場合

個人プロジェクトの CLAUDE.md を dotfiles で管理する場合、symlink で配置するのがシンプル。

# Makefile 例 ln -sf $(DOTFILES_DIR)/project-claude/CLAUDE.md $(HOME)/myproject/CLAUDE.md

.claude/CLAUDE.md は Claude Code のランタイムデータ(sessions/, history.jsonl 等)と同じディレクトリに置くことになるため、ディレクトリ丸ごと symlink にはできない点に注意。個別ファイルの symlink にする。

まとめ

  • チーム共有 → ルートの CLAUDE.md をコミット
  • 個人カスタマイズ → .claude/CLAUDE.local.md
  • 全プロジェクト共通 → ~/.claude/CLAUDE.md
  • 個人プロジェクトで dotfiles 管理 → ルートの CLAUDE.md を symlink
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。

トレンドのタグ