Pular para o conteúdo

Codebase map

Compatível com dr3.4.25

O codebase map é a memória estrutural do projeto: o comando /dr:codebase-map lê manifestos, configs e arquivos-chave e pré-computa sete artefatos em .dr_ai/codebase/, sempre como conjunto:

ArtefatoO que responde
STACK.mdRuntimes, escolhas canônicas de bibliotecas, o que não usar e restrições de toolchain
ARCHITECTURE.mdForma do sistema, camadas e pontos de entrada, fluxo de dados e controle, fronteiras e decisões de design
CONVENTIONS.mdNomes de arquivos e identificadores, imports e fronteiras entre módulos, tratamento de erros e particularidades por camada
STRUCTURE.mdLayout, árvore curta por camada (inclusive monorepo), onde cada coisa vai e recursos compartilhados
TESTING.mdComando de teste, framework, arquivos e segurança para paralelismo
INTEGRATIONS.mdServiços externos, variáveis de ambiente por escopo (navegador, servidor, CI/deploy) e credenciais fora do env
VISUAL.mdFonte do design system, cores, tipografia, espaçamento, raios, sombras, movimento e breakpoints

Os artefatos registram só o que foi inferido lendo o código: o que já está no CLAUDE.md e nas regras de .claude/rules/ fica de fora, porque os agentes já recebem esses arquivos.

Cada artefato guarda no frontmatter a lista de arquivos-fonte e seus hashes SHA-256. Rodar /dr:codebase-map de novo é idempotente: só regenera os artefatos cujas fontes mudaram (--force reescreve tudo). Dois hooks fecham o ciclo sem esforço seu: um marca com [STALE] os artefatos cujas fontes o Claude alterou via Write, Edit ou MultiEdit (e, a cada uma dessas edições, também os que têm alguma fonte que sumiu do disco), e outro injeta no prompt de cada subagente despachado via Task os artefatos relevantes para o papel dele — é assim que um especialista chega já sabendo as convenções do projeto (CONVENTIONS.md é o padrão para quem não tem mapeamento próprio). Alguns agentes não recebem nenhum, como o despachante de tasks, os de git e o pesquisador web; se algum artefato injetado estiver desatualizado, o subagente recebe um aviso junto.

Para regenerar um artefato isolado, cada um tem seu subcomando (também aceita --force): /dr:codebase-map:stack, :architecture, :conventions, :structure, :testing, :integrations e :visual.