Skip to content

🌐 English

Claude Code 設定ファイル一覧

NOTE

Claude Code のプロジェクト設定を構成するファイル・ディレクトリの網羅的リファレンス。 「この設定は何のためにあるのか?」を本プロジェクトの各ページへのリンクで辿れるようにしたもの。

ディレクトリ構造の全体像

ユーザーレベル(グローバル)

~/.claude/
├── CLAUDE.md                    # 全プロジェクト共通の個人指示
└── settings.json                # グローバル個人設定(ツール許可等)

プロジェクトレベル

my-project/
├── CLAUDE.md                    # プロジェクトのメイン指示ファイル(自動読み込み)
├── CLAUDE.local.md              # ローカル専用指示(Git管理外)
├── .claude/
│   ├── settings.json            # ツール許可・MCP設定・Hooks(チーム共有)
│   ├── settings.local.json      # ローカル専用設定(Git管理外)
│   ├── commands/
│   │   └── deploy.md            # カスタムスラッシュコマンド(/deploy で実行)
│   ├── rules/
│   │   ├── frontend.md          # 条件付きルール(globパターンで自動注入)
│   │   ├── testing.md
│   │   └── ...
│   └── skills/
│       └── skill-name/
│           ├── SKILL.md         # Skill 定義(必須)
│           ├── scripts/         # 補助スクリプト(任意)
│           ├── references/      # 参照ドキュメント(任意)
│           └── assets/          # テンプレート等(任意)
├── src/
│   ├── CLAUDE.md                # サブディレクトリ用(該当ディレクトリ操作時に読み込み)
│   └── components/
│       └── CLAUDE.md            # さらに深い階層も可能

エンタープライズレベル(管理者設定)

(組織管理者が配布)
├── managed-settings.json        # 組織ポリシー(MDM等で配布、最高優先度)

設定の優先順位

Managed(最高)  managed-settings.json(組織ポリシー)

Project          .claude/settings.json(チーム共有)

Project Local    .claude/settings.local.json(個人ローカル)

User(最低)     ~/.claude/settings.json(グローバル個人)

以下では、各ファイル/ディレクトリを「コンテキストへの関わり方」で分類して解説する。

