Skip to content

Architect 3.1:CLAUDE.md の階層と整理 ​

Architect 分野 3:Claude Code の設定と使い方 の課題 3.1「CLAUDE.md を、階層、範囲、分け方を考えて設定する」を、試験ガイドの項目ごとに詳しく見ます。

この課題の項目 ​

試験ガイドは、この課題について、「知っておくこと」4 項目と「できること」4 項目を挙げています。項目の文は、このサイトで要約したものです。

番号種類項目
K1知っておくことCLAUDE.md の階層(利用者、プロジェクト、サブフォルダー)
K2知っておくこと利用者の CLAUDE.md は、チームに共有されない
K3知っておくこと@ のインポートで、CLAUDE.md を部品に分けられる
K4知っておくこと大きな CLAUDE.md の代わりに、.claude/rules/ に話題ごとのファイルを置ける
S1できること決まりが一部の人に効かない原因を、置き場所から突き止める
S2できることパッケージごとの CLAUDE.md で、必要な決まりだけをインポートする
S3できること大きな CLAUDE.md を、話題ごとのルールのファイルに分ける
S4できること/memory などで、読み込まれているファイルを確かめ、動きのばらつきの原因を探る

K1 CLAUDE.md の階層 ​

  • 要点
    • CLAUDE.md は、組織(管理)、利用者、プロジェクト、サブフォルダーに置ける。プロジェクトには、自分だけの CLAUDE.local.md も置ける。
    • 作業フォルダーと、その上のフォルダーの CLAUDE.md は、起動したときに読み込まれる。サブフォルダーの CLAUDE.md は、Claude がそのフォルダーのファイルを扱ったときに読み込まれる。
    • 見つかったファイルは、上書きし合わずに、つなげて読み込まれる。根のフォルダーから作業フォルダーに向かって順に並び、作業フォルダーに近いものほど後に来る。同じフォルダーでは、CLAUDE.local.md が CLAUDE.md の後に来る。
  • 公式ドキュメント:Memory の「Choose where to put CLAUDE.md files」「How CLAUDE.md files load」
置き場所場所共有される相手読み込まれるとき
組織(管理)macOS では /Library/Application Support/ClaudeCode/CLAUDE.mdその PC の全員起動したとき
利用者~/.claude/CLAUDE.md自分(すべてのプロジェクト)起動したとき
プロジェクト./CLAUDE.md または ./.claude/CLAUDE.mdチーム(Git で共有)起動したとき
自分だけ(プロジェクト)./CLAUDE.local.md自分(そのプロジェクト)起動したとき
サブフォルダー./src/api/CLAUDE.md などチーム(Git で共有)そのフォルダーのファイルを扱ったとき
  • このサイトでの例:このサイトの CLAUDE.md は、リポジトリの直下にあり、Git で共有している。サブフォルダーの CLAUDE.md は置いていない。
  • 試験での見分け方:「どこに置けば、誰に、いつ効くか」を、表の 3 つの列で答えられるようにする。
  • 紛らわしいもの:「つなげて読み込まれる」ので、後から読まれるものが前のものを消すわけではない。矛盾する指示があると、Claude はどちらかを選んでしまうことがある。

K2 利用者の CLAUDE.md は、チームに共有されない ​

  • 要点:~/.claude/CLAUDE.md は、自分の PC の、自分のアカウントにだけある。Git で共有されないので、チームのほかのメンバーには届かない。
  • 公式ドキュメント:Memory の「Choose where to put CLAUDE.md files」。利用者の CLAUDE.md の共有の範囲は「自分だけ(すべてのプロジェクト)」とされている。
  • このサイトでの例:このサイトの CLAUDE.md に書いた「main へ直接 push しない」は、Git で共有されるので、このリポジトリで Claude Code を使う人なら誰にでも届く。同じ内容を自分の ~/.claude/CLAUDE.md に書いていたら、自分にしか届かない。
  • 試験での見分け方:「チーム全員に守らせたい」決まりは、プロジェクトの CLAUDE.md。「自分の好み」は、利用者の CLAUDE.md。
  • 紛らわしいもの:CLAUDE.local.md も自分だけに効くが、範囲は「そのプロジェクトだけ」。~/.claude/CLAUDE.md は「すべてのプロジェクト」。

