Bible Network Crypto DeFi Onchain RWA AI Agent Stablecoin Chain SAFU CryptoTax DeFAI AGI Claude Me Claude Skill Claude Design Claude Cowork
獨立知識媒體
與任何項目無關聯
學會用 Claude,每件事都做得更好
claudeskill-me.com
最新
用 OpenTelemetry 看 Claude Code 的壓縮與 hook:compaction、hook_execution_complete 與 precompute_reuse 欄位怎麼讀  ·  Bash 權限規則的盲區:deny 擋不住 /bin/rm、bash -c 與 git -C,devbox run * 還會放行內層任何命令  ·  CLAUDE.md 太長了怎麼辦:用 .claude/rules/ 與 paths 讓規則只在碰到特定檔案時才載入  ·  沙盒裡跑 Chromium 出現 No usable sandbox!:--no-sandbox、excludedCommands、allowNestedUserNamespaces 三種解法各放棄什麼  ·  Claude Code v2.1.309:沙盒啟動檔不再在沙盒外執行、denyWrite 經 symlink 失效等一批沙盒與權限缺口修正  ·  auto mode 的 $defaults 陷阱:autoMode.soft_deny 少放一個字串,內建的 force push 攔截規則就整批消失
beginners

CLAUDE.md 太長了怎麼辦:用 .claude/rules/ 與 paths 讓規則只在碰到特定檔案時才載入

30 秒速讀
frontmatter 的 YAML 寫壞,路徑限定規則不會報錯,而是悄悄變成「每個 session 都載入」。

完整解析 +
01 · 為什麼發生?

我的規則檔案要放哪裡?

專案層放 .claude/rules/,個人層放 ~/.claude/rules/,後者對你機器上所有專案都適用。每個 .md 一個主題。

02 · 運作原理是什麼?

為什麼我的路徑規則每個 session 都出現?

先檢查 frontmatter 的 YAML 有沒有寫壞:文件說解析失敗時會當成沒有 paths,變成無條件載入。用 claude --debug 看解析錯誤。

03 · 如何應用

rules 和 Skill 差在哪?

規則在每個 session 或開啟符合檔案時載入;skill 只在你叫用或 Claude 判斷相關時才載入。不需要一直在 context 的任務型指示,文件建議用 skill。

04 · 我該怎麼做?

不是工程師,一句話懂?

把規則想成員工手冊:全公司都要遵守的放總則,只有會計部才需要的,等你走進會計部才發給你。

完整內容 +

CLAUDE.md 越寫越長,是很多人遇到的第一個問題:官方建議每個檔案約 200 行以內,更長會耗用更多 context 並降低遵守度。官方給的出路之一是 .claude/rules/:把規則拆成多個檔案,還可以讓某些規則只在 Claude 碰到特定檔案時才載入。本文是照官方文件整理的上手步驟。除了標明的地方,都出自官方記憶文件(How Claude remembers your project);步驟我沒有在自己機器上跑過,請你照著試一次再確認。

目錄結構

your-project/
├── .claude/
│   ├── CLAUDE.md
│   └── rules/
│       ├── code-style.md      # no paths: loads at launch
│       └── api.md             # has paths: loads on matching files
└── src/api/users.ts

每個 .md 檔案放一個主題,檔名要能看出內容(文件的例子是 testing.md、api-design.md),可以遞迴放進 frontend/、backend/ 之類的子目錄。沒有 paths 的規則在啟動時載入,優先順序和 .claude/CLAUDE.md 相同。

第一步:建立一個只在 API 檔案出現的規則

---
paths:
  - "src/api/**/*.ts"
---

API rules

  • Validate all input before using it
  • Return errors in the standard error format

文件說 paths 是規則檔案裡 Claude Code 唯一會讀的 frontmatter 欄位,其他欄位會被忽略而且不報錯;載入前會把 frontmatter 拿掉。paths 可以是 YAML 清單,也可以是逗號分隔的字串。

什麼時候會載入

路徑限定的規則,在 Claude 用 Read、Write 或 Edit 對符合的檔案操作時載入;用 Bash 的 cat 或 head 看單一檔案、屬於文件定義的「算讀取」時也會載入。也就是說,只是開了一個 session 還沒碰到檔案,這條規則不在 context 裡。沒有 paths 的規則則是無條件載入、套用到所有檔案。

