`CLAUDE.md` は階層ごとに役割が異なる。適切な階層に適切な内容を書くことで、設定の重複や競合を防げる。 ## ユーザーの CLAUDE.md (`~/.claude/CLAUDE.md`) **目的:** 個人の全プロジェクト共通設定 **書くべき内容:** - 応答言語 (日本語で回答など) - 個人的なコーディングスタイル - 好みのツールやコマンド **アンチパターン:** - プロジェクト固有の設定 → 他のプロジェクトにも適用されてしまう - チームで共有すべきルール → 自分だけに適用され、チームに共有されない ## プロジェクトルートの CLAUDE.md (`./CLAUDE.md`) **目的:** チーム全体で共有するプロジェクトルール **書くべき内容:** - コーディング規約 - [[Git]] 運用ルール (コミットメッセージ形式など) - 全サービス共通のアーキテクチャ方針 **アンチパターン:** - 個人的な好み → チーム全員に強制されてしまう - サービス固有の設定 → 関係ないサービスにも読み込まれる ## サブディレクトリの CLAUDE.md (`./sub-directory/CLAUDE.md`) **目的:** 特定サービス・モジュール固有のルール **書くべき内容:** - 使用フレームワーク・ライブラリの指定 - サービス固有のテスト方針 - サービス固有の命名規則 **アンチパターン:** - 共通ルールの重複 → ルートに書けば済む内容を重複して書く - 他のサービスにも適用したいルール → ルートに書くべき ## プロジェクトルートの CLAUDE.local.md (`./CLAUDE.local.md`) **目的:** 個人のプロジェクト固有設定 (Git 管理外) **書くべき内容:** - ローカル環境固有のパス設定 - 個人的なデバッグ用設定 - 一時的な作業メモ **アンチパターン:** - チームで共有すべき設定 → Git 管理外なので他のメンバーに共有されない - 永続化したい設定 → `.gitignore` されているため消失リスクがある ## 関連ノート - **[前提]** [[CLAUDE.md の読み込みルール]]: 本ノートの階層別設計はこの読み込みルールの上に成り立つ運用論 - **[派生]** [[複数の CLAUDE.md 読み込んだ場合の優先順位]]: 本ノートの階層別書き分けと合わせて、競合回避の仕組みを押さえる