← 所有文章
claudeClaude Code

讓 Claude 記住你的專案規則:CLAUDE.md 完整指南

2026年6月6日

每次開新 session 都要重講一次「我們用 pnpm 不用 npm」、「commit 前要跑 lint」?寫進 CLAUDE.md,講一次就好。這篇把它的正確用法、常見誤用、跟新功能 auto memory 的分工一次講清楚。

這篇你會學到

兩套記憶系統,先分清楚

現在的 Claude Code 有兩套互補的記憶:
CLAUDE.md:你寫給它的規則——編碼規範、專案架構、工作流程。
Auto memory:它自己記的筆記——建置指令、debug 心得、你糾正過它的偏好。存在每個專案自己的記憶資料夾,預設開啟。
分工原則:你想「規定」的寫 CLAUDE.md;它自己「學到」的交給 auto memory。你說「記住以後都用 pnpm」,Claude 會存進 auto memory;要進 CLAUDE.md 得明講「把這條加到 CLAUDE.md」。

四個位置,從廣到窄

寫法決定遵守率

CLAUDE.md 是 context,不是強制設定——寫法越具體,遵守率越高:

⚠️ 🔍 官方建議:單檔控制在 200 行以內。超過不只吃 context,遵守率還會下降。長出來的內容拆進 .claude/rules/ 目錄,可以用 paths 設定讓規則只在碰特定檔案時載入。
💡 如果一條規則必須「每次都執行」(例如 commit 前一定要 lint),不要靠 CLAUDE.md——用 hook。CLAUDE.md 是勸導,hook 是執法。
💡 已經有 AGENTS.md(給其他 AI 工具用)?在 CLAUDE.md 裡寫一行 @AGENTS.md 匯入它,兩邊共用同一份指令。@ 匯入語法也能拉其他檔案,最多四層。
💡 HTML 註解(<!-- 給維護者看的註記 -->)會在送進 context 前被拿掉,不花 token。給人看的註記儘量用這個。

指令不被遵守時的排查順序

  1. /memory 確認檔案真的有被載入(沒列出來 = Claude 根本看不到)
  2. 檢查有沒有互相矛盾的規則——兩條打架時 Claude 會隨便挑一條
  3. 把抽象指令改具體
  4. 還不行就升級成 hook

⚠️ 🔍 官方文件:/compact 壓縮後,專案根目錄的 CLAUDE.md 會自動重讀,但子目錄的不會——要等下次讀到那個目錄的檔案才回來。壓縮後感覺它「忘記」某條規則,多半是這個原因。

auto memory 的實用細節

記憶存在 ~/.claude/projects/專案/memory/,入口是 MEMORY.md(每次載入前 200 行),細節分散在主題檔案裡按需讀取。全部是純文字 markdown,跑 /memory 就能打開來看、改、刪。看到介面出現「Writing memory」就是它在記筆記。
不想要這功能?設定 autoMemoryEnabled 關掉就好。

收尾

判斷標準很簡單:同一句話你對 Claude 講第二次了,就該進 CLAUDE.md。其餘的交給 auto memory 自己累積。
官方文件:How Claude remembers your project

截至 2026年6月6日 驗證有效

← 所有文章OctoDock 首頁 →
讓 Claude 記住你的專案規則:CLAUDE.md 完整指南 | OctoDock