CLAUDE.mdとは?Claude Codeに覚えさせる指示書の書き方・置き場所・例
この記事でわかること
- CLAUDE.mdの役割と、自動メモリとの違い
- 置き場所(4種類)と読み込まれる順番
- /initでの作り方と、書くべき内容・テンプレート
- 長くなったときの分け方(@インポート・.claude/rules・スキル)
- AGENTS.mdとの関係
- 指示が効かないときの確認方法
目次
- CLAUDE.mdとは
- 強制ではなく「前提」として読まれる
- 自動メモリとの違い
- 自動メモリの保存場所と切り替え
- 置き場所と読み込まれる順番
- 読み込まれる順番
- サブフォルダのCLAUDE.mdは必要になったときに読まれる
- 人だけに見せたいメモはHTMLコメントで
- CLAUDE.mdの作り方
- /memoryで開いて編集する
- 自分だけの設定はCLAUDE.local.mdに
- 何を書くか
- 書くとよいこと
- 書かない方がいいこと
- 具体的に、確かめられる形で書く
- テンプレート例
- 長くなったときの分け方
- @インポートで別のファイルを読み込む
- .claude/rulesで対象のファイルを絞る
- 手順はスキルに分ける
- AGENTS.mdとの関係
- 両方を読ませたいとき
- シンボリックリンクを使う場合の注意
- 指示が効かないときの確認
- /doctor prompt-auditで点検する
- よくある質問
- まとめ
「Claude Codeに、毎回同じ説明をしている」「CLAUDE.mdを作るといいと聞いたが、何をどこに書けばいいのか分からない」という方も多いのではないでしょうか。
CLAUDE.md(クロード エムディー)は、Claude Codeが作業を始めるたびに最初に読み込む指示書のファイルです。プロジェクトの決まりごとや、よく使うコマンドを書いておくと、毎回説明しなくてもその前提で作業してくれます。中身はふつうの文章(Markdown形式)なので、プログラミングの知識がなくても書けます。
この記事では、CLAUDE.mdの役割、置き場所と読み込まれる順番、作り方、書くべき内容とテンプレート、長くなったときの分け方、AGENTS.mdとの関係、指示が効かないときの確認方法を順に解説します。内容は2026年10月時点のClaude Code公式ドキュメントをもとにしています。
CLAUDE.mdとは

Claude Codeは、セッション(1回の作業のまとまり)を始めるたびに、まっさらな状態から始まります。前回の会話で「この会社ではインデントは2文字」「テストはnpm testで動かす」と伝えていても、新しいセッションではそれを覚えていません。
そこで使うのがCLAUDE.mdです。決まった場所にこのファイルを置いておくと、Claude Codeは毎回のセッションの最初にその内容を読み込みます。新しく入った同僚に渡す「このプロジェクトの決まりごとメモ」のようなものだと考えると分かりやすいでしょう。
強制ではなく「前提」として読まれる
公式ドキュメントでは、CLAUDE.mdは「強制される設定ではなく、文脈(前提の情報)として扱われる」と説明されています。Claudeは内容を読んで従おうとしますが、あいまいな指示や、ほかの指示と矛盾する指示は守られないことがあります。
「本番のデータベースには絶対に触らせない」のように、必ず止めたい操作がある場合は、CLAUDE.mdに書くだけでなくフック(決まったタイミングで必ず動く仕組み)や、権限の設定で止めるのが確実です。CLAUDE.mdは「こう動いてほしい」という方針、フックや権限は「これはさせない」という仕組み、と分けて考えましょう。
自動メモリとの違い
Claude Codeには、CLAUDE.mdのほかに「自動メモリ」という記憶の仕組みもあります。どちらも毎回のセッションの最初に読み込まれますが、書く人と中身が違います。
| CLAUDE.md | 自動メモリ | |
|---|---|---|
| だれが書くか | 自分(チームのメンバー) | Claude |
| 中身 | 指示・ルール | 作業の中で分かった好みや注意点 |
| 範囲 | プロジェクト・個人・組織 | リポジトリ(作業フォルダ)ごと |
| 読み込まれる量 | ファイル全体 | 索引ファイル(MEMORY.md)の先頭200行または25KBまで |
| 共有 | Gitで共有すればチーム全員 | そのパソコンだけ |
「覚えて」と「CLAUDE.mdに追加して」は別の動き
作業中にClaudeへ「pnpmを使うことを覚えて」と頼むと、自動メモリに保存されます。チーム全員に効くルールとして残したいときは、「これをCLAUDE.mdに追加して」とはっきり頼むか、自分でファイルを編集します。自動メモリの中身は /memory から確認・編集できます。
自動メモリの保存場所と切り替え
自動メモリは、パソコンの ~/.claude/projects/<プロジェクト>/memory/ に保存されます。中には索引の MEMORY.md と、テーマごとのメモのファイルが入っています。どれもふつうのMarkdownなので、読んだり、消したり、書き直したりできます。
自動メモリは、ふだんの環境では最初からオンになっています。オフにしたいときは、/memory の切り替えを使います。特定のプロジェクトだけオフにしたいときは、そのプロジェクトの設定で autoMemoryEnabled を false にします。自動メモリはそのパソコンの中だけに保存され、ほかのパソコンやクラウドの環境とは共有されません。チームで共有したい決まりごとは、自動メモリに任せずCLAUDE.mdに書くのが基本です。
置き場所と読み込まれる順番

