O que codemap faz?
Execute o script incluído. Ele lê a árvore de trabalho atualizada a cada chamada e imprime um mapa compacto e ordenado; nunca escreve nada.
${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
Opções: --ext (separado por vírgulas, sem pontos), --dir, --symbols, --max (limite de linhas de saída, padrão 300), --exclude REGEX (repetível).
A saída se parece com:
# codemap: 12 files in 3 dirs (dir: app, ext: php, via rg)
Http/Controllers/
UserController.php: class UserController, fn index, fn store
Quando usar
- Você precisa de todos os arquivos de um ou mais tipos e não sabe onde eles estão localizados.
- Você está prestes a ler vários arquivos apenas para descobrir o que eles definem: execute com
--symbolsprimeiro e leia apenas os arquivos que importam. - Um subagente começa em uma área desconhecida: passe para ele o mapa de código desse diretório em vez de deixá-lo pesquisar do zero.
Quando não usar
- Você sabe o nome do arquivo ou um padrão preciso: use Glob.
- Você precisa de texto dentro de arquivos: use Grep.
- Você precisa de definições ou referências de um símbolo e um plugin LSP está habilitado: use a ferramenta LSP.
Pegadinhas
.gitignoreé respeitado quando ripgrep ou git estão disponíveis;vendor/,node_modules/, saída de build, arquivos minificados e mapas de origem são sempre ignorados.- Os símbolos vêm de padrões baseados em linha, não de um analisador sintático: classes/funções PHP de nível superior,
exports JS/TS,class/defPython de nível superior,type/funcGo, propriedades customizadas CSS (como contagem) e mixins SCSS/Less. Trate-os como um índice remissivo e depois leia o arquivo. - Quando a saída termina com
# ... truncated, restrinja com--dir,--extou--excludeem vez de aumentar muito--max.