カテゴリ設定ファイル / 機能読み込み解説
常駐コンテキスト(Part 3)~/.claude/CLAUDE.mdセッション開始時に自動階層マージ
CLAUDE.mdセッション開始時に自動設計原理
CLAUDE.local.mdセッション開始時に自動運用
サブディレクトリの CLAUDE.md該当ディレクトリ操作時階層マージ
条件付きコンテキスト(Part 4).claude/rules/glob パターン一致時設計原理
オンデマンドコンテキスト(Part 5).claude/skills/description 一致時に展開Skills
Agents(Task()明示的呼び出し時Agents
ツール定義コンテキスト(Part 6)MCP(mcpServersツール定義が常時消費コンテキストコスト
ランタイム制御(Part 7)managed-settings.json組織ポリシー強制(最高優先)settings.json
.claude/settings.jsonランタイムが参照(LLM に見えない)settings.json
.claude/settings.local.json個人ローカル設定settings.json
~/.claude/settings.jsonグローバル個人設定(最低優先)settings.json
HooksLLM の行動前後に自動実行ライフサイクル
セッション管理(Part 8)/compact · /clear手動 or 50%閾値で自動使い分け
Memoryセッション横断で永続化何を覚えるか

常駐コンテキスト — セッション開始時に必ず読み込まれる

~/.claude/CLAUDE.md(ユーザーレベル)

項目内容
場所~/.claude/CLAUDE.md
読み込みセッション開始時に自動(最初にマージされる)
Git管理しない(ホームディレクトリ)
役割全プロジェクト共通の個人指示(例: 「日本語で回答」「関数型スタイル優先」など)
詳細解説階層マージの仕組み

CLAUDE.md(プロジェクトレベル)

項目内容
場所プロジェクトルート直下
読み込みセッション開始時に自動
Git管理する(チーム共有)
役割プロジェクト全体の指示・ルール・コンテキストの提供
対策する問題Priority SaturationPrompt Sensitivity
制約200行以内推奨(Priority Saturation 回避)
詳細解説CLAUDE.md の設計原理

CLAUDE.local.md

項目内容
場所プロジェクトルート直下
読み込みセッション開始時に自動(CLAUDE.md とマージ)
Git管理しない(.gitignore 推奨)
役割個人の環境依存設定(ローカルパス、個人APIキー等)
詳細解説CLAUDE.local.md の運用

サブディレクトリの CLAUDE.md(階層マージ)

項目内容
場所任意のサブディレクトリ(例: src/CLAUDE.md
読み込みそのディレクトリ内のファイルを操作する際にオンデマンド
Git管理する
役割ディレクトリ固有のルールを追加。親の CLAUDE.md とマージされる
対策する問題Context Rot(必要な時だけ読み込む)
詳細解説階層マージの仕組み

条件付きコンテキスト — 条件一致時のみ注入

.claude/rules/

項目内容
場所.claude/rules/*.md
読み込みglob パターンが一致したファイル操作時
Git管理する
役割ファイル種別ごとの自動適用ルール(例: *.test.ts 編集時にテスト規約を注入)
対策する問題Priority Saturation(常駐させず必要時のみ)、Lost in the Middle
詳細解説.claude/rules/ の設計原理glob パターン設計の実践

記述例:

markdown
---
description: TypeScript test files
globs: **/*.test.ts, **/*.spec.ts
---

- describe/it のネストは2階層まで
- モックは最小限に、実際のサービスを使う統合テストを優先

オンデマンドコンテキスト — 呼び出された時だけ展開

.claude/skills/

項目内容
場所.claude/skills/<skill-name>/SKILL.md
読み込みdescription が一致した時に展開
Git管理する
役割再利用可能なプロンプトテンプレート。コード生成パターン、ドキュメント生成手順など
対策する問題Context Rot(使わない時はコンテキストを消費しない)
詳細解説Skills の設計原理

ディレクトリ構成例:

.claude/skills/
└── component-gen/
    ├── SKILL.md          # プロンプト指示(必須)
    ├── scripts/          # 補助スクリプト
    ├── references/       # 参照ドキュメント
    └── assets/           # テンプレート等

Agents(Task() によるサブプロセス)

項目内容
定義方法Skills 内または会話中で Task() を使用
コンテキスト親とは独立したコンテキストウィンドウで実行
役割Cross-model QA、並列処理、専門領域の分離
対策する問題Sycophancy(独立判断)、Knowledge Boundary
詳細解説Agents の設計原理import vs 別プロセスの判断基準

ツール定義コンテキスト — ツールがコンテキストを消費する

MCP(Model Context Protocol)

項目内容
設定場所.claude/settings.json 内の mcpServers
コンテキストコストツール定義そのものがトークンを消費する
役割外部ツール・API との連携(DB参照、ファイル操作、外部サービス呼び出し等)
対策する問題Knowledge Boundary(外部知識へのアクセス)、Hallucination(事実確認)
詳細解説MCP のコンテキストコストTool Search / Deferred Loading

ランタイム制御 — LLM のコンテキストに入らないレイヤー

.claude/settings.json

項目内容
場所.claude/settings.json
読み込みランタイムが参照(LLMには見えない)
Git管理する
役割ツール許可設定、MCP サーバー定義、Hooks 定義、環境変数
詳細解説settings.json の役割なぜ LLM に見せないのか

設定例:

json
{
  "permissions": {
    "allow": ["Bash(npm run test)", "Read"],
    "deny": ["Bash(rm -rf)"]
  },
  "hooks": { ... },
  "mcpServers": { ... }
}

.claude/settings.local.json

項目内容
場所.claude/settings.local.json
Git管理しない(.gitignore 推奨)
役割個人のツール許可設定・ローカルMCPサーバー設定
関係settings.json とマージされる(local が優先)

~/.claude/settings.json(ユーザーレベル)

項目内容
場所~/.claude/settings.json
Git管理しない(ホームディレクトリ)
役割全プロジェクト共通のグローバル個人設定
優先順位最低(プロジェクト設定に上書きされる)

managed-settings.json(エンタープライズレベル)

項目内容
配布方法MDM(モバイルデバイス管理)やサーバー管理で配布
役割組織全体のセキュリティポリシー・許可設定の強制
優先順位最高(全設定を上書き。ユーザーは変更不可)
詳細解説settings.json の役割

Hooks

項目内容
設定場所.claude/settings.json 内の hooks
実行タイミングLLM の行動前後に自動実行(LLM は認識しない)
役割機械的な検証・自動フォーマット・通知など
対策する問題Hallucination(自動テスト実行)、Sycophancy(機械的チェック)、Instruction Decay
詳細解説Hooks のライフサイクル

主なイベント:

イベントタイミング
PreToolUseツール実行前
PostToolUseツール実行後
Notification通知発生時
Stopセッション停止時

セッション管理 — 会話の寿命と記憶

/compact・/clear コマンド

コマンド動作用途
/compactコンテキストを要約して圧縮Context Rot の予防的対処。50%閾値で自動実行も
/clearコンテキストを完全リセットタスク切り替え時。蓄積したノイズを一掃
項目内容
対策する問題Context RotLost in the MiddleInstruction Decay
詳細解説/compact と /clear の使い分け

Memory(記憶の永続化)

項目内容
仕組みセッションを超えて情報を永続化する機構
対策する問題Context Rot(圧縮で失われる情報の救済)、Instruction Decay
詳細解説なぜメモリが問題になるのか何を覚えるかいつ・どう思い出すかツール比較と選定基準

カスタムコマンド

.claude/commands/

項目内容
場所.claude/commands/*.md
呼び出し/ + ファイル名で実行(例: /deploy
役割定型プロンプトの再利用。デプロイ手順、レビュー手順など

記述例(.claude/commands/deploy.md):

markdown
本番デプロイ前のチェックリストを実行してください。

1. `npm run test` が全てパスすること
2. `npm run build` がエラーなく完了すること
3. 変更内容のサマリーを出力すること

設定の読み込みタイミング一覧


次へ: FAQ — よくある質問と設計判断

前へ: 構造的問題 × Claude Code 対策マップ

Discussion: 追加や修正の提案は Discussions

Released under the CC BY 4.0 License.