サイズ管理 — 200行以内に収める方法
CLAUDE.mdは200行以内に収めることを推奨します。理由は明確で、CLAUDE.mdの内容はセッション開始時に毎回コンテキストウィンドウに読み込まれるからです。
なぜ200行以内か
- コンテキストウィンドウの圧迫 — 500行のCLAUDE.mdは毎回約2,000トークンを消費する
- 情報の希釈 — 行数が多いほど、重要なルールが埋もれる
- メンテナンスコスト — 長いファイルは更新が億劫になり、陳腐化する
分割テクニック
1. @インポートで詳細を外出し
## アーキテクチャ
@docs/architecture.md
## API設計ルール
@docs/api-design.md
2. rulesファイルに分離
.claude/rules/
code-style.md # globsでTS/TSXにスコープ
testing.md # globsでテストファイルにスコープ
security.md # 常に読み込み
3. skillsに移行
繰り返し使うワークフロー(デプロイ手順、リリースフロー等)はskillsファイルに移行します。
何を残し何を外すかの判断基準
| CLAUDE.mdに残す | 外部に移す |
|---|---|
| プロジェクト概要(5行以内) | 詳細なコーディング規約 → rules |
| 技術スタック一覧 | テスト方針の詳細 → rules |
| 主要コマンド(テーブル形式) | セキュリティルール → rules |
| ディレクトリ構造(テーブル形式) | デプロイ手順 → skills |
| 最重要ルール(3〜5個) | ドメイン用語集 → @docs/ |
実例: Before → After
Before(300行・1ファイル):
CLAUDE.md
├── プロジェクト概要 (10行)
├── 技術スタック (15行)
├── コマンド (20行)
├── ディレクトリ構造 (25行)
├── コーディング規約 (80行) ← 肥大化
├── テスト方針 (50行) ← 肥大化
├── セキュリティ (40行) ← 肥大化
├── デプロイ手順 (30行)
└── ドメイン用語集 (30行)
After(80行 + rules 3ファイル):
CLAUDE.md (80行)
├── プロジェクト概要 (10行)
├── 技術スタック (15行)
├── コマンド (20行)
├── ディレクトリ構造 (25行)
└── 最重要ルール (10行)
.claude/rules/
├── code-style.md (50行)
├── testing.md (40行)
└── security.md (35行)
コンテキストウィンドウは有限のリソースです。CLAUDE.mdのサイズを管理することは、Claudeの性能を最大化する直接的な手段です。