CLAUDE.md 詳細ガイド
CLAUDE.md は、プロジェクトのルールや設定を Claude Code に伝えるための 設定ファイル です。Claude Code はセッション開始時にこのファイルを自動的に読み込みます。
CLAUDE.md とは
CLAUDE.md は、プロジェクトのルートディレクトリに置くマークダウンファイルです。
my-project/
├── CLAUDE.md ← これ
├── src/
├── package.json
└── ...公式ドキュメントより
Anthropic の公式ドキュメントによると、CLAUDE.md は「プロジェクトのルートに配置するマークダウンファイルで、Claude がセッション開始時に必ず読み込む」ものです。プロジェクト固有のコンテキストを Claude に伝える最も簡単な方法です。
CLAUDE.md に何を書くべきか
1. プロジェクトの概要
markdown
# プロジェクト概要
このプロジェクトは、社内向けのタスク管理アプリケーションです。
- フロントエンド: React + TypeScript
- バックエンド: Node.js + Express
- データベース: PostgreSQL
- テスト: Vitest2. コーディング規約
markdown
# コーディング規約
## 命名規則
- 変数名・関数名: camelCase
- コンポーネント名: PascalCase
- 定数: UPPER_SNAKE_CASE
- ファイル名: kebab-case
## インデント
- スペース 2 つ
## コメント
- 日本語で記述
- JSDoc 形式を使用3. コミットメッセージのルール
markdown
# コミットメッセージ
Conventional Commits に従う:
- feat: 新機能
- fix: バグ修正
- docs: ドキュメント
- refactor: リファクタリング
- test: テスト
- chore: その他
例: feat: ユーザー認証機能を追加4. テストのルール
markdown
# テスト
- テストフレームワーク: Vitest
- テストファイルの配置: __tests__/ ディレクトリ
- 命名規則: *.test.ts
- カバレッジ目標: 80% 以上
- テスト実行コマンド: npm test5. プロジェクト固有のルール
markdown
# 注意事項
- src/legacy/ は触らないこと(別チームが管理)
- API エンドポイントは必ず /api/v2/ プレフィックスを使う
- 環境変数は .env.example に追記すること
- デプロイ前に必ず lint と test を実行すること書きすぎに注意
CLAUDE.md は簡潔に保ちましょう。長すぎると Claude が重要な情報を見落とす可能性があります。本当に伝えたいルール に絞って記述するのがベストプラクティスです。
CLAUDE.md の配置場所
CLAUDE.md は複数の場所に配置でき、それぞれスコープが異なります。
| 配置場所 | スコープ | 用途 |
|---|---|---|
| プロジェクトルート | プロジェクト全体 | プロジェクトのルール全般 |
| サブディレクトリ | そのディレクトリ以下 | 特定モジュールのルール |
| ~/.claude/CLAUDE.md | 全プロジェクト共通 | 個人の共通設定 |
my-project/
├── CLAUDE.md ← プロジェクト全体のルール
├── src/
│ ├── CLAUDE.md ← src 以下のルール
│ ├── frontend/
│ │ └── CLAUDE.md ← フロントエンド固有のルール
│ └── backend/
│ └── CLAUDE.md ← バックエンド固有のルール
└── ...読み込み順序
Claude Code は以下の順序で CLAUDE.md を読み込みます。
~/.claude/CLAUDE.md(ユーザー全体の設定)- プロジェクトルートの
CLAUDE.md - 作業中のディレクトリの
CLAUDE.md
後から読み込まれたものが優先されます。
実践的な CLAUDE.md の例
フルスタック Web アプリケーション
markdown
# TaskManager プロジェクト
## 概要
社内タスク管理アプリ。React + Express + PostgreSQL。
## 開発コマンド
- `npm run dev` - 開発サーバー起動
- `npm test` - テスト実行
- `npm run lint` - Lint 実行
- `npm run build` - ビルド
## コーディング規約
- TypeScript strict モードを使用
- any 型は禁止
- 関数は 30 行以内に収める
- コメントは日本語
## Git ルール
- ブランチ名: feature/xxx, fix/xxx, chore/xxx
- コミット: Conventional Commits
- PR は必ずテストを含める
## 重要な注意事項
- .env ファイルは絶対にコミットしない
- src/generated/ は自動生成のため編集禁止
- API 変更時は docs/api.md も更新すること.env ファイルについて
CLAUDE.md に「.env はコミットしない」と明記することで、Claude Code が誤って機密情報をコミットするリスクを軽減できます。
CLAUDE.md のベストプラクティス
やるべきこと
- 簡潔に書く - 箇条書きを活用し、要点だけ記述
- 具体的に書く - 「きれいに書いて」ではなく「camelCase を使って」
- コマンドを記載 - よく使うコマンドを書いておくと Claude が活用
- 禁止事項を明記 - 触ってほしくないファイルやルールを明確に
やらないべきこと
- 長文を書きすぎない - 数百行になると効果が薄れる
- 曖昧な表現を使わない - 「適切に」ではなく具体的な基準を記述
- 他のファイルの内容をコピーしない - CLAUDE.md 固有の情報のみ
Claude に CLAUDE.md を作ってもらう方法
Claude Code 自身に CLAUDE.md を作成してもらうこともできます。
bash
> このプロジェクトを分析して、適切な CLAUDE.md を作成してくださいClaude はプロジェクトの構造、使用技術、設定ファイルを分析し、適切な CLAUDE.md を生成してくれます。生成後は内容を確認し、必要に応じて調整しましょう。
まとめ
| 項目 | 内容 |
|---|---|
| 何を書くか | 概要、規約、コマンド、注意事項 |
| どこに置くか | プロジェクトルート(基本)、サブディレクトリ(必要に応じて) |
| どう書くか | 簡潔に、具体的に、箇条書きで |
| 効果 | Claude がプロジェクトのルールを理解して従う |
次は、よく使う操作を自動化する カスタムコマンド(Skills) を学びましょう。