生活分享

Claude Code|個人、專案與子目錄規則

把團隊規範與個人偏好放在正確位置。當你同時有個人偏好、團隊規範與子目錄特殊要求時,需要知道每份 CLAUDE.md 從哪裡載入。本篇會用一個小型目錄實驗說明作用範圍,讓你找出規則來源、避免互相矛盾,並知道哪些個人檔案不應提交到團隊儲存庫。

閱讀時間約 5 分鐘

個人、專案與子目錄規則:文件、螢幕與完成記號的幾何插圖
圖片:Mokaair (© Mokaair)
本篇目錄
  1. 分清楚使用者與專案
  2. 用子目錄做一個小實驗
  3. 個人專案補充放在哪裡
  4. 如何處理衝突規則
  5. 小練習與完成判準

當你同時有個人偏好、團隊規範與子目錄特殊要求時,需要知道每份 CLAUDE.md 從哪裡載入。本篇會用一個小型目錄實驗說明作用範圍,讓你找出規則來源、避免互相矛盾,並知道哪些個人檔案不應提交到團隊儲存庫。

請先完成。本篇在練習專案副本操作,不修改真實工作專案的個人設定;如果你的電腦已經有使用者層規則,先閱讀現有內容再考慮調整。不要為了照範例把原檔整份覆蓋。

分清楚使用者與專案

分清楚使用者與專案 → 用子目錄做一個小實驗 → 個人專案補充放在哪裡
分清楚使用者與專案 → 用子目錄做一個小實驗 → 個人專案補充放在哪裡 · 圖片:Mokaair (© Mokaair)
閱讀完整文字說明

個人、專案與子目錄規則,以流程和文件圖形呈現教學重點。

使用者層的 ~/.claude/CLAUDE.md 適合自己跨專案通用的偏好,例如回覆語言與解釋方式。專案根目錄的 CLAUDE.md 則保存團隊共享的技術與測試規範。波浪號代表使用者家目錄;Windows 讀者可以從自己的使用者資料夾理解這個位置,不要把它當成專案內名為 ~ 的資料夾。

位置主要用途分享方式
~/.claude/CLAUDE.md個人跨專案偏好通常自己維護
專案根目錄 CLAUDE.md團隊專案指引納入版本控制
子目錄 CLAUDE.md該區域特殊規範隨專案分享
CLAUDE.local.md個人在該專案的補充加入忽略規則

文件放的位置決定它何時被發現,但自然語言規則不是像 JSON 單值設定那樣簡單覆蓋。官方目前說明,找到的上層與工作目錄指引會串接到上下文,較接近啟動位置的內容在後面;同一層的 local 文件附加在共享文件之後。避免衝突仍然需要人整理,不能只靠「後面一定贏」來設計規範。

用子目錄做一個小實驗

在練習專案的 tests 目錄建立 CLAUDE.md,內容只寫測試區的特殊要求。根目錄仍保留原本的專案指引。從根目錄啟動新 session,先問整體結構,再要求讀取 tests 中的檔案,觀察子目錄規則何時進入上下文。

寫入 tests/CLAUDE.md · markdown
# 測試目錄指引

- 使用 Node.js 內建測試工具,沿用既有測試寫法。
- 測試名稱描述使用者可觀察的行為。
- 資料操作測試應確認未被選中的項目保持不變。
- 不用任意等待時間掩蓋失敗,先找出原因。

子目錄指引一般會在 Claude 讀取該區域的檔案時按需載入,而不是啟動時把整棵專案的規則全部塞進去。若你直接從 tests 目錄啟動,當下工作目錄與祖先的載入關係又不同,因此實驗紀錄要包含「從哪裡開啟」這個條件。

從專案根目錄啟動的 Claude Code 對話框 · text
先說明目前專案的一般指引。
接著讀取 tests 中的測試檔案,指出該目錄是否有額外的 CLAUDE.md。
整理新增測試時應遵守的要求,先不要修改檔案。

在需要時使用 /context 核對 Memory files,並閱讀回覆引用的路徑。成功判準不只是它重複了測試規則,而是你能追溯到正確檔案,知道這條要求為什麼適用於目前工作。若它讀到另一個上層資料夾的規範,也應一併記錄,避免把來源忽略掉。

個人專案補充放在哪裡