CLAUDE.mdは、置く場所によって効く範囲が変わります。公式ドキュメントでは、次の4種類が案内されています。
| 種類 | 場所 | 効く範囲 | 書く内容の例 |
|---|---|---|---|
| 組織 | macOS:/Library/Application Support/ClaudeCode/CLAUDE.mdLinux・WSL: /etc/claude-code/CLAUDE.mdWindows: C:\Program Files\ClaudeCode\CLAUDE.md | そのパソコンを使う全員・全プロジェクト | 会社のセキュリティ方針、コードの基準 |
| ユーザー | ~/.claude/CLAUDE.md | 自分の全プロジェクト | 自分の好みの書き方、よく使う道具 |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md | そのプロジェクト(Gitでチームと共有) | 構成、コマンド、命名のルール |
| ローカル | ./CLAUDE.local.md | 自分だけ・そのプロジェクトだけ | 自分の検証用URL、試験用のデータ |
いちばんよく使うのはプロジェクトのCLAUDE.mdです。プロジェクトのフォルダの一番上(ルート)に置き、Gitで管理すれば、同じリポジトリを使う人全員に同じ指示が効きます。
組織のCLAUDE.mdは、情報システムの担当者が管理ツールで配るためのものです。個人の設定で外すことはできません。ファイルを配る代わりに、組織で管理する設定ファイル(managed-settings.json)の claudeMd という項目に内容を直接書く方法もあります。
なお、--add-dir で作業フォルダの外のフォルダを追加した場合、そのフォルダのCLAUDE.mdは初期設定では読み込まれません。読み込ませたいときは、環境変数 CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 を設定して起動します。
読み込まれる順番
Claude Codeは、作業を始めたフォルダと、その上にあるすべてのフォルダからCLAUDE.mdとCLAUDE.local.mdを探して読み込みます。見つかったファイルは、どれか1つが選ばれるのではなく、すべてつなげて読み込まれます。
- 広い範囲のもの(組織→ユーザー→プロジェクト)から順に読み込まれる
- フォルダの階層では、上の階層から順に読み込まれ、作業を始めたフォルダに近いものほど後に読まれる
- 同じフォルダでは、CLAUDE.mdのあとにCLAUDE.local.mdが読まれる
たとえば foo/bar/ で起動すると、foo/CLAUDE.md のあとに foo/bar/CLAUDE.md が読まれます。後から読まれたものが前のものを消すわけではないので、内容が矛盾しないように書くことが大切です。
サブフォルダのCLAUDE.mdは必要になったときに読まれる
作業フォルダの下にあるフォルダのCLAUDE.mdは、起動時には読み込まれません。Claudeがそのフォルダの中のファイルを読んだり書いたりしたときに、はじめて読み込まれます。
この仕組みを使うと、「全体の決まりはルートのCLAUDE.mdに」「管理画面の細かいルールは admin/CLAUDE.md に」のように分けられます。管理画面を触らない作業では、そのルールは読み込まれないので、Claudeが読む量も減ります。
人だけに見せたいメモはHTMLコメントで
CLAUDE.mdの中の <!-- メモ --> のようなHTMLコメントは、Claudeに渡す前に取り除かれます。「この項目は○○さんに確認済み」のような、人のためのメモを残したいときに使えます。コメントはClaudeの読み込み量にも数えられません。
CLAUDE.mdの作り方

