
【Claude Code基本操作 #5】CLAUDE.mdとは?プロジェクトにルールを設定する
Claude Codeに毎回同じことを説明していないだろうか。
「このプロジェクトはNext.jsで、TypeScriptを使っていて、コミットメッセージは日本語で……」——そういう前提をセッションのたびに伝えるのは無駄だ。CLAUDE.mdに書いておけば、Claude Codeは起動するたびに自動で読んでくれる。
CLAUDE.mdとは
プロジェクトのルートに置く Markdownファイル で、Claude Codeへの「常時有効な指示書」として機能する。
- セッションを開くたびに自動で読み込まれる
- 技術スタック・ルール・禁止事項などを書いておける
- Gitで管理できるのでチームで共有できる
スキル(.claude/commands/)が「コマンドの定義」なら、CLAUDE.mdは「前提知識と行動規範の定義」だ。
作り方
/init で自動生成する
/init をすでに第2回で紹介した。実行するとプロジェクトのコードを読んでCLAUDE.mdを自動生成してくれる。
詳細は → 【#2】Claude Codeのインストールと最初の起動・基本的な使い方
自動生成されたものはあくまで出発点。中身を読んで、不要な部分を削り、足りない部分を足すのが基本の使い方だ。
手書きで作る
プロジェクトルートに CLAUDE.md というファイルを作るだけでいい。
touch CLAUDE.md
中身はMarkdownで自由に書ける。
何を書くか
必ずこれを書かなければいけない、というルールはない。ただ実際に役立つのは以下の内容だ。
技術スタック
## 技術スタック
- フレームワーク: Next.js 15(App Router)
- 言語: TypeScript
- スタイル: Tailwind CSS
- デプロイ: Vercel
毎回「このプロジェクトは〜」と説明しなくて済む。
コーディング規約
## コーディング規約
- コンポーネントはすべて関数コンポーネントで書く
- `any` 型の使用禁止
- コメントは日本語で書く
チーム開発なら「暗黙のルール」をここに明文化しておくと、Claude Codeの出力がブレなくなる。
よく使うコマンド
## よく使うコマンド
- 開発サーバー起動: `npm run dev`
- ビルド: `npm run build`
- デプロイ: `git push origin main`(Vercelが自動デプロイ)
「このプロジェクトのビルドコマンドは?」と聞かれなくなる。
やってはいけないこと
## 禁止事項
- `npm run build` を勝手に実行しない
- `.env` ファイルを編集しない
- `main` ブランチに直接プッシュしない
Claude Codeが暴走しやすい操作を事前に制限できる。これは特に重要だ。
階層構造
CLAUDE.mdはプロジェクトルートだけでなく、サブディレクトリにも置ける。
project/
├── CLAUDE.md ← プロジェクト全体のルール
├── app/
│ └── CLAUDE.md ← app/ 以下に特有のルール
└── scripts/
└── CLAUDE.md ← scripts/ 以下に特有のルール
サブディレクトリのCLAUDE.mdは、そのディレクトリ配下を操作するときに追加で読み込まれる。フロントエンドとバックエンドでルールが異なる場合などに使える。
育て方
最初から完璧なCLAUDE.mdを書こうとしなくていい。
使いながら「また同じ説明をした」と気づいたタイミングで追記していく。そのサイクルが一番自然だ。
Claude Codeに「この説明をCLAUDE.mdに追加して」と頼めば、自分で書かなくても更新してくれる。会話の中で生まれたルールをそのままCLAUDE.mdに育てていくイメージで使うといい。
まとめ
| 項目 | 内容 |
|---|---|
| 場所 | プロジェクトルート(またはサブディレクトリ) |
| 作り方 | /init で自動生成 or 手書き |
| 何を書くか | 技術スタック・規約・コマンド・禁止事項 |
| 管理方法 | Gitでコミット、チームで共有 |
CLAUDE.mdがあるプロジェクトとないプロジェクトでは、Claude Codeの出力の精度が変わってくる。最初は数行でも、書いておくだけで効果がある。