codemap
執行捆綁的腳本。每次呼叫時都會重新讀取工作樹,並印出緊湊、排序的映射;它從不寫入任何內容。
${CLAUDE_SKILL_DIR}/scripts/codemap --ext php,blade.php --dir app
${CLAUDE_SKILL_DIR}/scripts/codemap --ext css,scss --symbols
${CLAUDE_SKILL_DIR}/scripts/codemap --ext ts,tsx --dir src --symbols --max 150
選項:--ext(以逗號分隔,無需點號)、--dir、--symbols、--max(輸出行數上限,預設 300)、--exclude REGEX(可重複)。
輸出範例:
# codemap: 12 files in 3 dirs (dir: app, ext: php, via rg)
Http/Controllers/
UserController.php: class UserController, fn index, fn store
何時使用
- 你需要一個或多個類型的所有檔案,但不知道它們的位置。
- 你準備讀取多個檔案,只為了了解它們的定義:先使用
--symbols執行,然後只讀取需要的檔案。 - 子代理開始處理不熟悉的區域:將該目錄的 codemap 傳遞給它,而不是讓它從頭搜尋。
何時不使用
- 你知道檔案名稱或精確的模式:請使用 Glob。
- 你需要檔案內的文字:請使用 Grep。
- 你需要某個符號的定義或引用,且已啟用 LSP 外掛:請使用 LSP 工具。
注意事項
- 當 ripgrep 或 git 可用時,會遵循
.gitignore;vendor/、node_modules/、建置輸出、最小化檔案與來源映射一律跳過。 - 符號是基於行模式而非解析器取得:頂層 PHP 類別/函式、JS/TS 的
export、Python 頂層的class/def、Go 的type/func、CSS 自訂屬性(以計數方式呈現)以及 SCSS/Less mixin。請將其視為目錄,然後再讀取檔案。 - 當輸出結尾出現
# ... truncated時,請使用--dir、--ext或--exclude縮小範圍,而不是大幅提高--max。