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
いつ使うか
- 1つ以上のタイプの全ファイルが必要だが、それらがどこにあるか分からない場合。
- 複数のファイルを読もうとしているが、実際に何を定義しているか知るためだけに読むのは避けたい場合: まず
--symbolsで実行し、必要なファイルだけを読んでください。 - サブエージェントが不慣れな領域で作業を開始する場合: そのディレクトリの codemap を渡すことで、ゼロから検索させる代わりに効率的に進められます。
いつ使わないか
- ファイル名や正確なパターンが分かっている場合: Glob を使用してください。
- ファイル内のテキストが必要な場合: Grep を使用してください。
- シンボルの定義や参照が必要で、LSP プラグインが有効な場合: LSP ツールを使用してください。
注意点
ripgrepまたはgitが利用可能な場合、.gitignoreが尊重されます。vendor/、node_modules/、ビルド出力、minify されたファイル、ソースマップは常にスキップされます。- シンボルはパーサーではなく行ベースのパターンから取得されます: PHP のトップレベルクラス/関数、JS/TS の
export、Python のトップレベルclass/def、Go のtype/func、CSS カスタムプロパティ(カウントとして)、SCSS/Less ミックスイン。これらを目次として扱い、その後で実際のファイルを読んでください。 - 出力が
# ... truncatedで終わる場合は、--maxを大幅に上げるのではなく、--dir、--ext、--excludeで絞り込んでください。