Claude Codeを使い始めると、「毎回、使う技術やコードの書き方を説明している」と感じることがあります。そんなときに役立つのが`CLAUDE.md`です。ただし、ルールを長く書き足すほど便利になるわけではありません。ここでは、初めての小さな開発プロジェクトを例に、必要な情報だけを整理する方法を解説します。
CLAUDE.mdとは? 設定ファイルとの違い
`CLAUDE.md`は、Claude Codeへ渡す継続的な作業指示をMarkdownで記録するファイルです。プロジェクトで使うコマンド、コーディングの方針、作業前の確認事項などを伝えられます。
ただし、`CLAUDE.md`の文章は強制力のあるセキュリティ設定ではありません。実行の許可・禁止を確実に制御したい場合は、Claude Codeの権限設定やフックなど、目的に応じた仕組みを使います。
| 置くもの | 向いている内容 | 具体例 |
|---|---|---|
| CLAUDE.md | 毎回の作業に関わる指示 | 使用言語、テストコマンド、変更前の確認 |
| settings.json | ツールの権限や動作設定 | 許可・確認・拒否ルールなど |
| Skills | 必要なときだけ使う詳しい手順 | リリース手順や定型レビュー |
最初からすべての設定を理解する必要はありません。まずは「同じ説明を繰り返さずに済む情報」を選ぶのが出発点です。
保存場所と始め方を確認する
プロジェクト全体のルールは、作業フォルダーの直下に`CLAUDE.md`を作成する方法が基本です。`.claude/CLAUDE.md`もプロジェクト用の配置先です。個人の全プロジェクトに共通する指示には`~/.claude/CLAUDE.md`を使います。
- VS Codeなどのエディターで、Claude Codeを使うプロジェクトを開く。
- 既存の`CLAUDE.md`がないか先に確認する。
- まだファイルがなければ、プロジェクトのルートに`CLAUDE.md`を作る。
- 使う技術と作業時の注意事項を、短い文章で記入する。
- Claude Codeの`/context`で読み込まれたメモリーファイルを確認する。
Claude Codeで`/init`を実行して初期案を作成する方法もあります。既存ファイルがある場合は、内容を確認してから必要な部分だけ調整してください。
まず記載したい5つの項目
- プロジェクトの目的:何を作るリポジトリなのか。
- 技術スタック:使っている言語・フレームワーク。
- 実行・検証コマンド:開発サーバーやテストの起動方法。
- 変更方針:既存仕様を優先するか、最小限の差分を目指すか。
- 完了報告:変更したファイルと実行した検証をどう共有するか。
例として、JavaScriptで小規模なWebページを作るプロジェクトなら、次のように書けます。これは独自に作成した学習用サンプルです。実際のプロジェクトに合わせて編集してください。
# このプロジェクトのルール
- 小さなJavaScript製Webページを扱う。
- 変更前に関連ファイルを検索し、対象を特定する。
- 既存の表示や仕様を尊重し、差分を最小限にする。
- 修正後は利用できるテストと画面表示を確認する。
- 完了時は変更ファイル、確認結果、未確認項目を簡潔に報告する。
ここで大切なのは行数ではなく、必要な情報を具体的に伝えることです。たとえばテスト手順があるなら「テストする」よりも、実際のコマンドを記載するほうが役立ちます。
長いCLAUDE.mdを避けるための整理方法
`CLAUDE.md`はセッション開始時のコンテキストに読み込まれます。公式資料では、具体的で簡潔な説明を推奨し、1ファイル200行未満を目安にしています。ただし、これは成果を保証する魔法の上限ではありません。
| 残す情報 | 別に管理する情報 |
|---|---|
| 毎回使うテストコマンド | 月に一度だけ行う公開手順 |
| 必須のコード規約 | 一般的な言語の基礎解説 |
| 重要なディレクトリの役割 | 不要になった過去の議論全文 |
特定のディレクトリだけに適用する説明は`.claude/rules/`のパス別ルール、作業時にだけ必要な詳しい手順はSkillsへ分けると、共通の指示を短く保ちやすくなります。
「とりあえずルールを追加」を繰り返す前に、既存の記述と矛盾していないか、削除できる重複がないかを確認しましょう。
うまく反映されないときの確認順
- `CLAUDE.md`のファイル名と保存場所を確認する。
- `/context`で対象ファイルが読み込まれているか確認する。
- 「なるべく注意して」など曖昧な表現を、具体的な行動に書き直す。
- 同じ意味の指示や相反する指示を整理する。
- 安全性に関わる禁止事項は、文章だけでなく権限設定等で制御する。
たとえば「変更範囲を小さくする」を伝えたいなら、対象ファイルの候補を先に列挙し、他のファイルを変更する前に理由を説明する、といった検証可能な指示へ直すほうが明確です。
よくある質問
CLAUDE.mdは毎回読み込まれますか?
Claude Codeは該当するメモリーファイルをセッション開始時などに読み込みます。どのファイルが対象かは配置場所によって変わるため、`/context`で確認できます。
短いCLAUDE.mdを作れば必ずトークンが節約できますか?
ファイル自体の読み込み量は減らせますが、タスク内容やツールの使い方によって総トークン使用量は変わります。削減率を断定せず、同じ条件で比較してください。
コマンドを実行させない設定も書けますか?
文章で依頼はできますが、強制的な実行制限としては扱わないでください。設定ファイルにある権限ルールなどを確認してください。
参考資料と次の一歩
最初は短いファイルを作り、実際にClaude Codeを使いながら修正点を見つけるだけで十分です。次は操作が長引くときのコンテキスト整理も学ぶと、作業の進め方が見えてきます。
(公式のCLAUDE.md仕様については『How Claude remembers your project』をご参照ください)
(実践例については『Best practices for Claude Code』をご参照ください)
(Claude Codeと外部ツールの仕組みについては『MCPサーバーとは?仕組みと使い方』をご参照ください)