K3 @ のインポートで、CLAUDE.md を部品に分けられる ​

  • 要点
    • CLAUDE.md の中に @パス と書くと、そのファイルが一緒に読み込まれる。
    • 相対パスは、書いたファイルの場所からたどる(作業フォルダーからではない)。
    • 取り込んだファイルから、さらに取り込める。ただし 4 段まで。
    • バッククォートで囲んだ @ は、取り込まれない。
    • プロジェクトの CLAUDE.md から、作業フォルダーの外のファイルを取り込むときは、初めての一度だけ、承認を求める画面が出る。ほかの人がコミットしたファイルから守るため。
  • 公式ドキュメント:Memory の「Import additional files」
  • このサイトでの例:このサイトの CLAUDE.md では、インポートを使っていない。
  • 試験での見分け方:インポートは「整理」のための仕組み。
  • 紛らわしいもの:インポートしたファイルも、CLAUDE.md と一緒にいつも読み込まれるので、コンテキストの節約にはならない。必要なときだけ読み込ませたいなら、paths 付きのルール(3.3)か、スキルを使う。

K4 .claude/rules/ に話題ごとのファイルを置ける ​

  • 要点
    • プロジェクトの .claude/rules/ に Markdown のファイルを置くと、ルールとして読み込まれる。1 つのファイルに 1 つの話題を書き、testing.md のように中身が分かる名前を付ける。サブフォルダーにも分けられる。
    • paths のないルールは、起動したときに、.claude/CLAUDE.md と同じ扱いで読み込まれる。
    • 自分だけのルールは ~/.claude/rules/ に置ける。すべてのプロジェクトに効く。
  • 公式ドキュメント:Memory の「Organize rules with .claude/rules/」
  • このサイトでの例:このサイトでは、まだ使っていない(分野 3 のページの「実際にやってみる」で、試しに作って消した)。
  • 試験での見分け方:「1 つの大きな CLAUDE.md」の代わりに使う、と覚える。
  • 紛らわしいもの:ルールも CLAUDE.md も、Claude が「従おうとする」指示で、必ず守られる仕組みではない。毎回必ず実行させたいことは、フック(「Claude Code」のテーマの 09)に書く。

S1 決まりが一部の人に効かない原因を、置き場所から突き止める ​

  • 要点:「新しく加わったメンバーにだけ、決まりが効かない」「ある人の環境でだけ効く」ときは、その決まりが、誰かの ~/.claude/CLAUDE.md や CLAUDE.local.md(その人だけに効く)に書かれていないかを疑う。チームに効かせたい決まりは、プロジェクトの CLAUDE.md に移して、Git で共有する。
  • 公式ドキュメント:Memory の「Choose where to put CLAUDE.md files」と、トラブルシューティングの「Claude isn't following my CLAUDE.md」(その CLAUDE.md が、そのセッションで読み込まれる場所にあるかを確かめる)
  • このサイトでの例:K2 と同じ。
  • 試験での見分け方:「人によって違う」は置き場所、「同じ人でも、会話によって違う」は S4 の確かめ方、と分けて考える。
  • 紛らわしいもの:組織(管理)の CLAUDE.md は、全員に効く。ただし、本人が CLAUDE.md の読み込みそのものを止めると、組織のものも読み込まれない。確実に止めたい操作は、組織の管理設定の禁止のルールで止める。

S2 パッケージごとの CLAUDE.md で、必要な決まりだけをインポートする ​

  • 要点:1 つのリポジトリに複数のパッケージがあるとき、各パッケージの CLAUDE.md から、そのパッケージに関係する決まりのファイルだけをインポートする。どの決まりが必要かは、そのパッケージをよく知る人が決める。
text
packages/api/CLAUDE.md
  - API の書き方 @../../docs/standards/api.md
  - テストの書き方 @../../docs/standards/testing.md

packages/web/CLAUDE.md
  - 画面の書き方 @../../docs/standards/ui.md
  - テストの書き方 @../../docs/standards/testing.md
  • 公式ドキュメント:Memory の「Import additional files」(相対パスは、書いたファイルの場所からたどる)
  • このサイトでの例:このサイトは 1 つのパッケージなので、当てはまらない。
  • 試験での見分け方:「パッケージごとに必要な決まりが違う」「決まりのファイルを共有したい」は、インポートを使う合図。
  • 紛らわしいもの:パッケージのサブフォルダーの CLAUDE.md は、そのフォルダーのファイルを扱ったときに読み込まれ、インポートしたファイルも一緒に読み込まれる。ファイルの種類(テストなど)でまとめて効かせたいなら、paths 付きのルールのほうが向く(3.3)。