常用的 glob 寫法

  • **/*.ts:任何目錄下的所有 TypeScript 檔案
  • src/**/*:src/ 下的所有檔案
  • *.md:專案根目錄的 Markdown 檔案
  • src/components/*.tsx:特定目錄的 React 元件
  • 可以用大括號展開,如 src/**/*.{ts,tsx};一個規則的整個 paths 清單共用 1,000 個展開樣式與 4 MiB 的額度,超過的樣式會以未展開的形式使用,大括號就變成字面字元、什麼都匹配不到。

三個容易踩的坑

  • YAML 寫錯會變成「無條件載入」:文件說,frontmatter 的 YAML 無法解析時,Claude Code 會忽略它,並把規則當成沒有 paths 來載入。也就是說你本來想「只在 API 檔案出現」的規則,會變成每個 session 都載入。要看解析錯誤,執行 claude --debug。
  • [ 要跳脫:glob 把 [ 當成括號運算式的開頭,無法解讀的樣式(如 photos [2024/)無效、什麼都匹配不到,其他樣式仍正常;要匹配字面的 [,寫成 photos \[2024/。
  • 符號連結的共用規則:.claude/rules/ 支援 symlink,可以把共用規則連進多個專案,但指向工作目錄之外的 symlink 要先核准外部匯入;核准後,只有「沒有 paths 欄位」的規則會載入。要免核准共用,放在 ~/.claude/rules/,對你機器上所有專案都適用。

怎麼確認真的有載入

我能確認的官方資訊是:文件有 InstructionsLoaded hook 可以在指令檔載入時觸發,以及 claude --debug 看 frontmatter 解析錯誤。第三方整理(claudefa.st)說 /memory 會列出已載入的 CLAUDE.md 與規則檔,我沒有自己查證,請以你的版本為準。比較直接的做法(我的建議,未實測):先開新 session、不碰任何檔案,問 Claude「現在有哪些 API 規則」;再請它讀 src/api/users.ts,同樣的問題再問一次,兩次的答案應該不同。

規則、CLAUDE.md、Skill 怎麼分

文件的說法是:規則在每個 session 或打開符合的檔案時載入;不需要一直在 context 的任務型指示,改用 skill,它只在你叫用或 Claude 判斷相關時才載入。我的整理:全專案都適用的短規則放 CLAUDE.md;只和某類檔案有關的放路徑限定規則;一個完整的工作流程放 skill。另外第三方整理說壓縮之後,路徑限定的規則要等 Claude 再讀到符合的檔案才會回來,這點我沒有在官方文件找到,只當作可能性。

資料來源:How Claude remembers your project - Claude Code Docs、What survives compaction - ClaudeFast
圖解
路徑限定規則何時進入 context沒有 paths 的規則啟動時載入,有 paths 的規則等 Claude 碰到符合的檔案才載入;frontmatter YAML 寫壞會變成無條件載入How a path-scoped rule gets into context.claude/rules/code-style.md (no paths)api.md (paths: src/api/**/*.ts)testing.md (paths: **/*.test.ts)only "paths" is read from frontmatterLoads at launchsame priority as CLAUDE.mdWaits for a matching fileRead, Write, Edit, or cat/headRule enters contextwhen Claude touches src/api/users.tsPitfall: if the frontmatter YAML does not parse, the rule loads as if it had NO pathsA rule meant for API files only then loads in every session. Check with: claude --debugAlso: escape [ as \[ in globs; a pattern that cannot be read matches nothing~/.claude/rules/ applies to every project on your machineSymlinks to outside the working directory need external-import approval; only rules without paths loadTask-specific instructions that need not always be in context belong in a skillClaude Skill Me · claudeskill-me.com
歡迎截圖分享,轉載請註明來源
提問
請至少輸入 10 個字
相關文章
為什麼裝了 Skill 卻不會觸發?15,000 字元預算爆了,Claude Code 會悄悄丟棄描述且不警告
practice · 09/02
執行 /compact 之後,Claude 突然不會用 Skill 了?不是故障,官方設計就是不會自動補回來
beginners · 10/02
Claude Mods 不是另一種 Plugin——它能畫 Pane、能攔截畫面渲染,一般外部擴充功能完全做不到
skill-library · 10/05
Claude Code 已把 Command 併進 Skill 系統——網路上一堆「Commands vs Skills 差異」教學已經過時了
skill-library · 09/05
相關新聞