CLAUDE.mdは自分で一から書くこともできますが、最初は /init コマンドで下書きを作ってもらうのが早道です。
- プロジェクトのフォルダでClaude Codeを起動するターミナルでプロジェクトのフォルダに移動し、
claudeと入力して起動します。 - /initを実行する
/initと入力すると、Claudeがフォルダの中を調べ、ビルドやテストのコマンド、見つけた決まりごとをまとめたCLAUDE.mdを作ります。すでにCLAUDE.mdがある場合は、上書きせずに改善案を出します。 - 中身を確認して直すできたファイルを開き、間違いや足りないところを直します。Claudeがコードから読み取れない決まりごと(社内の約束、使ってはいけない書き方など)は、ここで書き足します。
- 読み込まれているか確かめる新しいセッションで
/contextを実行し、「Memory files」の一覧にCLAUDE.mdが出ているかを確認します。 - Gitで共有するプロジェクトのCLAUDE.mdをコミットすれば、チームのメンバーも同じ指示で作業できます。
環境変数 CLAUDE_CODE_NEW_INIT=1 を設定してから /init を実行すると、CLAUDE.mdのほかにスキルやフックも作るかどうかを聞きながら、対話形式で進めることもできます。
/initは、ほかのAIツールの指示ファイルも読み取って取り込みます。Cursorの .cursor/rules/ や .cursorrules、GitHub Copilotの .github/copilot-instructions.md があれば、関係する部分がCLAUDE.mdに反映されます。
/memoryで開いて編集する
作業中に /memory と入力すると、ユーザー・プロジェクトそれぞれのCLAUDE.mdやCLAUDE.local.mdの一覧が出ます。選ぶとエディタで開けるので、ファイルの場所を探さずに編集できます。まだ無いファイルを選ぶと、その場で作られます。
自分だけの設定はCLAUDE.local.mdに
「自分の検証用サーバーのURL」のように、チームと共有しない設定は CLAUDE.local.md に書きます。CLAUDE.mdと同じように読み込まれます。うっかり共有しないよう、.gitignore(Gitの管理から外すファイルの一覧)に追加しておきましょう。
何を書くか