S3 大きな CLAUDE.md を、話題ごとのルールのファイルに分ける ​

  • 要点
    • 公式ドキュメントは、CLAUDE.md を 1 つあたり 200 行より短くすることを目安にしている。長いと、コンテキストを多く使い、指示が守られにくくなる。
    • 大きな CLAUDE.md は、.claude/rules/testing.md、api-conventions.md、deployment.md のように、話題ごとのファイルに分ける。
    • コードの一部にだけ関係する決まりは、paths を付けて、必要なときだけ読み込ませる。
  • 公式ドキュメント:Memory の「Write effective instructions」「My CLAUDE.md is too large」
  • このサイトでの例:このサイトの CLAUDE.md は 30 行なので、分ける必要はない。
  • 試験での見分け方:「CLAUDE.md が大きくなり、守られにくい」は、ルールのファイルへの分割と、paths で必要なときだけ読み込ませることが答えになる。
  • 紛らわしいもの:paths のないルールに分けても、起動したときにすべて読み込まれるので、コンテキストは減らない。減らすには paths を付ける。

S4 読み込まれているファイルを確かめ、動きのばらつきの原因を探る ​

  • 要点
道具分かること
/memory利用者とプロジェクトの CLAUDE.md、CLAUDE.local.md などの置き場所の一覧。選ぶと、エディターで開いて直せる
/context起動したときに読み込まれた CLAUDE.md とルールの一覧(「Memory files」の欄)
InstructionsLoaded のフックどの CLAUDE.md とルールが、いつ、なぜ読み込まれたかを記録できる
  • 動きのばらつきの、よくある原因
    • 読み込まれるはずのファイルが、読み込まれていない(置き場所が違う)。
    • サブフォルダーの CLAUDE.md や、paths 付きのルールは、当てはまるファイルを扱うまで読み込まれない。そのため、会話によって効いたり効かなかったりする。
    • 指示を、CLAUDE.md ではなく会話の中だけで伝えていた。/compact(会話の要約)のあとに消える。プロジェクトの直下の CLAUDE.md は、/compact のあとに読み込み直される。
    • CLAUDE.md 同士で、指示が矛盾している。
  • 公式ドキュメント:Memory の「View and edit with /memory」「Claude isn't following my CLAUDE.md」「Instructions seem lost after /compact」
  • このサイトでの例:下の「実際にやってみる」。
  • 試験での見分け方:「会話によって、決まりが効いたり効かなかったりする」は、まず読み込まれているファイルを確かめる。
  • 紛らわしいもの:サブフォルダーの CLAUDE.md は、起動したときには読み込まれないので、/context の「Memory files」には出てこない。

実際にやってみる:読み込まれているファイルを確かめる ​

このサイトのリポジトリで、ターミナル版の claude -p "/context" を動かし、起動したときに読み込まれたファイルを確かめました。

種類ファイルトークン数
Projectリポジトリの直下の CLAUDE.md576
AutoMem自動メモリの MEMORY.md(05 で扱ったもの)762

プロジェクトの CLAUDE.md と、自動メモリの目次の 2 つが読み込まれていました。利用者の ~/.claude/CLAUDE.md は置いていないので、出てきません。

確認問題 ​

すべて自作の問題です。

問 1. チームの全員に「コミットの前に必ずテストを動かす」と伝えたい。CLAUDE.md をどこに置くのが最もよいですか。 (1 つ選んでください)
問 2. CLAUDE.md が 400 行になり、指示が守られにくくなりました。コンテキストも減らしたい。最もよい対処はどれですか。 (1 つ選んでください)
問 3. あるサブフォルダーの CLAUDE.md に書いた決まりが、効く会話と効かない会話があります。まず考えるべき原因はどれですか。 (1 つ選んでください)

教材で確かめる ​

教材部分
Claude Academy「Claude Code 101」Claude Code をカスタマイズする(CLAUDE.md)
Claude Academy「Claude Codeを実践する」Claude を設定する(無駄のない CLAUDE.md の書き方)
Udemy「Claude Code カスタマイズ完全ガイド(とまだ)」セクション 2「CLAUDE.md - すべての土台」、セクション 3「.claude/rules/ - ルールのモジュール化」

Claude Academy の部分は、コースの説明から、このサイトで判断しました。

確認の記録 ​

項目内容
最終確認日2026 年 10 月 28 日
Claude Code のバージョン2.1.302(macOS のターミナル版)
検証の状況「実際にやってみる」は、この Mac のターミナル版と、このサイトのリポジトリで確かめた結果。それ以外は、公式ドキュメントの内容をもとに書いている
確かめていない内容組織(管理)の CLAUDE.md、サブフォルダーの CLAUDE.md、インポート、外のファイルのインポートの承認の画面、/memory、InstructionsLoaded のフック