CLAUDE.mdの書き方と効果:プロジェクト設定ファイルでAIの動作を制御する方法
CLAUDE.mdとは何か
CLAUDE.mdは、Claude(AI)がプロジェクトを開始するときに最初に読む設定ファイルです。プロジェクトのルートディレクトリに置いておくと、AIは作業を始める前にこのファイルを参照し、そこに書かれた方針・制約・構造説明を踏まえて動作します。
言い換えると、「このプロジェクトではどう振る舞うべきか」をAIに事前に伝えるファイルです。
設定前と設定後の違い
CLAUDE.mdを用意していない状態でAIにプロジェクト作業を依頼すると、AIは一般的な判断で動作します。その結果として起きた具体的な問題を一つ挙げます。
私がこのサイトを構築していたとき、AIに「本番環境へのデプロイ操作は私の明示的な承認後のみ実行すること」という意図を伝えていましたが、設定ファイルに明記していませんでした。別の作業の流れの中でAIが本番デプロイのコマンドを実行しようとする場面が複数回ありました。AIは悪意を持ってそうしたわけではなく、「作業を完結させるために必要なステップ」と判断していたためです。
CLAUDE.mdに次のように記載してからは、その問題が起きなくなりました。
## Non-Negotiable Rules
- `npm run build` はユーザーの明示承認なしに実行しない。本番デプロイが発火する。効果がある内容の3種類
CLAUDE.mdに記載すると効果が高い内容は、大きく3種類あります。
禁止ルール
「絶対にやってはいけないこと」を明示します。たとえば「本番デプロイコマンドは承認なしに実行しない」「既存のナビゲーション構造を変更しない」「機密情報をコミットしない」といった内容です。禁止ルールは条件ではなく断定的に書くと効果があります。
用語の定義
プロジェクト固有の言葉の意味を記述します。「このプロジェクトにおけるブログとはsrc/content/blog/配下を指す」「ドキュメントはsrc/content/docs/配下を指す」といった定義がこれに当たります。定義がないと、AIが「記事を書いて」という指示に対してどのディレクトリを使うべきか判断できないことがあります。
ディレクトリ構造の説明
「何がどこにあるか」を示します。プロジェクトの規模が大きくなるほど、AIがファイルの配置を誤解しやすくなります。CLAUDE.mdで主要なディレクトリの役割を説明することで、AIが適切な場所にファイルを配置・参照できるようになります。
書き方の指針
CLAUDE.mdは長くなりすぎないことが重要です。すべてのルールをここに書こうとすると、AIが参照するたびに大量のテキストを処理することになり、重要なルールが埋もれることがあります。
基本的な方針として、CLAUDE.mdには「プロジェクトの全体像と最重要ルール」だけを書き、詳細なルールや手順は別ファイル(shared/rules/やshared/skills/など)に分けてCLAUDE.mdから参照する形が適しています。
まとめ
CLAUDE.mdは、AIに「このプロジェクトでどう動くべきか」を一度だけ伝えることで、会話のたびに同じ説明をする手間をなくすファイルです。特に禁止ルール・用語定義・ディレクトリ構造の3種類を書くと、AIの動作が安定します。次の記事では、過去のミスを記録して繰り返しを防ぐ「lessons.md」の設計を説明します。