公式ドキュメントでは、CLAUDE.mdを「放っておくと毎回説明し直すことを書いておく場所」と位置づけています。書き足すタイミングとして挙げられているのは、次のようなときです。
- Claudeが同じ間違いを2回した
- コードレビューで、Claudeが知っておくべきだったことを指摘された
- 前回のセッションと同じ訂正を、またチャットで打ち込んだ
- 新しいメンバーが入ったら、同じ説明が必要になる
書くとよいこと
- コマンド:起動、ビルド、テスト、デプロイ(公開)の方法
- 決まりごと:命名のルール、インデント、使うライブラリ、使わないライブラリ
- 構成:どのフォルダに何があるか(Claudeがコードから読み取りにくい部分)
- 落とし穴:「この設定ファイルは自動生成なので直接編集しない」のような注意
- 作業の流れ:「変更したら必ずテストを通してからコミットする」など
書かない方がいいこと
何でも書けばよいわけではありません。長いファイルはClaudeが読む量(コンテキスト)を圧迫し、かえって指示が守られにくくなります。
- コードを読めば分かること(フォルダの一覧、依存ライブラリの一覧など)
- 何段階もある長い手順(スキルに分ける)
- 一部のファイルにしか関係しないルール(後述の
.claude/rules/に分ける) - パスワードやAPIキーなどの秘密の情報
具体的に、確かめられる形で書く
公式ドキュメントでは、守られたかどうかを確かめられるくらい具体的に書くよう勧めています。
| 伝わりにくい書き方 | 伝わる書き方 |
|---|---|
| コードをきれいに整える | インデントは半角スペース2つにする |
| 変更したらテストする | コミットの前に npm test を実行し、すべて通ることを確かめる |
| ファイルを整理しておく | APIの処理は src/api/handlers/ に置く |
| 丁寧な文章で書く | 画面に出す文言は、です・ます調で、1文40字以内にする |
見出しと箇条書きで項目ごとに分けると、Claudeも読み取りやすくなります。段落でまとめて書くより、1行に1つのルールを書く形がおすすめです。
テンプレート例
中小企業のWebサイトをClaude Codeで作る場合を想定した例です。これは当社で用意した書き方の見本で、公式のテンプレートではありません。自分のプロジェクトに合わせて書き換えて使ってください。
# プロジェクトの概要
- 株式会社〇〇のコーポレートサイト(Next.js)
- 公開は Vercel。main ブランチに push すると自動で公開される
# コマンド
- 開発サーバー:npm run dev
- ビルド:npm run build
- テスト:npm test(コミットの前に必ず実行)
# 決まりごと
- インデントは半角スペース2つ
- 画像は public/images/ に置き、ファイル名は英小文字とハイフンだけ
- 画面に出す文言は、です・ます調
- 色はコードに直接書かず、src/styles/tokens.css の変数を使う
# 注意
- src/content/ の記事ファイルはCMSから自動生成される。直接編集しない
- .env には秘密の情報が入っている。読んだり表示したりしない
- 本番の問い合わせフォームの送信先は変更しない
# 作業の流れ
- 大きな変更の前に、変更の方針を箇条書きで示してから始める
- 変更が終わったら、変更したファイルと確認方法をまとめて報告する
Claude Codeはプログラムだけでなく、文書づくりのような仕事にも使えます。たとえば、ブログ記事の原稿をフォルダで管理している場合は、次のような書き方が考えられます(こちらも当社で用意した見本です)。
# このフォルダについて
- 自社ブログの記事原稿。1記事1ファイル(drafts/ に下書き、published/ に公開済み)
- 読者は中小企業の経営者・総務の担当者。専門用語は初出で言い換える
# 書き方のルール
- です・ます調。1文は60字以内を目安にする
- 見出しは短く。「AとB」のように2つをつなげない
- 料金・日付・数字は公式ページで確かめ、出典のURLを記事の最後に書く
- 確かめられないことは書かないか、「未確認」と書く
# やってはいけないこと
- published/ のファイルは、指示がない限り変更しない
- お客様の名前や実績を、資料にないのに書かない
このように、だれに向けて、どんなルールで、何をしてはいけないかを書いておくと、事務・企画の仕事でもClaude Codeの出力が安定します。
最初から完璧を目指さない
最初は/initで作った下書きに、どうしても守ってほしいことを数行足すだけで十分です。使っていく中で、Claudeが同じ間違いをしたら1行足す、もう要らなくなった行は消す、という手入れを続けると、短くて効くファイルになります。
長くなったときの分け方

公式ドキュメントでは、CLAUDE.mdは1ファイルあたり200行未満を目安にするよう書かれています。長いファイルは読み込む量が増え、指示が守られにくくなるためです。なお、4MiBを超えるファイルは読み込まれません。決められた長さを超えると、起動時や /status で警告が出ます。
@インポートで別のファイルを読み込む
CLAUDE.mdの中に @ファイルのパス と書くと、そのファイルの内容も一緒に読み込まれます。
プロジェクトの概要は @README.md を参照。
使えるコマンドは @package.json を参照。
# 追加の指示
- Gitの運用ルール @docs/git-instructions.md
- 相対パスは、作業フォルダではなくインポートを書いたファイルからの位置で決まる
- 読み込んだファイルの中でさらにインポートでき、最大で4段階まで
- プロジェクトの外のファイルを読み込むときは、最初に承認の画面が出る
- パスを書くだけで読み込ませたくないときは、
`@README`のようにバッククォートで囲む
注意したいのは、インポートは整理には役立つが、読み込む量は減らないという点です。インポートしたファイルも起動時にすべて読み込まれます。量を減らしたいときは、次の .claude/rules/ を使います。
.claude/rulesで対象のファイルを絞る
プロジェクトの .claude/rules/ フォルダに、テーマごとのMarkdownファイル(testing.md、api-design.md など)を置けます。ファイルの先頭に paths を書くと、そのパターンに合うファイルを扱うときだけ読み込まれます。
---
paths:
- "src/api/**/*.ts"
---
# APIのルール
- すべてのAPIで入力のチェックを行う
- エラーの返し方は共通の形にそろえる
paths を書かないルールは、CLAUDE.mdと同じく毎回読み込まれます。自分の全プロジェクトに効かせたいルールは、~/.claude/rules/ に置きます。
手順はスキルに分ける
「記事を公開するときの10の手順」のような長い手順は、CLAUDE.mdではなくスキル(必要なときだけ読み込まれる手順書)にするのが向いています。スキルは、呼び出したときや、Claudeが関係あると判断したときだけ読み込まれるので、ふだんの作業の邪魔になりません。
| 仕組み | 読み込まれるタイミング | 向いている内容 |
|---|---|---|
| CLAUDE.md | 毎回の起動時 | いつも守ってほしい決まり、コマンド、構成 |
| .claude/rules(paths あり) | 対象のファイルを扱うとき | 特定のフォルダや種類のファイルだけのルール |
| サブフォルダのCLAUDE.md | そのフォルダのファイルを扱うとき | 一部の機能だけの決まり |
| スキル | 呼び出したとき・関係があるとき | 何段階もある作業の手順 |
| フック | 決まったタイミングで必ず動く | コミット前の自動チェックなど、確実に実行したいこと |
AGENTS.mdとの関係

