2
CLAUDE.md & Memory
CLAUDE.mdとは
CLAUDE.mdは、Claude Codeの起動時に自動読み込みされるMarkdownベースの設定ファイルである。 プロジェクトのコーディング規約、アーキテクチャ方針、ビルドコマンドなどを記述し、 Claudeの振る舞いをカスタマイズする。
設定ファイルの階層
CLAUDE.mdは複数の階層に配置でき、すべてが統合されてコンテキストに読み込まれる。
| 階層 | パス | スコープ |
|---|---|---|
| グローバル | ~/.claude/CLAUDE.md | 全プロジェクト共通 |
| プロジェクトルート | ./CLAUDE.md | 当該プロジェクト |
| サブディレクトリ | ./src/CLAUDE.md など | 特定ディレクトリ作業時 |
サブディレクトリのCLAUDE.mdは、そのディレクトリ内のファイルを操作する際に追加で読み込まれる。
優先順位
設定の優先順位は以下の通りである。上位が下位を上書きする。
Managed (組織管理者) ← 最優先
|
Enterprise (企業ポリシー)
|
User (ユーザー個人)
|
Project (プロジェクト) ← 最低優先
組織の管理者が設定した内容は、ユーザーやプロジェクトレベルで上書きできない。 これにより、セキュリティポリシーやコーディング標準の一貫性が保証される。
CLAUDE.mdに書くべき内容
推奨する内容
# プロジェクト設定
## ビルド・テスト
- `pnpm run build` でビルド
- `pnpm run test` でテスト実行
- `pnpm run lint` でリント
## コーディング規約
- TypeScript strict モードを使用
- Conventional Commits でコミットメッセージを記述
- テストファイルは `*.test.ts` で配置
## アーキテクチャ
- src/components/ — Reactコンポーネント
- src/lib/ — ビジネスロジック
- src/utils/ — ユーティリティ関数
避けるべき内容
- 大量のコード例(トークンを消費する)
- 頻繁に変更される情報(メモリに任せる)
- 機密情報(APIキーなど)
- 自明な情報(言語の基本構文など)
Auto Memory
Claude Codeは会話中に得た知見を自動的にメモリとして保存する機能を持つ。
保存先
~/.claude/projects/<project-hash>/memory/MEMORY.md
プロジェクトごとに独立したメモリファイルが生成される。
保存される情報の例
- ビルドコマンドの発見結果
- デバッグで判明した注意点
- プロジェクト固有の設定パターン
- ユーザーの作業傾向
メモリの管理
MEMORY.mdはセッション開始時に自動的にコンテキストへ読み込まれる。 ファイルは200行以内に保つことが推奨される。 不要になった情報は手動で削除するか、Claudeに整理を依頼できる。
settings.json
CLAUDE.md以外に、.claude/settings.jsonでツールの権限やMCPサーバーなどを設定できる。
{
"permissions": {
"allow": ["Read", "Edit", "Bash(pnpm run *)"],
"deny": ["Bash(rm -rf *)"]
},
"mcpServers": {}
}
設定ファイルの詳細は権限 & セキュリティで解説する。
ベストプラクティス
- 簡潔に保つ — CLAUDE.mdは短いほどトークン効率が良い
- 構造化する — 見出しとリストで整理する
- チームで共有する — プロジェクトルートのCLAUDE.mdはリポジトリにコミットする
- 個人設定は分離する — グローバルCLAUDE.mdに個人の好みを記述する
- メモリを活用する — 繰り返し指示する内容はメモリに蓄積させる