codemap

Mapeia os arquivos de um projeto de tipos específicos em uma única chamada, agrupados por diretório, opcionalmente com as classes/funções/exports de cada arquivo. Use antes de ler arquivos quando precisar de todos os arquivos de um tipo (por exemplo, todos os controladores .php, todas as fontes .css/.scss) ou de uma visão geral do que um diretório define. Para um nome de arquivo conhecido ou um único glob, use Glob.

O que é codemap?

Codemap é uma ferramenta de skill para agentes de IA (como Claude Code, Cursor, Codex) que gera um mapa compacto e ordenado de arquivos de um projeto, agrupados por diretório, com base em extensões de arquivo. O usuário especifica os tipos de arquivo desejados (ex.: php, blade.php, css, ts, tsx) usando a opção --ext, e opcionalmente pode restringir a um subdiretório com --dir, extrair símbolos (classes, funções, exports) com --symbols, e limitar a saída com --max. A saída é um resumo legível como "Http/Controllers/UserController.php: class UserController, fn index, fn store", ideal para dar ao agente uma visão geral antes de ler arquivos específicos. Funciona em qualquer projeto com bash, Python e ripgrep/git, respeitando .gitignore e ignorando automaticamente pastas como vendor/ e node_modules/. É particularmente útil quando o agente não sabe onde os arquivos estão localizados ou precisa decidir quais arquivos ler, economizando chamadas de leitura desnecessárias. Para nomes de arquivo conhecidos, recomenda-se usar Glob; para conteúdo interno, Grep; e para definições de símbolos com LSP, a ferramenta LSP.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Borcioo/claude-skills/tree/HEAD/experiments/codemap/skills/codemap

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

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 --symbols primeiro 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/def Python de nível superior, type/func Go, 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, --ext ou --exclude em vez de aumentar muito --max.

Habilidades Relacionadas