Claude Code を初めて触ったとき、プロジェクトで /init を打ったら、見慣れない .claude というフォルダが勝手にできていました。「作られたのは分かる。けど、これ何…? どういう役割で、どう使えば気が利くんだ?」って、しばらく手が止まったのを覚えています。検索したり AI に聞いたりを、何度も繰り返しました。
同じところで「ん?」となった人、たぶんけっこういるんじゃないでしょうか。この記事は、そのとき自分が調べて腹落ちした内容を、Claude Code を使い始めた人向けに整理し直したものです。ざっくり、次の4つに答えます。
.claudeとCLAUDE.mdは何が違って、それぞれ何の役割なのか- どこに置くのが基本なのか(
/initはどこで実行する?) - ルート直下に置くのと、下の階層に置くのは何が違うのか
- 結局、どう使うのが効果的なのか
ちなみに中身は Claude Code の公式ドキュメント(How Claude remembers your project)がベースです。仕様はちょこちょこ変わるので、最終的な挙動はお使いのバージョンで確かめてくださいね。
さきに結論(要点だけ先に)
細かい話は後回しにして、先に答えだけ並べます。急ぎの人はここだけ読めば、だいたいOKです。
| 疑問 | ざっくり結論 |
|---|---|
.claude と CLAUDE.md の違いは? | CLAUDE.md =自分が書く「指示書」。.claude/ =設定を入れておく「箱」。基本はこの2つがプロジェクトの一番上のフォルダに並んで置かれる |
| どこに置くのが基本? | プロジェクトの一番上のフォルダ(ルート直下)。/init もそこで実行する |
| ルート直下 vs 下の階層は? | まずはルート直下に1つでOK。扱う範囲がはっきり分かれてきたら、下の階層にも足す |
| 効果的な使い方は? | 指示書(CLAUDE.md)は小さく保つのがコツ。長くなってきたら、役割ごとに別ファイルへ分ける |
この記事でいう「ルート直下」とは、プロジェクトの一番上の階層(フォルダを開いて最初に見える場所)のことです。
ここから先は、それぞれを順番に、かみ砕いて説明していきます。
そもそも .claude と CLAUDE.md とは?役割の違い
まずは混乱の元から片付けます。名前は似てるし、/init で同時に出てくるしで一緒くたに見えますが、この2つ、役割は別物です。ざっくり言うと——CLAUDE.md は「自分が書く指示書」、.claude/ は「設定を入れておく箱」。これだけ押さえれば、もう半分終わったようなものです。