AGENTS.mdは、OpenAIのCodexなど、ほかのAIコーディングツールで使われている指示書のファイルです。Claude Codeは、v2.1.277以降、このAGENTS.mdも読めるようになりました。リポジトリにあるファイルによって、読まれるものが次のように変わります。
| リポジトリにあるファイル | Claude Codeが読むもの |
|---|---|
| AGENTS.mdだけ(CLAUDE.md・CLAUDE.local.mdが無い) | AGENTS.md |
| AGENTS.mdとCLAUDE.md(またはCLAUDE.local.md) | CLAUDE.mdだけ |
| AGENTS.mdを読み込むCLAUDE.md | CLAUDE.md(AGENTS.mdはインポートで読まれる) |
つまり初期設定では、CLAUDE.mdがあるとAGENTS.mdは読まれません。自分用にCLAUDE.local.mdを置いただけでも、AGENTS.mdは読まれなくなるので注意が必要です。
両方を読ませたいとき
方法は2つあります。1つは、Claude Codeで /config を開き、「Project instructions」を claude-md-and-agents-md にする方法です。こうすると、各フォルダのCLAUDE.mdを読んだあとにAGENTS.mdも読みます。
もう1つは、CLAUDE.mdの先頭に @AGENTS.md と書いてインポートする方法です。共通のルールはAGENTS.mdに書き、Claude Code向けの指示だけをその下に足せます。CodexとClaude Codeを併用しているチームなら、指示を1か所で管理できます。
@AGENTS.md
## Claude Code向け
- src/billing/ を変更するときは、先に計画を示してから作業する
シンボリックリンクを使う場合の注意
ln -s AGENTS.md CLAUDE.md のように、CLAUDE.mdをAGENTS.mdへのリンクにする方法もあります。ただし、Windowsでリポジトリを使う人がいる場合はおすすめされていません。Windowsではリンクの作成に管理者の権限などが必要で、設定によってはリンクがただの1行のテキストとして取り込まれ、指示が読まれなくなるためです。チームにWindowsの人がいるなら、インポートの方法を使いましょう。
指示が効かないときの確認

