Claude Code(AnthropicのCLIツール)を使いこなす上で欠かせないのが CLAUDE.md(または claude.md) ファイルの設定です。
「Claude Codeを導入したけれど、毎回プロジェクトのルールを説明するのが面倒」
「チームのコーディング規約をAIにしっかり守らせたい」
そう考えている方に向けて、本記事では CLAUDE.mdの基本的な役割から、SEO・LLMに最適化した効果的な書き方、そのまま使える実践的なテンプレートまで 分かりやすく解説します。
1. CLAUDE.md とは?(役割とメリット)
CLAUDE.md とは、プロジェクトのルートディレクトりに配置する Claude Code専用の設定・指示書ファイル(Markdown) です。
Claude Codeはセッション開始時やディレクトリ読み込み時に、この CLAUDE.md を自動的にインデックス化・参照します。これにより、開発者が毎回チャットで細かな前提条件を指示しなくても、AIがプロジェクト固有のコンテキストを理解した上でコード生成や操作を行ってくれるようになります。
CLAUDE.md を導入する3つの大きなメリット
- プロジェクト固有ルールの遵守命名規則、ディレクトリ構成、使用禁止ライブラリなどの制約をプロンプトで毎回指定する必要がなくなります。
- 正確なコマンド実行ビルドやテスト、リント実行コマンドを事前に定義しておくことで、AIが誤ったコマンドを実行してエラーになるのを防ぎます。
- コンテキスト(トークンコスト)の削減毎回長い事前説明をチャットに入力せずに済むため、AIの応答精度向上とトークン消費の節約につながります。
2. CLAUDE.md に記載すべき4つの重要要素
効果的な CLAUDE.md を作成するには、以下の4つの要素を中心に整理して記述するのがベストです。
| 要素 | 記載内容の例 |
| 1. 開発コマンド(Commands) | ビルド、テスト、リント、ローカル起動コマンドなど |
| 2. コードスタイル・規約(Style Guide) | 命名規則、型定義の方針、エラーハンドリングルール |
| 3. アーキテクチャ・構造(Architecture) | ディレクトリ構造、依存関係の方向性、設計パターン |
| 4. 安全性・注意事項(Guidelines) | 環境変数の扱い、破壊的コマンドの実行防止ルール |
3. 【コピペOK】CLAUDE.md の実践テンプレート
実際にプロジェクトで使える標準的な CLAUDE.md のテンプレートです。プロジェクトの技術スタックに合わせて書き換えてご使用ください。
# プロジェクトガイドライン
## 主要コマンド
- **ビルド**: `npm run build`
- **開発サーバー**: `npm run dev`
- **単体テスト実行**: `npm test`
- **特定ファイルのテスト**: `npx jest path/to/file.test.ts`
- **リント & フォーマット**: `npm run lint` / `npm run format`
## コーディング規約
- **言語・環境**: TypeScript (Strict mode), Node.js v20+
- **命名規則**:
- ファイル名: kebab-case (`user-service.ts`)
- クラス名: PascalCase (`UserService`)
- 関数・変数: camelCase (`getUserById`)
- 定数: UPPER_SNAKE_CASE (`MAX_RETRY_COUNT`)
- **設計方針**:
- ビジネスロジックは `src/services/` に配置すること
- データベース操作は `src/repositories/` を経由し、コントローラーから直接呼出不可
- **エラー処理**:
- `any` 型でのキャッチは禁止。カスタムエラークラスを使用すること
## 注意・禁止事項
- `.env` などの機密情報をコード内に直書き・ハードコードしないこと
- データベースの削除やリセットを行うコマンドは、事前に人間に確認を取ること
4. Claudeが指示を理解しやすくなる「書き方のコツ」
AI(LLM)に対して精度高く指示を伝えるためには、人間向けのドキュメントとは少し異なる「書き方のコツ」があります。
コツ①:自然文ではなく「箇条書き」と「命令文」で書く
「〜することが推奨されています」「なるべく〜してください」といった曖昧な表現ではなく、「〜すること」「〜禁止」 と短文・箇条書きでシンプルに記述します。
コツ②:実行可能な正確なコマンドを載せる
「テストを実行して」と言われた際、npm test なのか pytest なのかを迷わせないよう、実際にターミナルで叩くコマンドをバックティック(`)で囲んで明記します。
コツ③:ネガティブプロンプト(禁止事項)を活用する
やってほしいことだけでなく、「やってほしくないこと(any型の使用禁止、ライブラリ追加の事前確認など)」 を明記するとコード生成の品質が大幅に向上します。
5. よくある質問(FAQ)
Q1. .claude/ ディレクトリ内のファイルと何が違いますか?
プロジェクトのルート直下に置く CLAUDE.md は プロジェクト全体への大まかな指示書 です。一方、より詳細な個別の設定やメモリ管理を行いたい場合は .claude/ フォルダ内の設定ファイルを利用するケースもありますが、まずはルートの CLAUDE.md 1枚から始めるのが最もシンプルでおすすめです。
Q2. 英語で書くべきですか?日本語でも大丈夫ですか?
日本語で書いても問題なく読み取ってくれます。ただし、トークン効率や英語ネイティブなコード生成との親和性を考えると、英語(English)で記述しておくのも効果的です。チームメンバーの読みやすさに合わせて選択しましょう。
まとめ:CLAUDE.md を育ててAI開発を効率化しよう
CLAUDE.md は一度作って終わりではなく、開発が進む中で新しく追加されたルールや修正されたコマンドを更新し続けていく「育てるドキュメント」 です。
適切な CLAUDE.md を1つ用意しておくだけで、Claude Codeの出力精度は劇的に変わり、開発スピードも大幅にアップします。ぜひご自身のプロジェクトでも導入してみてください!


コメント