假設你希望這個專案的回報附上自己的本機預覽位址,卻不想要求整個團隊都用相同位置,可以使用 CLAUDE.local.md。先將它加入 .gitignore,再檢查 Git 狀態,確保個人資訊沒有出現在待提交清單中。忽略檔案不會自動取消已追蹤檔案的歷史,建立前先確認狀態。

寫入專案根目錄 CLAUDE.local.md:示例個人偏好 · markdown
# 我的練習偏好

- 完成介面修改後,請提醒我用手機寬度檢查一次。
- 回報使用繁體中文,程式識別字保留原樣。
加入專案 .gitignore:個人規則檔 · text
CLAUDE.local.md
專案終端機:確認個人檔案的忽略來源 · bash
git check-ignore -v CLAUDE.local.md
git status --short

若你使用多個 Git worktree,被忽略的個人檔案不會因為切換分支就自動複製到每個目錄。這時可考慮由 CLAUDE.md 引用家目錄中的個人檔案,但外部引用有額外的信任與載入條件,請依處理。

如何處理衝突規則

例如根目錄要求資料操作用純函式,子目錄文件卻說所有函式直接修改原陣列。不要只新增第三條「請遵守最新規則」來解決;應確認真正的架構決策,修改或刪除過期敘述,讓各層要求能同時成立。必要時寫明例外適用哪個範圍與原因。

找不到衝突來源時,列出使用者、上層、根目錄、子目錄與 rules 檔案,再逐個閱讀。這比只搜尋當前資料夾更完整。若是組織管理的規範,應向維護者確認,不能把個人偏好寫成覆蓋管理政策的捷徑。

多人專案也要記錄哪些規則是團隊共享、哪些只對個人有效。請同事使用乾淨的工作副本核對共享檔案,避免一份只存在你電腦上的個人設定,成為大家無法重現流程的隱藏前提。

小練習與完成判準

上層資料夾有時也放著跨專案規則,例如你把多個練習專案收在同一個工作區。當某條指引看起來不屬於目前專案,先沿目錄往上查來源。把不適用規則搬回正確範圍,通常比在每個子專案新增反向規則更清楚,也能避免下一個新專案再次受到影響。

為練習專案建立一份根規則、一份 tests 子規則和一份個人補充,三者只寫各自需要的資訊。從根目錄開新 session,讀取 tests 後核對載入來源;再檢查個人檔案確實被忽略。最後用自己的話說明哪份會分享給隊友、哪份只影響自己,以及子目錄規則何時出現。

練習結束後保留你需要的文件,移除純實驗用的規則時也要檢查差異,避免刪掉原本專案內容。完成判準是規則彼此一致、來源可追查、個人資訊未混入提交,而且你能解釋為什麼同一個問題在不同啟動目錄可能得到不同上下文。

回總目錄

  • 生活分享

    Claude Code|建立第一個 mod:在 Claude Code 行程內數工具呼叫

    寫一個三檔案的 mod,用驗證器與測試確認它掛上的事件。文件把 mod 定義成多了入口檔的 plugin:入口檔叫 hooks module,Claude Code 在事件發生時呼叫裡面的函式,函式可以觀察、改寫或接手事件。

  • 生活分享

    Claude Code|Git Worktree 平行工作

    隔離多個任務的檔案與分支。Git Worktree 讓同一儲存庫擁有多個工作目錄,各自使用分支與檔案。本篇會把待辦篩選與文件整理分開,確認兩個 session 不會直接改到彼此的檔案,再把其中一個成果整合回主分支。你也會知道何時可以安全清理工作目錄。

  • 生活分享

    Claude Code|雙 Worktree 實作與衝突整合

    隔離兩項功能,最後完成整合與回歸。兩個 Claude 工作階段同時編輯專案,最容易出現的問題是互相改到同一份檔案,或各自測試通過、整合後卻失敗。本篇用兩個 Worktree 分別處理篩選預設值與介面文字,故意製造一次小衝突,再完成整合、驗證與清理。你不需要先啟用 Agent Teams。

  • 生活分享

    Claude Code|比較流程品質、用量與執行時間

    以同一資料集比較兩種工作方法。比較兩種 Claude 工作方法時,不能只挑成功那一次,也不能只看第一個答案有多快。本篇用固定案例、原始紀錄和一致判準,比較品質、重試、等待與人工整合時間,最後寫出有樣本數與限制的報告,而不是保證某個方法一定省錢。

最新旅遊情報攻略

資料來源

生活分享