Claude Codeでは、毎回同じ説明をしなくてよいように、プロジェクト固有の指示をファイルに書けます。その代表が CLAUDE.md です。
一言でいうと
CLAUDE.mdは、Claude Codeに毎回読ませたいプロジェクトルールを書くMarkdownファイルです。
何を書くのか
CLAUDE.md には、毎回の作業で必要になる情報を書きます。
| 書く内容 | 例 |
|---|---|
| 技術スタック | React、Node.js、PostgreSQLなど |
| 実行コマンド | npm test、npm run build |
| ディレクトリ構成 | APIは src/api にある |
| コーディング規約 | 命名、フォーマット、禁止事項 |
| テスト方針 | 変更後にどのテストを実行するか |
| セキュリティ | 秘密情報をログに出さない |
毎回必要ない長い手順は、CLAUDE.md よりSkillや別ドキュメントに分ける方が向いています。
書かない方がよい内容
CLAUDE.md は常に読み込まれるため、何でも書くとコンテキストを圧迫します。
| 書かない方がよいもの | 理由 |
|---|---|
| 長い手順書 | 毎回必要とは限らない |
| 古いルール | AIが古い前提で動く |
| 矛盾する指示 | 判断がぶれる |
| 秘密情報 | 漏えいリスクがある |
CLAUDE.mdには「常に守る短いルール」を書き、長い手順は分離します。
AGENTS.mdとの関係
公式ドキュメントでは、Claude Codeは CLAUDE.md を読むと説明されています。すでに AGENTS.md を使っているリポジトリでは、CLAUDE.md から AGENTS.md をインポートする形が使えます。
@AGENTS.md
## Claude Code
- 大きな変更では先に計画を出す
- 変更後に `npm test` を実行する
これにより、複数のAIコーディングツールで共通ルールを使いやすくなります。
良い書き方
曖昧な指示ではなく、確認できる指示にします。
## テスト
- TypeScript変更後は `npm run typecheck` を実行する
- UI変更後は該当ページをブラウザで確認する
- テストを実行できない場合は理由を報告する
「きれいに書く」よりも、「何を実行するか」「どこに置くか」「何を禁止するか」を書きます。
よくある誤解
| 誤解 | 実際 |
|---|---|
| CLAUDE.mdは設定ファイルなので必ず強制される | 文脈として読まれる指示です |
| 長いほど正確になる | 長すぎると重要点が埋もれます |
| 一度書けば放置でよい | 古いルールは定期的に整理します |
| 秘密情報を書いてよい | 書いてはいけません |
まとめ
CLAUDE.md は、Claude Codeに毎回読ませたいプロジェクトルールを書くファイルです。技術スタック、実行コマンド、設計方針、禁止事項を短く具体的に書きます。長い手順や一部タスクだけの知識は、Skillや別ファイルに分けると扱いやすくなります。