CLAUDE.mdに書いたのに守られない、というときは、次の順に確認します。
| 確認すること | 方法 |
|---|---|
| そもそも読み込まれているか | /context を実行し、「Memory files」に出ているか見る。出ていなければClaudeには見えていない |
| 置き場所は正しいか | 起動したフォルダか、その上の階層にあるか。サブフォルダのものは、そのフォルダのファイルを扱うまで読まれない |
| 指示は具体的か | 「きれいに」「ちゃんと」などのあいまいな言葉を、確かめられる形に書き直す |
| 矛盾していないか | ユーザー・プロジェクト・サブフォルダ・rulesで、同じことに違う指示を書いていないか |
| 長すぎないか | 200行を大きく超えていれば、rulesやスキルに分ける |
| 会話で伝えただけになっていないか | /compact(会話の要約)のあとも残るのは、ルートのCLAUDE.mdなど。会話だけで伝えた指示は消えることがある |
/doctor prompt-auditで点検する
v2.1.283以降では、/doctor prompt-audit を実行すると、Claudeが指示のファイルを点検してくれます。古いモデル向けの書き方、存在しないファイルやコマンドへの言及、ファイル同士の矛盾などを見つけて、直し方を提案します。提案を確認して頼むまで、ファイルは変更されません。
大きなリポジトリで、関係のない部署のCLAUDE.mdまで読み込まれてしまう場合は、設定の claudeMdExcludes で特定のファイルを読み込まないようにできます。
秘密の情報は書かない
プロジェクトのCLAUDE.mdはGitで共有するファイルです。パスワード、APIキー、顧客の個人情報などは書かないでください。秘密の情報は環境変数や専用の管理の仕組みに置き、CLAUDE.mdには「.envは読まない・表示しない」のようなルールだけを書きます。また、他人が作ったリポジトリのCLAUDE.mdは、使う前に一度中身を読んでおくと安心です。
よくある質問
CLAUDE.mdは必ず作らないといけませんか?
必須ではありません。無くてもClaude Codeは動きます。ただ、毎回同じ説明をしているなら、CLAUDE.mdに書いておくと手間が減り、作業の結果もそろいやすくなります。
ファイル名は小文字のclaude.mdでもいいですか?
公式ドキュメントで案内されているファイル名は、大文字の「CLAUDE.md」と「CLAUDE.local.md」です。確実に読み込ませるため、この名前で作ってください。
日本語で書いても大丈夫ですか?
日本語で書いて問題ありません。大切なのは言語よりも、具体的で、矛盾がなく、短いことです。
ClaudeのアプリやCoworkでもCLAUDE.mdは使われますか?
CLAUDE.mdはClaude Codeの仕組みです。Claudeのアプリでは、「設定」の「Claudeへの指示」やプロジェクトの指示など、別の場所に指示を書きます。
CLAUDE.mdを書き換えたら、すぐに反映されますか?
起動時に読み込まれるファイルなので、確実に反映させるには新しいセッションを始めるのが分かりやすい方法です。反映されたかどうかは /context で確認できます。
AGENTS.mdとCLAUDE.mdはどちらに書けばいいですか?
Claude Codeだけを使うならCLAUDE.mdで十分です。CodexなどほかのAIツールも使うなら、共通のルールをAGENTS.mdに書き、CLAUDE.mdから @AGENTS.md で読み込む形にすると、1か所で管理できます。
すでにCLAUDE.mdがあるときに/initを実行すると、上書きされますか?
上書きはされません。公式ドキュメントでは、CLAUDE.mdがすでにある場合、/initは改善案を出すと説明されています。案を確認して、必要なものだけ取り入れてください。
CLAUDE.mdに書いたのに、守られないことがあるのはなぜですか?
CLAUDE.mdは強制の設定ではなく、前提の情報として読まれるためです。あいまいな指示や、ほかのファイルと矛盾する指示は守られにくくなります。必ず実行したいこと、必ず止めたいことは、フックや権限の設定を使います。
まとめ
この記事のまとめ
- CLAUDE.mdは、Claude Codeが毎回のセッションの最初に読み込む指示書。強制ではなく前提として読まれる
- 置き場所は組織・ユーザー・プロジェクト・ローカルの4種類。見つかったものはすべてつなげて読まれる
- 最初は /init で下書きを作り、同じ注意を2回したら書き足す
- 1ファイル200行未満が目安。長くなったら .claude/rules やスキルに分ける
- CLAUDE.mdがあるとAGENTS.mdは読まれない。両方使うなら @AGENTS.md か /config で設定する
- 効かないときは /context で読み込みを確かめ、具体性と矛盾を見直す
CLAUDE.mdを整えておくと、Claude Codeを社内の複数の人で使うときにも、作業の進め方をそろえやすくなります。INTERCREATE JAPANでは、Claude Codeの導入や、社内向けのCLAUDE.md・ルールづくりのご相談を受け付けています。
参考・出典
INTERCREATE JAPAN
