@docs-flatten kind=code e deixa o agente cruzar as bases para achar a causa raiz.
O Problema
ORollout checkout-api fica preso em Progressing e nunca vira Healthy. Olhar uma camada por vez não resolve: o manifesto parece certo, o Terraform aplicou sem erro, e o código compila. A resposta está na junção — e está espalhada por três repositórios.
Ingredientes
- O repositório da aplicação (código do serviço).
- O módulo Terraform da infra (cluster, node groups).
- O repositório GitOps (manifestos Argo/Kubernetes).
- ChatCLI com o tool builtin
@docs-flatten(já vem incluso).
Nenhuma API key é necessária: o knowledge mode usa BM25 puro-Go por padrão. Embeddings (Voyage/OpenAI/Bedrock) são um boost opcional.
Passo a Passo
Indexe cada camada como uma base
kind=code fatia cada repo por estrutura — funções, recursos Terraform, manifestos — com títulos de símbolo/recurso, em vez de um blob de texto:vendor/, .terraform/, lockfiles, binários) é pulado automaticamente, e arquivos acima de 1 MiB são ignorados.Crie e anexe as três bases
Pergunte cruzando as camadas
No Por baixo, o agente investiga iterativamente:
/agent (ou /coder), descreva o sintoma e deixe a IA conectar. O @knowledge search faz fan-out sobre as três bases, marcando cada trecho pela base de origem:Receba o diagnóstico cross-layer
Com trechos das três camadas no mesmo raciocínio, a IA conecta os pontos — por exemplo:
OA base é read-only — ela dá o entendimento. Para aplicar a correção e rodar os testes, use oRollout/checkout-api(argo) definereadinessProbena porta 8080, mas o serviço (app,server.go) escuta em 8081; e oaws_eks_node_group.workers(infra) tem umtaintdedicated=checkoutque oRolloutnão tolera. Dois fatores compondo: o probe nunca passa e os pods nem agendam nos nós certos.
/coder no repo vivo com @read/@search/@coder.Por que funciona
Fan-out automático
@knowledge search consulta todas as bases anexadas de uma vez; cada hit vem marcado pela base de origem, então o modelo sabe de qual camada veio.Fatiamento por estrutura
Recursos Terraform, manifestos K8s e funções viram chunks próprios com títulos (
aws_eks_node_group.workers, Rollout/checkout-api) — a busca aterrissa no ponto certo.Custo fixo
Index card de ~900 tokens por base, não importa o tamanho do repo. Três camadas continuam cabendo no prompt.
Keyless
BM25 puro-Go cobre tudo sem API key; identificadores (
getReadiness, checkout_api) são achados por suas partes graças ao split camelCase/snake.