Primeiros passos
Esta página leva você de nada instalado até um merged PR. Ela cobre as quatro formas de rodar o harness-kit: simples, com o judge Jev, com graph engineering e com os dois. Todo setup usa os mesmos comandos; as opções só mudam o que acontece dentro de alguns passos.
Por que vale a pena
Um agent de IA escreve código rápido, e é na pressa que os erros caros se escondem: o problema nunca foi escrito, "pronto" nunca foi definido, o código ignora suas convenções e a review foi uma olhada. O harness-kit transforma cada um desses pontos num passo que precisa passar antes de o próximo começar, e escreve esses passos por você.
| Sem o harness-kit | Com o harness-kit |
|---|---|
| O ticket vive na sua cabeça ou numa thread de chat | Um PRD com o problema, os clientes e uma métrica de sucesso numérica |
| "Pronto" é o que o agent decidiu | Um PRP com critérios de aceite que você confere um por um |
| O agent edita o que encontrar | Um plan que nomeia os arquivos e, com graph engineering, um gate que reprova qualquer outro arquivo |
| Review é ler um diff e torcer | Todo documento avaliado contra uma rubric, refeito até passar de 8.0 |
| Ninguém lembra por que o código está assim | Todo requisito ligado ao código que o implementa e ao teste que o prova |
| A qualidade depende do dia | Os mesmos seis passos toda vez, com um histórico de notas que você acompanha |
Você gasta sua atenção em duas decisões, se a direção está certa e se o PR está pronto, em vez de digitar specs e correr atrás de convenções.
Escolha um setup
Você pode mudar de ideia a qualquer momento com um comando, então comece pelo default.
| Setup | Melhor para | O que acrescenta | Do que precisa | Custo |
|---|---|---|---|---|
| Simples (default) | experimentar, times pequenos, a maioria das features | o pipeline completo com gates | Claude Code, python3, git, gh |
nada a mais |
| Judge Jev | quando você quer um judge que não seja o Claude avaliando o Claude | qualidade avaliada pelo Jev, um modelo diferente, em menos de um segundo por documento; o Claude assume quando o Jev fica em dúvida | uma chave de API da TypeSafe | cerca de $0.04 por milhão de tokens |
| Graph engineering | codebases compartilhadas, trabalho regulado, tudo que você precise auditar depois | ids de requisito, um arquivo de rastreabilidade em todo PR, um gate de escopo, links que viram VALIDATED ou STALE | nada a mais (manifest); Python 3.12, uma chave gratuita da NVIDIA e joern para o banco de grafo (full) |
gratuito |
| Graph e Jev | times que querem um judge neutro e rastreabilidade completa | os dois acima | os dois acima | cerca de $0.04 por milhão de tokens |
Instalação
Dentro do Claude Code:
/plugin marketplace add Pierry/harness-kit
/plugin install harness-kit@harness-kit
Reinicie o Claude Code para o plugin carregar. Abra o repositório em que você quer trabalhar e rode:
/harness-kit:install
Ele copia os agents, comandos e hooks para .claude/, acrescenta AGENTS.md e CLAUDE.md e faz duas perguntas. Responda de acordo com o seu setup.
| Pergunta | Simples | Judge Jev | Graph engineering | Graph e Jev |
|---|---|---|---|---|
| Eval judge | local |
jev |
local |
jev |
| Graph engineering | off |
off |
manifest ou full |
manifest ou full |
Reinicie o Claude Code mais uma vez para os comandos aparecerem. A sua status line continua como estava.
Configure o Jev (só nos setups com Jev)
Crie uma chave em console.typesafe.ai/keys e rode /hk:eval jev. Ele pergunta se a chave já está numa variável de ambiente ou se você quer colá-la. Uma chave colada vai para .claude/settings.local.json, que o git ignora; ela nunca cai num arquivo commitado. Reinicie o Claude Code se você acabou de acrescentar a chave. Confira a qualquer momento com python3 .claude/scripts/hk-config.py get eval.
Configure o grafo (só nos setups com grafo)
/hk:graph manifest não precisa de mais nada. Para o banco de grafo, rode /hk:graph full e depois:
python3 .claude/scripts/graph.py setup
python3 .claude/scripts/graph.py index-code
python3 .claude/scripts/graph.py status
/hk:graph full pede uma chave gratuita do NVIDIA build em build.nvidia.com, que o Graphiti usa para ler seus documentos de decisão; sem ela, as camadas de código e de rastreabilidade continuam funcionando. setup cria um pequeno ambiente virtual com o FalkorDB embutido e o Graphiti. index-code constrói o grafo de chamadas do seu código com o Joern, uma vez; num repo grande leva minutos. status mostra o que está pronto e avisa se a NVIDIA aposentou um modelo configurado. Para carregar documentos de decisão, rode python3 .claude/scripts/graph.py ingest docs/decisions/*.md.
Passo 1: escreva o brief
Um brief tem quatro linhas. Digite depois de /golden-path, ou preencha o construtor de brief, que confere cada campo e entrega o prompt para colar.
/golden-path
Squad: checkout
Problem: Returning guests abandon checkout when a card is declined once.
Hypothesis: If we add one-tap retry, completion rises 5 points.
Success metric: checkout completion, from 71% to 76% within 30 days
/golden-path para e pede sua aprovação depois de cada passo. Se você quer que ele pare só duas vezes, use /pipeline:run "<idea>"; ele coleta contexto do repo primeiro e pausa nas mesmas duas decisões descritas nos passos 2 e 6.
Passo 2: o PRD e a sua primeira decisão
O agent de product manager escreve .claude/runtime/outputs/pm/prd/{feature_id}.md: problema, clientes, escopo, métricas de sucesso com baselines, rollout e riscos. Um script confere se toda seção está lá. Depois o eval dá a nota em oito dimensões, cada uma dividida em pequenos checks de sim ou não, e abaixo de 8.0 o agent reescreve só os checks que falharam.
Nos setups simples e com grafo, um subagent Claude novo dá a nota. Nos setups com Jev, o Jev responde a cada check numa chamada, e se as respostas incertas dele puderem virar o resultado, um subagent Claude decide no lugar. Você lê o PRD e aprova a direção. Esta é a decisão que mais pesa: um problema errado pego aqui custa uma reescrita, não uma feature.
Passo 3: o PRP
O agent transforma o PRD numa spec de engenharia em .claude/runtime/outputs/pm/prp/{feature_id}.md, com os arquivos a mudar, os padrões a seguir, links para a documentação das bibliotecas, comandos de validação e critérios de aceite. Ele busca no seu código com semble, repowise ou grep, o que você tiver.
Com graph engineering, cada critério de aceite ganha um id estável como REQ-001, e trace/{feature_id}.yml é criado com esses requisitos. Daqui em diante tudo se guia pelo id, não pelo texto.
Passo 4: o plan
O agent de staff engineer escreve o plan: o que muda, em quais arquivos, em que ordem, com riscos e casos de teste.
Com graph engineering, o plan primeiro acerta os arquivos de rastreabilidade anteriores, fazendo os links de features já mergeadas virarem VALIDATED ou STALE. Depois, para cada requisito, ele pede o conhecimento relacionado e os símbolos de código com mais chance de serem afetados, e registra cada escolha como um link PROPOSED com a sua evidência e confiança. A lista desses arquivos vira o escopo: os únicos arquivos que o próximo passo pode mudar. Com full, ele também vê quem chama cada símbolo, então o raio de impacto entra nos riscos.
Passo 5: dev
O agent implementa o plan em commits pequenos e roda seus linters e type checkers pelos sensors do harness. Ele segue suas convenções de .claude/conventions/ quando você as tem.
Com graph engineering, cada commit é registrado como um link IMPLEMENTS, e o hash do commit é conferido contra o git antes de ser escrito. Antes de o passo terminar, o gate de escopo compara o diff com o plan. Um arquivo fora do escopo reprova o passo. Para mudar um arquivo que não estava no plan, o agent precisa acrescentá-lo com um motivo escrito, que depois aparece no resumo do dev para você ver.
Passo 6: test, o PR e a sua segunda decisão
O agent roda sua suíte de testes e reporta aprovação ou falha, com as falhas pelo nome. Com graph engineering, cada teste que prova um requisito é registrado como VERIFIED_BY, e os requisitos sem teste são listados como lacunas.
Depois ele prepara o pull request: título, resumo, plano de testes e links. Com graph engineering, ele valida o arquivo de rastreabilidade, faz commit dele e acrescenta uma tabela de rastreabilidade na descrição do PR: cada requisito, o código que ele afeta, o seu status e o teste que o prova. Você aprova, e o PR abre como draft.
Passo 7: merge
Um monitor acompanha o PR e limpa o pipeline quando ele entra no merge. Comece a próxima feature com um novo brief. Com graph engineering, o próximo plan acerta os links desta feature, então o que esta feature provou, e o que mudanças posteriores quebraram, fica visível para a próxima.
O que muda entre os setups
| Passo | Simples | Judge Jev | Graph engineering | Graph e Jev |
|---|---|---|---|---|
| Nota | subagent Claude | Jev, Claude quando em dúvida | subagent Claude | Jev, Claude quando em dúvida |
| PRP | critérios | critérios | critérios com ids REQ, arquivo de rastreabilidade |
critérios com ids REQ, arquivo de rastreabilidade |
| Plan | arquivos a mudar | arquivos a mudar | links com evidência, os arquivos viram o escopo | links com evidência, os arquivos viram o escopo |
| Dev | convenções e linters | convenções e linters | mais gate de escopo, links IMPLEMENTS | mais gate de escopo, links IMPLEMENTS |
| Test | relatório | relatório | mais links VERIFIED_BY | mais links VERIFIED_BY |
| PR | resumo e plano de testes | resumo e plano de testes | mais tabela de rastreabilidade | mais tabela de rastreabilidade |
Mudando de ideia
/hk:eval local ou /hk:eval jev troca o judge. /hk:graph off, manifest ou full troca o graph engineering; desligar deixa intactos os arquivos de rastreabilidade que já estão no git. /pipeline:continue retoma uma feature de onde ela parou, e hk status mostra onde é isso.
Para onde ir depois
Golden Path para cada desvio, Evals e Jev e System One para como a nota funciona, Graph Engineering e Teoria dos grafos para a rastreabilidade e o grafo, e Pipeline e stages para o que cada passo escreve.
Tradução manual de Primeiros passos, a página original em inglês na wiki.