CLAUDE.md = あなたが書く「指示書」
CLAUDE.md は、プロジェクトの前提を Claude に覚えさせておくためのファイルです。Claude Code ってセッション(作業のひと区切り)のたびに記憶ゼロで立ち上がるんですが、CLAUDE.md だけは毎回のスタート時に読み込まれる。だからここに書いたことは、ずっと効き続けます。
中身は、要するに「毎回チャットで説明し直してるアレ」です。よく使うコマンド、書き方のルール、フォルダ構成、「常に○○して」みたいなお願いごと。新しく入った人に最初に渡す前提資料を、毎回自動で手渡している感じですね。
.claude/ = 設定・拡張をまとめる「箱」
対して .claude/ は、ファイルじゃなくてフォルダ。Claude Code の設定や拡張を置いておく場所です。たとえばこんなものが入ります。
settings.json:権限や使うAIモデルなどの設定rules/:話題やファイルの種類ごとに分けた指示(後で出てきます)skills/:必要なときだけ呼び出す作業手順agents/:特定の作業を任せるための専用設定
/init で作られるのは、だいたいこの .claude/ と CLAUDE.md の2つ、というわけです。
よくある誤解 ─ この2つは「並ぶ」もの
ここ、地味につまずきやすいポイントです。.claude/ の中に CLAUDE.md が入ってる、と思い込みがちなんですが、基本はプロジェクトの一番上に CLAUDE.md(ファイル)と .claude/(フォルダ)が横並びになります。
project-root/ ← プロジェクトの一番上
├── CLAUDE.md ← 指示書(ファイル)
├── .claude/ ← 設定の箱(フォルダ)
│ ├── settings.json
│ └── rules/
└── src/
一応、指示書の CLAUDE.md は、一番上に直接置いても、.claude/ の中に置いてもどちらでも読み込まれます。ただ最初は、分かりやすく一番上に直接置く形で十分かなと思います。
どこに置くのが基本? ルート直下が原則の理由
結論はさっき書いたとおりで、基本はプロジェクトの一番上(ルート直下)。/init もそこで実行します。なんでそこなの?というのは、「置いた場所によって、どこまで効くかが変わる」という仕組みを知るとスッと分かります。
置き場所で「効く範囲」が変わる
CLAUDE.md は、置く場所によって効く範囲が変わります。広い順に、だいたい4種類あります。
| 置き場所 | どんな指示向き? | 効く範囲 |
|---|---|---|
| パソコンの決まった場所(会社支給など) | 会社・組織のルール | 組織のみんな |
| 自分専用のフォルダ | 自分の好み・全プロジェクト共通 | 自分だけ・全部のプロジェクト |
| プロジェクトの一番上(ルート直下) | そのプロジェクトのルール・構成 | チーム(共有していればみんな) |
| プロジェクト内の個人用ファイル | 自分の・このプロジェクト限定の設定 | 自分だけ・このプロジェクト |
この中で、プロジェクトの一番上に置いた CLAUDE.md が、いわゆる「基本の置き場所」です。プロジェクト全体に効かせたくて、しかもファイルをチームで共有していればみんなに配られる——だからここが基本、というわけですね。
「自分の手元だけで試したい設定」を分けたいときは、CLAUDE.local.md という個人用の別ファイルに書いておけます(.gitignore に入れておけば、チームには共有されません)。
/init はプロジェクトの一番上で実行する
/init は、プロジェクトのファイルをざっと読み込んで、よく使うコマンドや見つけたルールをまとめた CLAUDE.md を自動で作ってくれるコマンドです。すでに CLAUDE.md がある場合は、勝手に上書きせず、改善の提案にとどめてくれます。
注意点はシンプルで、/init はプロジェクトの一番上で実行すること。作られる CLAUDE.md と .claude/ もそこに置かれます。冒頭の「ルートに .claude ができてた」は、まさにこの動きでした。
ルート直下と下層、どう違う?【メリット・デメリット】
「下のフォルダにも置いていいの?」——いいんです。ただ、読み込まれ方が変わるので、そこだけ押さえて使うのがコツです。
読み込みの仕組み
Claude Code は、いま作業している場所から上の階層へさかのぼって CLAUDE.md を探して、見つけたものを全部つなげて使います。上書きじゃなくて足し算です。順番は一番上が先で、作業中の場所に近いものが後。なので作業している場所に近い(下層の)指示ほど後に読まれて、効きやすいわけです。

