Conteúdo detalhado
🚀 /understand --full do zero
O ponto de entrada de tudo. Você roda uma linha, espera o pipeline rodar e ganha um grafo + dashboard. Sem configuração adicional.
⌨️ Comando
A flag --full roda o pipeline completo (scan + analyze + architecture + tours). Sem ela, o comando faz só scan rápido — bom para projetos pequenos.
project-scanner
Lista arquivos, detecta linguagens
Varre o repo, ignora node_modules/build/etc e produz intermediate/scan.json.
file-analyzer
Tree-sitter + LLM por arquivo
Extrai símbolos via tree-sitter, sumariza com LLM. Resultados em intermediate/files.json.
architecture-analyzer
Layers + domain view
Agrupa nós em camadas (API/Service/Data/UI/Util) e extrai conceitos de domínio.
tour-builder + graph-reviewer
Tours guiados + validação
Monta tours por dependência, valida schema final e grava knowledge-graph.json.
Auto-trigger /understand-dashboard
Sobe a UI sozinho
O comando dispara o dashboard ao terminar. Intermediates são limpos.
/understand --full: cinco agents encadeados, cada um gravando seu intermediate, terminando no dashboard.💡 Por que escrever em disco e não retornar contexto?
Os agents gravam em intermediate/ em vez de devolver tudo no chat. Assim, o pipeline sobrevive a múltiplas conversas e não polui a janela de contexto do LLM. Resultado: você consegue analisar repos que jamais caberiam num único prompt.
📊 /understand-dashboard
Sobe o dashboard React lendo o JSON que /understand deixou no disco. Você roda esse comando quando quer reabrir o dashboard sem regenerar o grafo.
/understand-dashboard — grafo estrutural ao vivo em localhost:5173.✓ Quando usar
- ✓Você fechou o dashboard e quer reabrir.
- ✓Outro dev clonou o repo com o JSON versionado.
- ✓Você quer compartilhar o link local com alguém na rede.
✗ Quando NÃO usar
- ✗Código mudou bastante — rode
/understandde novo. - ✗Erro de schema validation — apaga o JSON e regenera.
- ✗Para deploy público — é dev server, não produção.
💬 /understand-chat, /understand-explain
Para quem prefere conversa a navegar no grafo. Dois comandos cobrem 90% dos casos textuais.
💬 /understand-chat
Diferente de um chatbot genérico, a resposta cita nós reais do grafo — clique e cai no dashboard.
🧠 /understand-explain
💡 Diferença vs "ChatGPT lê o arquivo"
O /understand-explain usa o grafo para incluir contexto estrutural: quem chama e quem é chamado. Resposta deixa de ser "esse arquivo faz X" e vira "esse arquivo faz X, é usado em Y, e mudar aqui afeta Z".
🌿 /understand-diff: impacto antes do merge
Code review honesto exige saber o que muda e o que é afetado. Ler 40 arquivos linha a linha não faz isso — o diff faz.
📊 O que olhar primeiro num PR
- Nó alterado com fan-in alto — qualquer bug propaga muito.
- Mudança cruza camadas (ex: UI mexendo em Data) — possível violação arquitetural.
- Surgiu ciclo novo — refactor pendente, vai cobrar juros.
- Aresta removida com fan-in > 0 — quebra esperando acontecer.
🎓 /understand-onboard: roteiro para dev novo
Em vez de "lê o README", o comando devolve uma sequência ordenada de arquivos para ler, com explicação curta de cada um.
Ordem por dependência
Topológica, não alfabética
Persona-adaptive
backend, frontend, fullstack
Checklist marcável
Acompanhe o progresso
Hot spots marcados
Leia com calma
🏥 Três casos reais
Para fechar a trilha, três histórias curtas de uso real — uma para cada persona principal.
Caso 1 — Dev novo no time, primeiro PR em 4 dias
Persona: Learn · Tempo: dia 1 a 4
Dia 1: roda /understand --full e /understand-onboard. Dia 2 a 3: segue a sequência, abre código no viewer. Dia 4: usa /understand-explain no módulo que ela vai mexer e abre o PR. Sênior só revisa, não precisa ensinar do zero.
Caso 2 — Review de PR de 40 arquivos em 20 minutos
Persona: Review · Tempo: 20 min
Reviewer roda /understand-diff main..feature/x. Vê que 3 nós alterados têm fan-in > 5 e que apareceu um ciclo. Foca a review nesses 3 arquivos + cobra refactor do ciclo. O resto é detalhe — aprovação em 20 min, com risco endereçado.
Caso 3 — Suporte caçando bug de produção
Persona: Debug · Tempo: MTTR cai 60%
Ticket: "pagamento dobrou para usuário X". Suporte abre /understand-chat: "onde processa pagamento e que jobs podem reentrar?". Resposta cita charge.ts e jobs/retry.ts. Layer view mostra que o retry chama charge sem idempotência. Bug encontrado em 15 min.
✓ Padrão dos três casos
- ✓Pergunta clara antes de abrir código.
- ✓Decisão baseada em estrutura (fan-in, layer, ciclo).
- ✓Trabalho concentrado em poucos nós críticos.
✗ Anti-padrões
- ✗"Abrir e ler" sem hipótese.
- ✗Aprovar PR só porque o diff "parece pequeno".
- ✗Caçar bug por grep aleatório.
🧰 Comando-cheatsheet
Tabela mental dos seis slash commands para colar na sua mesa enquanto a memória muscular não chega.
💡 Regra de bolso
Comece sempre por /understand. Sem grafo nenhum dos outros comandos faz sentido. Depois disso, mantenha o grafo regenerado a cada release — versione o JSON se o time é grande.
✅ Resumo do Módulo
Próxima Trilha:
Trilha 2 — Pipeline & Agentes (por dentro do project-scanner, file-analyzer e companhia)