株式会社TIMEWELLの濱本隆太です。
Claude Codeの.claudeフォルダ、中を開いたことはありますか? 実はこのフォルダが、AIとの協業の質を決定づける「コントロールセンター」です。本記事では、CLAUDE.md、rules、skills、サブエージェント、settings.json、オートメモリまで、すべての構成要素を初心者にもわかるように解説します。
そもそもClaude Codeには「記憶」がない——だからこそ.claudeが必要になる
Claude Codeを使い始めてまず戸惑うのが、「セッションをまたいだ記憶が保持されない」という事実ではないでしょうか。昨日「うちのプロジェクトはTypeScriptで、テストにはVitestを使っている」と伝えたはずなのに、今日の新しいセッションでは何も覚えていない。まるで毎朝記憶がリセットされる同僚と仕事をしているようなものです。
この問題を解決するために設計されたのが、.claudeフォルダとその中核であるCLAUDE.mdファイルです。Claude Codeは新しいセッションを開始するたびに、まずこのフォルダの中身を読み込みます。つまり、ここに書かれた情報がClaudeにとっての「長期記憶」になるわけです。
厳密に言えば、Claude Codeには2つの記憶システムがあります。1つは開発者自身が書くCLAUDE.mdファイル、もう1つはClaude自身が学習内容を書き留める「オートメモリ」機能です。前者はあなたがClaudeの行動を意図的にガイドするためのもの、後者はClaudeがあなたの修正や好みから自動的にパターンを学び取るためのものです。この2つが補完し合うことで、セッションをまたいでも一貫した開発体験が生まれます。
ここで重要なのは、.claudeフォルダの設計がプロジェクトの品質に直結するという点です。雑に設定すれば雑な応答が返ってきますし、丁寧に設計すれば驚くほど的確な応答が得られます。私たちTIMEWELLでの運用経験から言えば、.claudeフォルダの最適化だけで、AIとのやり取りの手戻りが体感で40%以上減りました。
.claudeフォルダの全体像——何がどこにあるのか
まず、.claudeフォルダの典型的なディレクトリ構成を俯瞰しましょう。
.claude/
├── CLAUDE.md # プロジェクト全体への指示書(最重要ファイル)
├── settings.json # チーム共有の設定(パーミッション、モデル選択など)
├── settings.local.json # 個人設定(gitignoreされる)
├── rules/ # トピック別の指示ファイル群
│ ├── code-style.md
│ ├── testing.md
│ └── security.md
├── skills/ # 再利用可能なワークフロー定義
│ └── deploy/
│ └── SKILL.md
├── agents/ # 専門特化型サブエージェント
│ └── code-reviewer.md
├── commands/ # カスタムスラッシュコマンド(レガシー、現在はskillsに統合)
│ └── fix-issue.md
└── .mcp.json # 外部ツール連携(MCP Server設定)
さらに、プロジェクトルートにもCLAUDE.mdを置くことができます(.claude/CLAUDE.mdと./CLAUDE.mdのどちらでも機能します)。加えて、ユーザーのホームディレクトリにある~/.claude/フォルダにはプロジェクト横断的な個人設定を格納できます。
.claudeフォルダは「プロジェクト内」と「ユーザーのホームディレクトリ」の2箇所に存在し得るという点は、初心者の方が見落としがちなポイントです。プロジェクト内のものはチーム全員に影響し、ホームディレクトリのものは自分だけに影響します。
CLAUDE.md——Claudeへの「指示書」を書く技術
CLAUDE.mdは.claudeフォルダの中で最も重要なファイルです。ここに書かれた内容は、毎セッションの開始時にClaudeのコンテキストウィンドウに読み込まれ、以降の応答すべてに影響を与えます。
配置場所によるスコープの違い
| スコープ | 配置場所 | 影響範囲 | 共有対象 |
|---|---|---|---|
| マネージドポリシー | /Library/Application Support/ClaudeCode/CLAUDE.md(macOS) |
組織全体 | IT管理者がデプロイ |
| プロジェクト | ./CLAUDE.md または ./.claude/CLAUDE.md |
プロジェクト全体 | Git経由でチーム共有 |
| ユーザー | ~/.claude/CLAUDE.md |
全プロジェクト共通(個人) | 自分だけ |
効果的な書き方の原則
公式ドキュメントでは、CLAUDE.mdは200行以内を推奨しています。CLAUDE.mdの内容はコンテキストウィンドウのトークンを消費するため、長すぎるとClaudeが使える「思考スペース」が圧迫されます。3,000トークンを超えるCLAUDE.mdは、会話の途中でClaudeが指示を「忘れる」確率が目に見えて上がるとされています [1]。
効果的な記述の3原則は以下の通りです。
第一に、具体的に書くこと。「コードを適切にフォーマットしてください」ではなく「インデントはスペース2つ、セミコロンは省略、シングルクォートを使用」と書きます。検証可能な指示ほど遵守率が上がります。
第二に、構造化すること。Markdownの見出しと箇条書きを活用し、関連する指示をグループ化します。
第三に、矛盾を排除すること。複数のCLAUDE.mdファイルやrulesファイルに相反する指示があると、Claudeはどちらか一方を任意に選んでしまいます。
@インポートで外部ファイルを参照する
CLAUDE.mdには@path/to/fileという構文で外部ファイルをインポートできます。
プロジェクト概要は @README.md を参照。
利用可能なnpmスクリプトは @package.json を確認。
Gitワークフローの詳細は @docs/git-instructions.md に従うこと。
rulesディレクトリ——指示を分割して管理する
プロジェクトの規模が大きくなると、すべての指示を1つのCLAUDE.mdに詰め込むのは現実的ではなくなります。そこで活躍するのが.claude/rules/ディレクトリです。
このディレクトリ内に置いたMarkdownファイルは、CLAUDE.mdと同じ優先度で読み込まれます。
.claude/rules/
├── code-style.md # コーディング規約
├── testing.md # テストの書き方
├── security.md # セキュリティ要件
└── api-design.md # API設計ガイドライン
特に強力なのが、パスに応じて条件付きで適用されるルールです。YAMLフロントマターでpathsフィールドを指定すると、特定のファイルを扱うときだけそのルールが有効になります。
---
paths:
- "src/api/**/*.ts"
---
# API開発ルール
- すべてのAPIエンドポイントに入力バリデーションを実装すること
- 標準エラーレスポンスフォーマットを使用すること
- OpenAPIドキュメントコメントを必ず含めること
スキル(Skills)——再利用可能なワークフローをパッケージ化する
スキルは.claude/skills/ディレクトリに格納する「再利用可能なワークフロー定義」です。CLAUDE.mdやrulesが「常にClaudeのコンテキストに載っている指示」であるのに対し、スキルは必要なときだけ呼び出される指示です。
---
name: deploy
description: 本番環境へのデプロイを実行する
disable-model-invocation: true
allowed-tools: Bash(npm *), Bash(git *)
---
本番デプロイの手順:
1. テストスイートを実行する
2. アプリケーションをビルドする
3. デプロイターゲットにプッシュする
4. デプロイが成功したことを確認する
disable-model-invocation: trueを設定すると、Claudeが自動的にこのスキルを呼び出すことを防ぎ、開発者が/deployと明示的にタイプしたときだけ実行されます [2]。
以前は.claude/commands/に置いていたカスタムスラッシュコマンドが、現在はスキルに統合されました。スキルのほうがサポートファイル(テンプレート、スクリプト、サンプルなど)を同梱できる分、表現力が高いためです。
サブエージェント(Subagents)——専門家チームをAIで再現する
サブエージェントは、メインのClaudeセッションとは独立した「別のAIインスタンス」を立ち上げ、特定のタスクを委譲する仕組みです。
たとえばテストスイートの実行結果は数百行にもなることがありますが、それをメインのコンテキストウィンドウに載せてしまうと、他の重要な文脈が圧迫されます。サブエージェントに実行させれば、メインのセッションには要約だけが返ってきます。
---
name: code-reviewer
description: コード品質とセキュリティをレビューする専門家
tools: Read, Grep, Glob, Bash
model: sonnet
memory: project
---
あなたはシニアコードレビュワーです。呼び出されたら、
最近の変更をgit diffで確認し、品質・セキュリティ・
保守性の観点からフィードバックを提供してください。
ビルトインサブエージェントとして、Explore(コードベース探索、Haikuモデル)、Plan(プランモード中の調査)、general-purpose(汎用マルチステップタスク)が用意されています [3]。
memoryフィールドを設定すれば、サブエージェントにセッションをまたいだ永続的な知識蓄積が可能です。
settings.jsonとパーミッション——Claudeの行動範囲を定める
.claude/settings.jsonは、Claudeが何を許可され、何を禁止されるかを定義するファイルです。CLAUDE.mdが「行動指針」だとすれば、settings.jsonは「法的拘束力のあるルール」です。
| スコープ | ファイルパス | 影響範囲 | チーム共有 |
|---|---|---|---|
| ユーザー | ~/.claude/settings.json |
自分の全プロジェクト | いいえ |
| プロジェクト | .claude/settings.json |
このリポジトリの全員 | はい(Git管理) |
| ローカル | .claude/settings.local.json |
自分だけ | いいえ(gitignore) |
{
"permissions": {
"allow": [
"Bash(npm test)",
"Bash(npm run build)",
"Read",
"Grep"
],
"deny": [
"Bash(rm *)",
"Agent(Explore)"
]
}
}
settings.local.jsonはGitの管理対象外なので、個人の好みの設定はここに書くのが定石です [4]。
オートメモリ——Claudeが自分で学びを蓄積する仕組み
オートメモリは、開発者が何も書かなくても、Claudeが自分自身で学習内容をメモとして保存する機能です。
保存先は~/.claude/projects/<project>/memory/ディレクトリで、MEMORY.mdというエントリポイントファイルと、トピック別の詳細ファイルで構成されます。
~/.claude/projects/<project>/memory/
├── MEMORY.md # インデックス(毎セッション冒頭で読み込み)
├── debugging.md # デバッグパターンのメモ
└── api-conventions.md # API設計上の判断メモ
MEMORY.mdの先頭200行が毎セッションの開始時に読み込まれます。200行を超えた内容はスタートアップ時には読み込まれないため、Claudeは自動的にMEMORY.mdを簡潔に保ち、詳細なメモは別ファイルに分離する設計になっています。
オートメモリの内容は通常のMarkdownファイルなので、人間がいつでも閲覧・編集・削除できます。Claude Codeのセッション中に/memoryコマンドを実行すれば、現在読み込まれているすべてのファイルの一覧を確認できます。
実践的な導入ステップ——明日から始めるために
初めて.claudeフォルダを整備する方向けに、推奨する導入ステップをお伝えします。
まず最初にやるべきは、Claude Codeのセッション内で/initコマンドを実行することです。これだけで、Claudeがあなたのコードベースを分析し、ビルドコマンド、テスト手順、プロジェクトの慣習を反映した初期のCLAUDE.mdを自動生成してくれます。
次に、自動生成された内容をレビューして、Claudeが自力では発見できない情報を追記します。アーキテクチャ上の判断理由、チーム固有のワークフロー、外部サービスとの連携ルールなどがそれに当たります。
その後、よく繰り返すタスクがあれば、スキルとして定義します。「PRレビュー」「デプロイ」「データベースマイグレーション」など、手順が決まっている作業はスキル化の有力候補です。
最後に、settings.jsonでパーミッションを設定し、危険なコマンドの実行を制限します。特にチーム開発では、rm -rfのような破壊的操作をdenyリストに入れておくことを強くお勧めします。
.claudeフォルダの設定は「一度作って終わり」ではなく、プロジェクトの成長に合わせて継続的に更新するものです。月に一度でいいので、CLAUDE.mdとrulesファイルを見直す時間を取ってみてください。AIとの協業の質を左右するのは、最先端のプロンプトエンジニアリングではなく、地道な「環境設定」だったりします [5] [6]。
参考文献
[1] Claude Code公式ドキュメント. "Store instructions and memories." https://code.claude.com/docs/en/memory (2026-03-23)
[2] Claude Code公式ドキュメント. "Extend Claude with skills." https://code.claude.com/docs/en/skills (2026-03-23)
[3] Claude Code公式ドキュメント. "Create custom subagents." https://code.claude.com/docs/en/sub-agents (2026-03-23)
[4] Claude Code公式ドキュメント. "Claude Code settings." https://code.claude.com/docs/en/settings (2026-03-23)
[5] Akshay Pachaar. "Anatomy of the .claude/ folder." https://x.com/akshay_pachaar/status/2035706568142893229 (2026-03-21)
[6] alexop.dev. "Claude Code Customization Guide." https://alexop.dev/posts/claude-code-customization-guide-claudemd-skills-subagents/ (2026-03-23)