もう一つ大事なのが、下層に置いた CLAUDE.md は、スタート時には読まれないこと。Claude がそのフォルダのファイルを実際に触ったときに、はじめて読み込まれます(=必要になったときだけ読まれる)。
下層に置くメリット
この「必要なときだけ読まれる」仕組みが、そのまま下層配置のうまみになります。
- 扱う範囲を分けられる:1つのリポジトリの中に、性質のちがう区画がいくつもあるとき、フォルダごとに固有のルールを持たせられる
- 一番上の指示書を汚さない:その区画でしか要らない細かい指示を、共通の指示書に押し込まずに済む
- 読み込む量を節約できる:常に読まれるわけじゃないので、関係ない作業のときに余計な分量を抱え込まずに済む(AIが一度に扱える文章量には上限があるので、これは地味に効きます)
下層に置くデメリット
いいことばかりでもなくて、注意点もあります。
- 会話の途中で抜けることがある:会話が長くなると、Claude Code は途中で内容を自動で要約します(この機能は
/compactと呼ばれます)。その後、一番上のCLAUDE.mdは読み直されますが、下層のものは自動では戻ってきません。そのフォルダのファイルを次に触るまで、抜けたままになることがあります - 矛盾すると不安定:複数の
CLAUDE.mdが食い違う指示を出すと、Claude はどっちかを場当たり的に選んでしまうことがあります
実用上の落としどころは、こんな感じです。まずは一番上の1枚で回して、扱う範囲がはっきり分かれていて、かつ指示がケンカしないときだけ下層を足す。 最初から階層を凝りすぎないのが、ハマらないコツです。
最も効果的な使い方【実務での型】
仕組みが分かったら、あとは「で、どう使うと気が利くの?」です。ここは公式の推奨と、実際に使った肌感が一致していて、原則はわりとシンプルです。
指示書(ルート)は小さく、軽く保つ(目安200行未満)
CLAUDE.md は、作業のたびに丸ごと読み込まれます。つまり長くするほど読み込む量が増えて、AIの処理が重くなるし、逆に指示を守ってくれる精度も落ちる。公式も、目安として200行未満を挙げています。
なので、ここに書くのは「毎回ぜったい守ってほしいこと」だけに絞ります。よく使うコマンド、書き方のルール、フォルダ構成、「常に○○する」。逆に、手順が長いものや一部でしか使わない話は、ここには置かず別の場所へ逃がす——これが基本方針です。
細かい話は .claude/rules/ へ、手順モノは skills へ
逃がす先が、さっき出てきた .claude/rules/ です。話題ごとにファイルを分けておき(たとえば「テスト用」「デザイン用」みたいに)、「このフォルダを触ったときだけ使う」と対象を決めておくと、必要なときだけそのルールが読まれます。常時じゃなく必要なときだけ効くので、一番上の指示書を軽く保てます。
決まった作業手順そのものは、skills(スキル)にするのが向いています。普段は読み込まれず、呼ばれたときだけ動く仕組みです。
とはいえ、
rulesやskillsの本格的な活用は、正直まだ自分も試している途中です。なのでここは「こういう逃がし先がある」という整理として読んでもらえれば。「一番上の指示書が太ってきたら、まずrules/への切り出しから」——次の一歩はそのくらいの感覚でいます。
一番上を小さく保つ実例
抽象論だけだとピンと来ないので、自分の例を一つ。あるとき、定型のレポートみたいな原稿を継続的に作って管理する仕組みを、Claude Code で組んだことがありました。最初はファイルを分けられることを知らず全部 CLAUDE.md にルールが書き込まれ、その結果ファイルはみるみる膨らみ、中身も複雑化して自分でもどこに何が書いてあるのか分からなくなりました。
そこでファイルを分けられることを知り方針転換。CLAUDE.md は「システムの動き+最低限のルール」だけに絞って、残りを役割ごとに別ファイルへ分けて、まとめ用のフォルダ(docs/)に置きました。
project-root/
├── CLAUDE.md ← システムの動き・最低限のルールだけ
└── docs/
├── 方針.md ← 何を・なぜ作るか
├── 出力フォーマット.md ← 成果物の体裁
├── 決めごとの記録.md ← 決めたことのログ
└── 進捗.md ← タスク・期限

効果はシンプルで、一番上の指示書が短く保てたのと、「どこを直せばいい?」が自分にも Claude にも一発で分かるようになったこと。やってることは、公式の言う「一番上は小さく、役割ごとに分ける」をそのままなぞっただけです。でも、一度自分の手で組んでみると、原則の意味がストンと腹落ちします。
まとめ|まずは /init から始めよう
最後に、4つの疑問への答えをサクッと整理します。
.claudeとCLAUDE.mdの違い:CLAUDE.mdは「自分が書く指示書」、.claude/は「設定をまとめる箱」。基本はプロジェクトの一番上に並ぶ- 置き場所:基本はプロジェクトの一番上(ルート直下)。
/initもそこで実行 - ルートと下層の違い:上へさかのぼって全部つなげて読まれ、下層は必要になったときだけ読まれる。範囲分けに便利だけど、自動要約のあと抜けたり、指示が矛盾すると弱いので、使いどころは選ぶ
- 効果的な使い方:一番上の指示書は小さく保つ。膨らんできたら役割ごとにファイルを分ける
.claude は、正体さえ分かれば全然こわくないです。まず /init で土台を作って、一番上は小さく保ちつつ、増えてきたら役割で分けていく。この順で触れば、Claude Code は「毎回説明し直す相手」から「前提を分かってる相棒」に変わっていきます。
Claude Code や生成AIを業務に取り入れていくと、こういう設定ファイルの設計って意外と属人化しやすくて、放っておくと肥大化して破綻しがちです。「個人で試すところまでは来たけど、チームや業務フローにどう定着させればいいか分からない」——そんな段階の設計・運用のお手伝いをしています。AI活用の導入相談やWebサイトの運用サポートは、[お問い合わせ]から気軽にどうぞ。

