CLAUDE.md
CLAUDE.md 是開工時會讀的專案說明。它跟聊天記錄不同:換 session、換同事、換介面,只要檔案在,規則就還在。
官方說明見文件站的 memory/instructions 章節。在專案裡打 /init 可依目前 repo 產生初稿,再刪到只剩真正要執行的規則。
它會讀哪些檔
常見三層,越靠近目前工作目錄越具體:
- 使用者:
~/.claude/CLAUDE.md。放個人習慣,例如「回答用繁體中文」。 - 專案:repo 根目錄的
CLAUDE.md(可進 Git,給全隊看)。 - 本機覆寫:例如 gitignore 的 local 記憶,只對你這台機器有效。
對話中用 # 把一句話存進記憶時,Claude 會問要寫進哪一層。檔案請保持短:寫「做什麼/不要做什麼」,不要貼整本風格指南。每次開新對話都會載入,寫太長會佔掉上下文。
建議寫什麼
# CLAUDE.md
## 開發慣例
- 套件管理用 `uv`,不要新增 `requirements.txt`。
- 改 Python 後跑 `uv run pytest`。
- 不要提交 `.env` 或真實密鑰。
## 這個 repo
- API 回應型別集中在 `src/types/api.ts`。
- 樣式用 CSS Modules,專案裡沒有 Tailwind。
子目錄需要不同規則時,可在該目錄再放一份較短的 CLAUDE.md。一次任務才用得到的臨時說明,直接寫在 prompt,不要塞進檔案。
什麼時候該拆出去
你發現自己在對話裡把同一句話講第二次,就該寫進 CLAUDE.md。若規則只在特定流程才用(例如發佈、做簡報),改做成 Skills,避免每次開工都吃掉上下文。
推薦影音
Net Ninja:/init 與專案記憶
簡述:示範 /init 產生 CLAUDE.md、把規則寫進去,以及下一輪對話如何自動遵守。對應本頁「建議寫什麼」。