CLAUDE.mdは、Claude Codeのプロジェクトルートに配置するMarkdownファイルで、そのプロジェクト固有のルール・コンテキストをClaude Codeに記憶させる仕組みです。コーディング規約、使用技術、ディレクトリ構造のルール、命名規則、テストの方針などを記述しておくと、Claude Codeはその情報を毎回のセッションで自動的に参照し、プロジェクトに一貫した品質のコードを生成します。いわば「新しいメンバーに渡すプロジェクトのオンボーディング資料」をClaude Code用に書いたものです。
📎 公式情報
💡 この記事のポイント
CLAUDE.mdは、Claude Codeのプロジェクトルートに配置するMarkdownファイルで、そのプロジェクト固有のルール・コンテキストをClaude Codeに記憶させる仕組みです。コーディング規約、使用技術、ディレクトリ構造のルール、命名規則、テストの方針などを記述しておくと、Claude Codeはその情報を毎回のセッションで自動的に参照し、プロジェクトに一貫した品質のコードを…
CLAUDE.mdがないとどうなるか
CLAUDE.mdが存在しない場合、Claude Codeは汎用的なベストプラクティスに基づいてコードを生成します。たとえばTypeScriptプロジェクトであっても、Claude Codeは「セミコロンをつけるか」「シングルクォートかダブルクォートか」「インデントはスペース2つか4つか」を毎回独自に判断します。結果として既存コードとスタイルが統一されず、PR(プルリクエスト)ごとにフォーマットの修正が必要になります。チーム開発では特に深刻で、メンバーAがClaude Codeで書いたコードとメンバーBが書いたコードのスタイルが異なるという問題が頻発します。CLAUDE.mdはこの問題を根本的に解決します。
CLAUDE.mdに書くべき7つの項目
項目1は「プロジェクト概要」です。何をするアプリケーションか、誰が使うか、主要な機能は何かを2〜3行で記述します。Claude Codeがコードの目的を理解することで、変数名や関数名のセマンティクスが適切になります。
項目2は「技術スタック」です。フレームワーク(Next.js 15、React 19等)、言語(TypeScript)、データベース(PostgreSQL+Prisma)、テストフレームワーク(Jest)、スタイリング(Tailwind CSS)など、使用している技術を列挙します。Claude Codeはこの情報をもとに適切なAPIやパターンを選択します。
項目3は「ディレクトリ構造」です。src/app/はルーティングとページコンポーネント、src/components/は再利用可能なUIコンポーネント、src/lib/はユーティリティ関数とAPI呼び出し、src/types/はTypeScriptの型定義——のように、各ディレクトリの役割を明記します。新しいファイルを作成する際にClaude Codeが正しい場所に配置してくれるようになります。
項目4は「コーディングルール」です。TypeScript strictモードを使用すること、anyは禁止であること、ESLint+Prettierで整形すること、Reactはfunctional componentsのみ(classは使わない)、命名はキャメルケース(変数・関数)とパスカルケース(型・コンポーネント)——のように具体的なルールを記述します。
項目5は「テスト方針」です。テストフレームワーク(Jest+Testing Library等)、テストファイルの配置場所(__tests__/ディレクトリまたは.test.tsサフィックス)、テストのカバレッジ目標(80%以上など)を記述します。
項目6は「Git運用ルール」です。ブランチの命名規則(feature/xxx、fix/xxx、chore/xxx)、コミットメッセージの形式(Conventional Commits等)、PRのレビュー基準を記述します。Claude Codeがbranch作成やcommitを行う際にこのルールに従います。
項目7は「禁止事項・注意事項」です。「.envファイルをcommitしない」「本番DBに直接接続しない」「ユーザーの個人情報をログに出力しない」など、絶対に守るべきルールを明記します。
Claude活用プロンプト集50選(無料PDF)
メール作成・データ分析・コーディング…すぐ使える実践プロンプト50個を1冊にまとめました。【】を書き換えるだけでそのまま使えます。
CLAUDE.mdの具体的な記述例
実際のCLAUDE.mdは以下のような構成になります。冒頭にプロジェクト概要を2行で記述(例:「中小企業向けのSaaS型顧客管理システム。Next.js 15 + TypeScript + Prisma + PostgreSQL構成」)。次に技術スタックを箇条書きで列挙。ディレクトリ構造をツリー形式で記述。コーディングルールを箇条書きで記述。テスト方針を記述。Gitルールを記述。最後に禁止事項を記述。全体で100行から200行程度が適切です。500行を超えるとClaude Codeのコンテキストを圧迫するため、長くなりすぎる場合は要点を絞ってください。
CLAUDE.mdの置き場所と複数ファイルの使い分け
基本はプロジェクトルート(リポジトリのトップレベル)に1ファイル配置します。モノレポ構成の場合はルートに全体共通のCLAUDE.mdを、各パッケージのルートにパッケージ固有のCLAUDE.mdをそれぞれ配置すると、Claude Codeは両方を読み込んで統合的に参照します。ユーザーのホームディレクトリ(~/.claude/CLAUDE.md)に配置すると、すべてのプロジェクトに共通する個人設定(好みのコーディングスタイル等)を適用できます。優先順位はプロジェクトルート > パッケージディレクトリ > ホームディレクトリです。
CLAUDE.mdを最新に保つコツ
CLAUDE.mdは作成して終わりではなく、プロジェクトの進化に合わせて更新する必要があります。新しいライブラリを追加したとき、ディレクトリ構造を変更したとき、コーディング規約を改定したときにCLAUDE.mdも更新してください。更新を忘れると、Claude Codeが古い情報に基づいてコードを生成し、コードベースとの不整合が発生します。PRレビューのチェック項目に「CLAUDE.mdの更新が必要か」を含めておくのが効果的です。また、Claude Code自身に「このプロジェクトのCLAUDE.mdを最新の状態に更新して」と依頼することもできます。プロジェクトのファイル構造を走査して変更点を検出し、CLAUDE.mdに反映してくれます。
CLAUDE.mdのテンプレート例
Webアプリケーション開発用テンプレート
Webアプリの開発プロジェクトでは、使用する技術スタック、ディレクトリ構成、コーディング規約、テスト要件を記述します。「技術スタック:Next.js 14 + TypeScript + Tailwind CSS + Supabase。テストフレームワーク:Jest + React Testing Library。全コンポーネントにユニットテストを作成すること。関数にはJSDocコメントを付けること。」のように具体的に記述するほどClaudeの出力品質が向上します。
WordPressサイト開発用テンプレート
WordPress開発では、テーマの構造、PHPのバージョン、WordPress Coding Standards準拠の要件を記述します。「WordPress 6.x対応。PHPバージョン8.1以上。WordPress Coding Standardsに準拠。チャイルドテーマのディレクトリ構成は /theme-name-child/ に統一。functions.phpにはフック名をコメントで明記すること。」
データ分析・スクリプト用テンプレート
Python系のデータ分析プロジェクトでは、「Python 3.11以上。仮想環境はvenvを使用。データ処理はpandas、可視化はmatplotlib+seabornを使用。CSVの読み込み時はエンコーディング指定(utf-8-sig)を必ず含めること。出力ファイルはoutput/ディレクトリに保存すること。」のように環境設定と出力ルールを明記します。
CLAUDE.mdのよくある間違い
間違い1:情報が多すぎる。CLAUDE.mdに数百行の詳細な指示を書くと、かえってClaudeの処理が不安定になることがあります。重要なルールを30〜50行程度にまとめるのが理想です。詳細な仕様書が必要な場合は別ファイルに記述し、CLAUDE.mdからは参照する形にしてください。
間違い2:矛盾する指示を書く。「コードは簡潔に」と「すべてにコメントを付ける」のような矛盾する指示があると、Claudeの出力が不安定になります。指示の優先順位を明確にするか、矛盾を解消してください。
間違い3:更新を忘れる。プロジェクトの技術スタックや規約が変わったのにCLAUDE.mdを更新しないと、古いルールに基づいたコードが生成されます。プロジェクトの変更時にはCLAUDE.mdの更新も忘れずに行ってください。
CLAUDE.mdとProjectsの連携
CLAUDE.mdはClaude Codeのローカルプロジェクト設定ですが、ProjectsのCustom Instructionsと組み合わせることでさらに効果を発揮します。CLAUDE.mdにはコーディング規約やファイル構造の技術的なルールを記述し、ProjectsのCustom Instructionsにはプロジェクトのビジネスコンテキスト(ターゲットユーザー、プロジェクトのゴール、チームの方針)を記述する——という役割分担が効率的です。
たとえば「CLAUDE.md:TypeScript strict mode、テストカバレッジ80%以上、ESLint + Prettierで自動フォーマット」「Projects:このプロジェクトは中小企業向けのSaaSダッシュボード。ユーザーはIT初心者なので、UIは可能な限りシンプルに」のように分けると、技術面とビジネス面の両方を考慮したコード生成が実現します。
よくある質問
CLAUDE.mdを書かなくてもClaude Codeは使えますか
はい、なくても動作します。ただし出力品質と一貫性に大きな差が出ます。特にチーム開発ではCLAUDE.mdは必須と考えてください。Claude Codeの基本操作を一通り覚えたら、次のステップとしてCLAUDE.mdの作成に取り組むことを推奨します。
CLAUDE.mdの内容がClaude Codeのレスポンスに反映されないのですが
CLAUDE.mdが正しい場所(プロジェクトルート)に配置されているか確認してください。また、セッションの途中でCLAUDE.mdを変更した場合は、一度/clearで会話をリセットするか新しいセッションを開始すると反映されます。
機密情報をCLAUDE.mdに書いても大丈夫ですか
CLAUDE.mdはClaude Codeのコンテキストに読み込まれるため、APIキーやパスワードなどの機密情報は記述しないでください。環境変数の「変数名」は記載してOKですが、「値」は記載しないでください。
まとめ
CLAUDE.mdは「Claude Codeをチームの一員にするための仕様書」です。100行程度のMarkdownファイルを1つ配置するだけで、Claude Codeの出力品質が劇的に安定します。プロジェクトの技術スタック、ディレクトリ構造、コーディングルールを書くところから始めて、プロジェクトの成長に合わせて更新していってください。
関連記事
Claude導入・AI活用について相談する
株式会社仁頼|8年超の実務経験
Claudeを業務にどう活かせるかわからない、導入したいが社内に詳しい人がいない。そんな段階からお気軽にご相談ください。最適なプラン選定から社内研修まで一貫でサポートします。
この課題、プロに相談してみませんか?
株式会社仁頼|SEO・GEO対策・AI導入支援
9,000記事以上の制作実績。現状の課題をお聞きし、最適な施策をご提案します。