Analisa o projeto em paralelo e gera mapa estruturado de stack, arquitetura, convencoes e concerns
How this skill is triggered — by the user, by Claude, or both
Slash command
/claude-code-framework:map-codebaseThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
<!-- framework-tag: v2.56.0 framework-file: skills/map-codebase/SKILL.md -->
Analisa o projeto em 4 dimensoes paralelas e gera um mapa estruturado: stack tecnologico, arquitetura, convencoes de codigo e concerns ativos. Util para onboarding em projetos existentes e para o Claude iniciar sessao em repositorio desconhecido.
/map-codebase
/map-codebase --save
/map-codebase --quick
--save: salva em .claude/CODEBASE_MAP.md (avisa antes de sobrescrever)--quick: resumo executivo inicial (stack em 3 linhas, arquitetura em 2, top 3 concerns). Nao substitui analise completa. Nao usar antes de executar tasks em codebase desconhecida — apenas para orientacao rapida ou preview.Determinar escopo: executar git ls-files --cached --others --exclude-standard para listar arquivos rastreados. Se git nao estiver disponivel ou o comando falhar, usar listagem do diretorio atual respeitando .gitignore como referencia heuristica.
Fronteiras de escopo — nunca entrar em:
node_modules/, vendor/, dist/, build/, .gradle/, .cargo/.gitignore)Profundidade por arquivo: ler no maximo 50–80 linhas por arquivo para identificar padroes. O objetivo e visao geral, nao compreensao completa. Ir alem apenas com razao especifica.
Limite de arquivos por dimensao: maximo 30 arquivos por agente. Se o projeto for maior, amostrar garantindo minimos obrigatorios antes de preencher o restante por prioridade:
Minimos obrigatorios (sempre incluir):
main.*, index.*, app.*, server.*, cmd/) — excecao: se tipo Biblioteca/shared code, substituir pelo principal ponto de exposicao (arquivo que exporta a API publica da lib)package.json, go.mod, Cargo.toml, requirements.txt, pom.xml, Dockerfile, docker-compose.yml, .env*) ou por padrao de conteudo (lista de dependencias, scripts de build/deploy, blocos de providers/resources, configuracao de runtime)services/, modules/, domain/, core/, internal/)Preencher restante por ordem de prioridade:
package.json scripts, Makefile).github/workflows/, env adicional)git log), se disponivel e nao custoso. Caso contrario: arquivos maiores ou mais centrais na estrutura.Dependencias externas: consultar apenas manifestos — nunca seguir imports recursivamente nem ler conteudo de pacotes externos. Listar apenas dependencias diretas, nao transitivas.
Principio: Deteccao → Especializacao opcional → Fallback generico. Cada agente detecta a stack de sua dimensao antes de aplicar heuristicas. Se stack conhecida → heuristicas especificas. Se desconhecida → heuristicas genericas. Nunca assumir stack.
Modo preferencial: lançar ate 4 chamadas de Agent tool em paralelo (preferencialmente na mesma mensagem quando suportado), uma por dimensao. Nao requer worktrees — analise e read-only. O CLAUDE.md do projeto nao precisa ter "Worktrees e subagents" configurado.
Fallback (se Agent tool indisponivel): executar as 4 dimensoes sequencialmente na mesma sessao. Mencionar no output: (analise sequencial — paralelo indisponivel).
Cada dimensao e analisada de forma completamente independente — sem compartilhar estado. A sintese (Passo 2) so inicia após todas as dimensoes serem concluidas. Nenhuma dimensao pode depender de resultados de outra durante a coleta.
Dimensao A — Stack tecnologico:
(nao detectado)Exemplo de saida (Node.js + Docker):
Linguagens: TypeScript (principal), JavaScript, Shell
Framework: Express 4.18
Test runner: Vitest
Runtime: interpretado
Forma de execucao: servico persistente (web server)
Modelo de deploy: containerizado (Dockerfile presente)
Dimensao B — Arquitetura:
Tipo de sistema (classificar antes do padrao arquitetural):
Aplicacao: codigo executavel + entry pointInfraestrutura declarativa: .tf, .yaml/.json sem logica, blocos resource/module/provider, diretorios environments/, modules/Scripts/automacao: shell scripts, CI, sem entry point persistenteBiblioteca/shared code: sem executavel, expoe API/tipos para outros projetosEstrutura de pastas (top-level + proposito de cada)
Entry points
Camadas detectadas (handlers/controllers, services/use-cases, repositories/data, models)
Padrao arquitetural: identificar apenas com evidencia clara:
(nao detectado). Nunca inferir padrao apenas pelo nome de diretorios isolados.Exemplo de saida (monolito MVC):
Tipo de sistema: Aplicacao
Estrutura:
src/controllers/ — handlers HTTP
src/services/ — logica de negocio
src/models/ — entidades e ORM
src/routes/ — definicao de rotas
test/ — testes unitarios e de integracao
Padrao arquitetural: MVC (controllers + services + routes evidentes)
Dimensao C — Convencoes:
Exemplo de saida:
| Aspecto | Padrao detectado | Arquivo de referencia |
|---|---|---|
| Naming arquivos | kebab-case | src/user-service.ts:1 |
| Naming funcoes | camelCase | src/auth.ts:12 |
| Error handling | classes customizadas (AppError) | src/errors/index.ts:3 |
| Logs | winston com structured fields | src/logger.ts:1 |
| Config | dotenv + zod validation | src/config.ts:1 |
Dimensao D — Concerns:
Avaliar no contexto do tipo de sistema (Dim B). Se um concern nao se aplica ao tipo → marcar como (nao aplicavel). Se sem dados → (nao detectado).
Cada dimensao deve ser analisada de forma independente (Passo 1) antes de iniciar a sintese. Na sintese, correlacionar dimensoes e permitido, mas nunca contradizer evidencias coletadas individualmente.
Estrutura de saida obrigatoria:
## Stack tecnica (Dim A)
## Estrutura de arquivos (Dim B)
## Convencoes (Dim C)
## Concerns (Dim D)
(nao detectado) ou (nao aplicavel)]Confianca: Alta | Media | Baixa
Criterios de confianca por dimensao:
Alta — evidencia direta (config, codigo explicito, declaracao no manifesto)Media — inferencia consistente (padroes repetidos, multiplos arquivos convergem)Baixa — sinais fracos ou incompletos (unico arquivo, convencao ambigua)## Cobertura da analise (secao obrigatoria)
git ls-files ou listagem filtrada por .gitignore.28 de 150 arquivos — amostragem aplicada (entry points + configs + dominio)## Confianca geral (secao obrigatoria ao final)
--save: salvar em .claude/CODEBASE_MAP.md. Se o arquivo ja existe, avisar e confirmar antes de sobrescrever--quick: exibir apenas Stack tecnica + Estrutura de arquivos em formato resumido + top 3 concerns. Incluir aviso: Resumo executivo — nao substitui analise completa.PROJECT_CONTEXT.md existe na raiz do projeto## Stack tecnica ← Dim A## Estrutura de arquivos ← Dim B## Convencoes ou secao equivalente ← Dim C (convencoes aqui tornam o scout do /discuss mais preciso){placeholders} e linhas com {Adaptar:.Com base nos concerns detectados, sugerir (nao executar):
security-audit.mdcode-quality/README.mdtesting/README.mddependency-audit/README.md/spec-creator + execution-planPrincipio central:
Deteccao → Especializacao opcional → Fallback genericoDetectar a stack primeiro. Se conhecida → usar heuristicas especificas. Se desconhecida → usar heuristicas genericas seguras. Nunca inverter. Nunca assumir stack.
node_modules/, vendor/, dist/, build/ ou arquivos gerados. Dependencias: apenas manifestos, nunca conteudo de pacotes externos. Sem rastreamento transitivo de imports. Priorizar visao geral — ler no maximo 50–80 linhas por arquivo. Nao aprofundar excessivamente em nenhum arquivo individual.(analise sequencial — paralelo indisponivel) no output quando usado.(inferido) para achados nao diretamente evidentes, (nao detectado) se sem dados, (nao aplicavel) se o concern nao se aplica ao tipo de sistema.(nao detectado) a suposicao.--save com confirmacao: se .claude/CODEBASE_MAP.md ja existe, avisar e aguardar confirmacao antes de sobrescrever.arquivo:linha quando confiavel. Evitar afirmacoes vagas sem referencia.O output desta skill alimenta diretamente:
PROJECT_CONTEXT.md — secoes Stack tecnica, Estrutura de arquivos e Convencoes (Passo 4, com confirmacao)/spec-creator — contexto de arquitetura e convencoes para definir escopo e impacto de uma specexecution-plan — entendimento de arquitetura antes de planejar waves de execucao/discuss — PROJECT_CONTEXT.md enriquecido pelo /map-codebase torna o scout de gray areas mais precisotask-runner — execucao com contexto fresco sobre o codebaseRecomendacao: executar /map-codebase antes de qualquer planejamento em codebase desconhecida.
nao detectado)inferido, nao detectado, nao aplicavel)Creates, edits, and optimizes skills for Claude Code, including drafting, evaluating with test prompts, iterating on performance, and improving skill descriptions for better triggering accuracy.
npx claudepluginhub gabrielferreira/claude-code-framework --plugin claude-code-framework