Claude 每個專案都要重教一次?寫 CLAUDE.md 四條家規一勞永逸
在專案根目錄放一份 CLAUDE.md,AI 每次動手前都會先讀。這篇拆解四條真的有用的家規:想清楚再動手、只改該改的、能少就不要多、驗證才算完成。附我在用的模板。
先講一件我最常被問的事情:為什麼你的 Claude 好像特別聽話?
答案掃興:我沒有特別厲害,我只是在專案根目錄放了一個叫 CLAUDE.md 的檔案。Claude Code 每次進到這個專案、動任何東西之前,第一件事就是把這個檔案讀完 —— 像新人到職那天先發一本員工手冊。
所以與其每次都在對話框裡貼「不要沒問就亂改」「不要用英文摻雜」「先確認再動手」,你把這些寫進 CLAUDE.md,它自動遵守。
這篇不談花俏技巧,只講四條我 CLAUDE.md 裡真的在跑、拿掉會有感的家規 —— 其他都是裝飾。
CLAUDE.md 是什麼?就是專案的員工手冊
它是一個很平凡的 markdown 檔案。放在你專案的最上層資料夾,檔名一字不差就叫 CLAUDE.md(大寫)。跟 README.md 是平輩,唯一的差別是:README.md 是給人看的、CLAUDE.md 是給 AI 看的。
Claude Code 進到你的專案,會自動偵測這個檔案並把它接進對話。你不用叫它「去讀 CLAUDE.md」,它一進來就已經讀完了。這是 Anthropic 官方定的行為,不是任何第三方外掛。
還有一個版本叫「全域 CLAUDE.md」,放在你電腦的家目錄底下(~/.claude/CLAUDE.md),所有專案都會載入。我自己是這樣分工的:全域放「不管哪個專案都適用的鐵律」(例如「回中文」「動錢的操作要問過我」),專案根目錄的 CLAUDE.md 放「這個專案獨有的規矩」。
家規一:動手前先跟我確認,別用猜的
AI 最急的一件事是「馬上生出一個看起來像答案的東西」。你講一句它就開寫,結果方向錯了,回頭改比重寫還久。
CLAUDE.md 這一條要寫得很直接:
- 不確定我要什麼,先問我,不要用猜的
- 動手前先講你的假設是什麼;假設錯了 = 方向錯了
- 遇到看不懂的既有程式碼,先讀清楚再動,不要邊改邊看
聽起來像廢話,但寫進 CLAUDE.md 之後你會發現,AI 開始問你問題了 —— 不是那種「請問您需要什麼呢」的敷衍句,是「你這個功能是要給後台用還是前台?後台的話要考慮權限」這種真的挖到底的問題。
家規二:只改我叫你改的地方
我踩最多的坑是這個。我請 AI 修一個 bug,它順手把旁邊的三個檔案「優化」了一遍。結果 bug 修好了,但另外三個檔案壞了 —— 而且是你原本沒在關心、根本沒測的那種壞。
這條規矩寫進去:
- 我這次要求改的東西才動,其他一律不碰
- 覺得旁邊的程式碼寫得爛,用一句話跟我講,不要順手改
- 不要加沒被要求的抽象、工具函式、註解;三行像的程式碼好過提前抽象
沒家規的 AI
你叫它修 bug,它順手重構
- 「順便把這段整理一下比較乾淨」— 好,然後另一個功能就壞了
- 沒被要求就多抽一層共用函式 — 之後別的地方跟著炸
- 加一堆註解解釋自己在做什麼 — 但你根本沒問
有家規的 AI
外科手術式修改
- 只改你點名要動的地方
- 別的地方看不順眼,用一句話回報、等你決定
- 沒被要求的抽象不要提前寫,等到真的需要再抽
家規三:能 50 行就不要 200 行
AI 有個怪癖 —— 它覺得寫多、寫豪華 = 有做事。你叫它做一個「檢查 email 格式對不對」的小函式,它可能會多送你一個類別、一個設定檔、一整組錯誤處理,還附註解說明「未來可能會擴充成什麼」。
真的,你只是要一句 return /.+@.+\..+/.test(email)。
寫進 CLAUDE.md:
- 用最少的程式碼解決問題;200 行能被 50 行取代就寫成 50 行
- 不要為了「未來可能會用到」加抽象層 — 未來到了再說
- 錯誤處理只寫真的會發生的地方,別替不會發生的情境擋牆
- 註解只解釋「為什麼」,不解釋「做什麼」;命名夠好就不用註解
家規四:不准嘴巴說「完成了」,要證明給我看
這是真正的分水嶺。
AI 敢說「完成了」,是因為它沒有內建的動機去自己跑一遍 —— 說完成成本是零,錯了頂多是你回來罵一句。你如果翻一週的對話紀錄自己數一下,會發現「回報完成但其實沒好」的比例只多不少。
CLAUDE.md 這一條要寫得很嚴格:
- 沒有跑過測試 / 沒有實際執行過 / 沒有把輸出看過一遍,不准說「完成」
- 沒驗過就要老實寫「已改,未驗證,請你檢查」
- 部署也一樣:部署完要去打一次上線後的接口確認回應正常,不是看指令沒噴錯就當成功
- 01
① 動手前先想清楚
假設寫出來、不確定的問清楚。方向錯了再快也是白做。
- 02
② 只動該動的地方
你要修 A 就只改 A。B 看起來想重構?留到下一次專門的重構任務。
- 03
③ 用最少的程式碼解決
能 5 行不要 50 行。抽象等到真的需要再抽,別提前設計。
- 04
④ 驗證過才算完成
測試綠、實際跑過、輸出貼給你看 — 有證據才叫做完。
裝了這條之後,我的對話變成這個節奏:「我改好了,跑了測試全綠、實際打了一次新接口拿到 200 回應,這是輸出(貼出來)。」而不是「已完成,請確認。」
差別很大。前者我一眼看得出結果,後者我還要自己去跑一遍。光這一條就把我每週省下的時間掛在牆上了。
一份可以直接複製的模板
想現在就有一份能跑的 CLAUDE.md,把下面這段複製到你專案根目錄、存成 CLAUDE.md 就好。這是我自己在用的版本,剪成最短:
# {專案名稱} — 給 AI 的家規
回答一律用繁體中文,技術名詞可保留英文。
## 動手前
- 不確定我要什麼就問,不要用猜的
- 動之前先講你的假設是什麼;假設錯了 = 方向錯了
- 看不懂的既有程式碼先讀清楚再改,不要邊看邊改
## 動的時候
- 只改我這次叫你改的東西,其他一律不動
- 覺得旁邊的程式碼很爛,用一句話跟我講、不要順手改
- 能 5 行不要 50 行;不要為了未來可能加抽象
- 錯誤處理只寫真的會發生的;註解只解釋「為什麼」
## 動完之後
- 沒跑過就不准說「完成」
- 沒驗過就老實寫「已改,未驗證」
- 部署完自己打一次接口確認;不是看指令沒噴錯就是成功
自己寫 CLAUDE.md · 優缺點
- + 完全客製化 — 你的專案有什麼特殊限制、什麼歷史包袱,寫進去就好
- + 零依賴 — 不需要外掛、不需要註冊、不需要付費
- + 搬家方便 — 一個文字檔跟著專案走,換電腦、換人接手都直接生效
- − 要自己寫、自己維護;規矩久了會過時,你得定期回頭修
- − 規矩太多會互相打架 — 條數一多,AI 就會選擇性遵守
- − 不會強制執行 — 它是「提醒」不是「守門員」,AI 還是可能忘記某條
如果你不想自己寫、想直接拿一套「已經被大量工程師驗過的預設家規」,可以用外掛:Superpowers(我上一篇介紹過),把「動手前先想清楚、測試先寫、驗證才算完成」這幾件事打包成強制觸發的技能,一行指令裝完。
兩者不衝突 —— 你可以裝 Superpowers 拿到通用紀律,同時用 CLAUDE.md 加上「這個專案獨有的規矩」(例如「這個專案用 pnpm 不要用 npm」「這個資料庫別用 cp 備份」)。
幾個常被問的細節
Q:CLAUDE.md 檔名一定要全大寫嗎?
是。Claude Code 只認 CLAUDE.md 這個確切檔名;寫成 claude.md 或 Claude.md 都不會被讀到。
Q:檔案要放在哪一層資料夾?
專案根目錄(跟 README.md 同一層)。放在這一層最保險,Claude Code 一進來就會偵測到。
Q:全域和專案兩份 CLAUDE.md 都寫,會不會打架? 兩份都會被讀進來 —— 全域寫背景規矩、專案寫這裡才有的規矩。有衝突時,把專案的寫得更具體,就會蓋過全域的通則。
Q:CLAUDE.md 要放進版本控制嗎?
放。這是團隊資產,別人接手這個專案時直接繼承你的家規;純個人的偏好想另外收,可以額外開一個檔名帶 .local.md 的版本,讓版控忽略它。
最後說兩句
寫程式的 AI 越來越強,但你會發現,同一個模型在不同人手上做出來的品質差很多。差別不是誰用了更貴的方案,是誰把「教規矩」這件事變成一次性的成本。
CLAUDE.md 就是把口頭規矩固化成檔案的地方。你貼一次、之後每個新對話都自動生效、可以跟著版控一起走 —— 相當於花 30 分鐘寫一份員工手冊,之後每個新人來都不用再從頭教。
你的 AI 不是不聽話,是每次進來都沒人給它員工手冊。給它一份,你會發現它比你想的自律多了。
對了 —— 這種「複製一段就能用」的實戰模板,我在 Coocolab 會員的免費資源區放了一整櫃:
- 讓 AI 用 5 個維度殘酷壓力測試你的創業點子、早點知道不行比做三個月才發現好
- 用 7 個問題逼出你早就有、卻沒發現的商業點子
- 30 分鐘個人財務體檢 — 訪談你 7 個問題、生出只有你用得到的健康度報告
- 上一篇那個一鍵安裝快 700 倍、能穿透 Cloudflare 的爬蟲
全部免費,用 email 註冊就能拿:打開免費資源區 →
延伸閱讀:
延伸閱讀
AI 幫你寫程式老是衝太快、還自稱「完成了」?幫它裝一套資深工程師的工作紀律(一行指令)
AI 很會寫 code,但它像個超聰明卻很衝動的新人:你說『做個 X』它二話不說開始狂寫,不問清楚、不寫測試、出錯亂猜、還沒驗證就說『完成了』。問題不在它笨,在它沒紀律。這篇介紹 Superpowers —— 一套讓 AI 像資深工程師一樣工作的方法論(動手前先想清楚、測試先行、驗證才算完成),一行指令就能裝。附一鍵上手 prompt,Coocolab 免費會員可拿。
Cursor 教學:跟 Claude Code 到底該用哪個?我兩個都用的取捨
Cursor 是 IDE、Claude Code 是 CLI,都能寫程式但工作流程完全不同。這篇是實測後的判斷:新手先學哪個、什麼時候用哪個順手、什麼情境不用學兩個。
vibe coding 是什麼?跟「叫 AI 幫你寫程式」根本不是同一件事
vibe coding 不是 AI 寫程式的另一個叫法,而是 Karpathy 2025 年 2 月定名的一種寫法——不看修改、不管 AI 寫了什麼、只憑感覺往前推,一離開週末小專案就翻車。
Caveman prompt:叫 Claude 講話像山頂洞人,token 帳單瘦一圈
Claude 每次回話都繞客套話——那些字都要錢。Caveman prompt 叫它切成山頂洞人語氣:只留動詞、名詞、數字。什麼場合能用、什麼場合會爛掉,附我整理的 prompt。
想把這些變成你的實戰能力?
加入 免費會員 — 解鎖「加密貨幣新手 30 天」+「AI 工具 21 天」實戰課、免費 prompt 資源區,還有每天自動生息的放貸 Bot 可試用。email 一鍵註冊、不用密碼。