A
AIエージェントの仕組み
ch8-s2 · CLAUDE.md

CLAUDE.md でプロジェクトに記憶を持たせる

約 14 分

08-02. CLAUDE.md でプロジェクトに記憶を持たせる

この回のゴール

1. 動機: 「素の Claude」 vs 「プロジェクトを知っている Claude」

08-01 で起動した Claude は、毎セッション コードベースの構造を一から調査 する。3 回目に同じ質問をしても同じ調査を繰り返す。

「あなたのプロジェクト固有のこと(規約・コマンド・絶対ルール)を 記憶として永続化 したい」 → CLAUDE.md の出番。

2. CLAUDE.md とは何か

スコープ階層

場所 適用範囲 用途
<repo>/CLAUDE.md そのリポジトリ全体 プロジェクト固有の規約・コマンド
<repo>/<subdir>/CLAUDE.md サブディレクトリ モジュール固有の規約
~/.claude/CLAUDE.md グローバル(全プロジェクト) 個人の作業スタイル全般

複数あればすべて読まれる(優先度はリポジトリ近い方が強め)。

3. 何を書くべきか

書くと効く 🟢

書かない方がいい 🔴

4. ハンズオン

4.1 自動生成

cd <your-repo>
claude
> /init

→ Claude がプロジェクトを調査して CLAUDE.md のドラフトを生成。そのまま使わずに、編集する。

4.2 編集ポイント

4.3 動作確認: ルールが効いているか

編集した CLAUDE.md に「(任意のルール) 例: 「コミットメッセージは必ず動詞で始める」」を追加し、再度 claude 起動。

> ステージにある変更で適切なコミットメッセージを書いて

→ 動詞で始まる提案が出てくる。次に同じことを別ルール(「コミットメッセージは英語のみ」)で試して、確かに反映されることを確認。

5. 実例: 本リポジトリの CLAUDE.md を見る

本リポジトリ (★digitaocean_claudecode — 仮) の CLAUDE.md は以下の構成:

- 役割分担(どこに何が書いてあるか)
- SSH 接続情報
- ワークフロー (5 ステップ)
- Critical Rules
  - Nginx 設定の罠
  - 情報漏洩防止ポリシー
  - バックアップルール
  - セキュリティ
  - リソース制約
  - ドキュメント鮮度

特徴: - Critical Rules が見出しレベルで分類されている → Claude も人間も探しやすい - 過去の罠(「sites-available を編集しても効かない」)が言語化 → 同じ罠を踏まない

6. アンチパターン

症状 原因 対策
Claude がルールを無視する CLAUDE.md が長すぎ(500 行超)で重要部分が埋もれる 最重要を上位に、### Critical: などラベル付け
「重要」「必ず」を多用しすぎ 効力が均一化 本当に重要なものだけに「Critical」、それ以外はトーンを下げる
古い情報が残ってる CLAUDE.md の更新が後回し コード変更時に CLAUDE.md も同じ PR で更新する習慣
同じことが README にも書いてある 役割分担の欠如 CLAUDE.md は「Claude へのメッセージ」、README は「人間への入口」と明確に

7. 今回の限界 (notes に書く内容)

参考

📝 理解度クイズ (3 問) 💡 ログインすると進捗が保存されます

💬 このサブステップの Q&A

まだ質問はありません。最初の質問を投稿してみましょう。

質問の投稿にはログインが必要です。