CLAUDE.mdに最初に書くべき5行
おはようございます。
SE歴15年。小さな印刷会社の社内SE、40歳。"いえのした"です。
今回はCLAUDE.mdに最初に書くべき5行を紹介します。
課題:「何を書けばいいかわからない」問題
CLAUDE.mdの役割はわかった。
でも、空のファイルを開くと「何を書けばいいのか」で手が止まる。
答えはシンプルです。
最初は5行で十分。その5行がカバーするのは「Claude Codeが毎回間違える、または毎回聞いてくること」です。
解決:最初の5行
- 日本語で回答してください
- テストフレームワーク: [Jest / pytest / go test 等]
- mainブランチへの直接コミット禁止
- コーディング規約: [camelCase / snake_case 等]
- このプロジェクトの言語: [Go / Python / TypeScript 等]この5行で解決する問題:
日本語指定 → 英語で回答される問題を防ぐ
テストフレームワーク → 「pytestとunittestどちらを使いますか?」と毎回聞かれるのを防ぐ
main禁止 → mainに直接commitされる事故を防ぐ
コーディング規約 → プロジェクトの命名規則と違う名前で書かれるのを防ぐ
言語指定 → 別言語のコード例を出されるのを防ぐ
理由:なぜこの5つなのか
「聞かれる回数」が多い順
Claude Codeが判断に迷うポイントは決まっています。
言語・テストフレームワーク・命名規則は、コードを書くたびに必要な情報です。
毎回のセッションで聞かれる(または間違える)なら、CLAUDE.mdに書く価値があります。
逆に、1回しか使わない情報はCLAUDE.mdに書く必要がありません。
「このファイルのこの関数を修正して」といった一時的な指示は、会話の中で伝えれば十分です。
「間違えたときのダメージ」が大きい順
mainへの直接コミットは、間違えると影響が大きい操作です。
防止ルールをCLAUDE.mdに書いておくことで、Claude Codeが自主的にfeatureブランチを作成するようになります。
実例:プロジェクト種別ごとの例
Webアプリ(React + Node.js)
- 日本語で回答してください
- Frontend: React 18 + TypeScript / Backend: Express
- テスト: Jest + React Testing Library
- mainブランチへの直接コミット禁止
- CSSフレームワーク: Tailwind CSSAPIサーバー(Go)
- 日本語で回答してください
- Go 1.22 / Echo v4 / PostgreSQL
- テスト: go test -v -race ./...
- mainブランチへの直接コミット禁止
- エラーハンドリング: errors.Wrap でスタックトレース付与データ分析(Python)
- 日本語で回答してください
- Python 3.12 / pandas / SQLAlchemy
- テスト: pytest -v
- mainブランチへの直接コミット禁止
- 型ヒント: すべての関数に付与実践:5行目から先、いつ追加するか
5行で始めて、使いながら追加します。
追加のタイミング:
同じことを2回説明した → CLAUDE.mdに書く
同じミスが2回起きた → 禁止事項として追加
「前にも言ったのに」と思った → 書き時
逆に、1回しか発生しなかった問題はCLAUDE.mdに書かない。
頻度が低い問題を全部書くと肥大化して、重要なルールが埋もれます。
発展:5行が300行に育つとき
この5行は出発点。運用を重ねると、CLAUDE.mdは「設定ファイル」から「判断基準書」へと性格が変わっていく。
実際に半年以上運用した結果、「行動哲学」「Anti-Patternパターン表」「確認プロトコル」といった、AIの判断品質を制御するセクションが育っていった。
これらは公式ドキュメントに載っていない、運用の中で設計した独自の仕組み。
具体的にどう書くか、どんな効果があったかはこのシリーズの後続記事で詳しく紹介します。
まとめ
CLAUDE.mdの最初の5行:
言語指定(日本語)
テストフレームワーク
mainコミット禁止
コーディング規約
プロジェクトの技術スタック
「毎回聞かれること」「間違えるとダメージが大きいこと」から書く。追加は「同じことを2回言った」がトリガー。最初から完璧を目指さず、育てていくものです。
Claude Code実践シリーズ
次に読む:
→ 親CLAUDE.mdとプロジェクトCLAUDE.mdの使い分け
→ CLAUDE.mdが長くなりすぎた時の整理術
カスタマイズの全体像:
→ 20リポジトリを1人で回す — Claude Code統合運用の全体設計
