Metodologia · v1

Da ideia
ao deploy.

Um único caminho, sem ambiguidade, desde que uma ideia nasce até rodar em produção: qual documento se escreve em cada etapa, onde vive a tarefa, como o código se move e quem — humano ou agente — revisa o quê.

DEFINIR EXECUTAR POC PRD SPEC Issue Branch PR AGENTE revisa CI Merge
POC → PRD → SPEC define o quê e o porquê. Issue → Branch → PR → Agente → CI → Merge define o como.

01POC

É viável? Teste rápido e descartável antes de comprometer o time.

02PRD

Qual problema resolvemos e para quem? Alinhamento de negócio e produto.

03SPEC

Como se constrói tecnicamente? Contrato entre o PRD e o código.

04Gestão

Um único sistema de tarefas: de ideia a tarefa executável, sem duplicar fontes.

05Git flow

Uma issue, uma branch, um PR. Rastreabilidade total do ticket até o commit.

06Agente IA

Primeiro revisor automático: valida cenários, checklist e critérios de aceite.

07Governança IA

Qual ferramenta usar para quê, o que não entra num prompt, e níveis de risco — sem burocracia.

Princípio central

Nenhum código é escrito sem um SPEC, nenhum SPEC existe sem um PRD, e nenhum PRD é aprovado sem validar a ideia com um POC (quando aplicável). Documentar não é burocracia: é a forma como o time — e os agentes de IA que o auxiliam — compartilham o mesmo contexto.

Definir · 01

POC

Proof of Concept — teste de viabilidade técnica. Responde a uma única pergunta: isso é possível com o esforço e as ferramentas que temos? Não busca qualidade de produção, busca evidência.

Quando fazer um POC?

  • incerteza técnica real: uma integração nunca testada (ex. Evolution Go + Odoo), um fornecedor novo, um modelo de IA aplicado a um caso específico.
  • O custo de errar no PRD é alto — melhor investir 1–3 dias validando antes de comprometer uma sprint inteira.
  • Não é necessário se o padrão já existe em outro projeto do time (ex. outro módulo de loyalty já resolvido no Hipermais).

O que contém

Campo Conteúdo
Pergunta a validar Uma única pergunta fechada. "Conseguimos ler o cardápio a partir de imagem com >90% de precisão nos campos-chave?"
Escopo O mínimo para responder a pergunta. Sem UI, sem tratamento de erros completo, sem testes.
Prazo limite Time-boxed: 1 a 3 dias no máximo. Se estourar, é sinal de que o problema é maior do que se pensava.
Resultado Sim / Não / Com condições — e evidência (código, capturas de tela, métricas).
Descarte O código do POC não é mergeado. Vive numa branch spike/ e o aprendizado é documentado no PRD.
Regra

Um POC que não termina com um "sim, é assim que vamos fazer" ou um "não, descartado por X" é um POC mal fechado. A conclusão sempre é documentada, mesmo que o resultado seja negativo.

Definir · 02

PRD

Product Requirements Document — o porquê e o quê, em linguagem de negócio. É escrito ou revisado pelo PO, e lido por todo o time antes de tocar em código.

Estrutura padrão

Seção Responde
Contexto / Problema Que dor existe hoje? Com dados, se houver.
Objetivo O que muda se isso funcionar? Métrica de sucesso concreta.
Usuários / Personas Quem usa? (cliente final, operador de loja, time de Martech...)
Escopo O que essa versão INCLUI e o que explicitamente NÃO inclui.
Histórias de usuário Formato "Como [papel], quero [ação], para [benefício]".
Critérios de aceite Lista verificável, sem ambiguidade — é o que o Agente revisor e o QA usam para validar.
Referências a POC Se houve POC anterior, link e conclusão.
Fora de escopo / riscos O que se decide adiar e por quê.

Quem aprova

O PRD é aprovado pelo PO/stakeholder de negócio antes de criar a tarefa de SPEC no sistema de gestão que você usar. Sem aprovação, o SPEC não é gerado — evita retrabalho quando o negócio muda de ideia no meio da implementação.

Definir · 03

SPEC

Technical Specification — traduz o PRD em decisões técnicas concretas. É escrito pelo Tech Lead ou um dev sênior, com ou sem ajuda de IA, mas sempre revisado por um humano antes de virar issues.

Estrutura padrão

Seção Conteúdo
Resumo técnico Abordagem escolhida em 3–5 linhas.
Arquitetura / Diagrama Componentes afetados, serviços, integrações (ex. Supabase, Keycloak, n8n).
Modelo de dados Tabelas/entidades novas ou modificadas, migrações.
Contratos de API Endpoints, payloads, eventos, webhooks.
Cenários (Gherkin) Given / When / Then para cada critério de aceite do PRD — é isso que o Agente e o Playwright usam.
Plano de rollout Feature flag, migração de dados, estratégia de deploy.
Desdobramento em issues Lista de tarefas técnicas, cada uma futura branch/PR.

Exemplo de cenário em Gherkin

spec/cenarios.feature
# Critério de aceite PRD-14: resgate de pontos
Scenario: Cliente resgata pontos suficientes
  Given o cliente tem 500 pontos acumulados
  And o prêmio custa 300 pontos
  When o cliente confirma o resgate
  Then o sistema desconta 300 pontos
  And é gerado um cupom válido por 30 dias
  And o evento é registrado em purchase_history

Esses cenários são copiados tal como estão para a issue do GitHub e referenciados no PR — são o critério objetivo que o Agente revisor usa para aprovar ou pedir mudanças.

Executar · 04

Gestão de projeto

Seu sistema de gestão de tarefas — seja uma ferramenta paga (ClickUp, Jira, Linear, Azure DevOps...) ou um sistema interno — é a única fonte de verdade do status. Não importa qual você use: o que importa é que o SPEC fique documentado e que cada issue do GitHub corresponda 1:1 a uma tarefa.

Estados do quadro

Backlog Spec pronto To Do In Progress In Review (PR) QA Done
A tarefa entra em "In Review" automaticamente quando o PR é aberto (via webhook ou integração GitHub ↔ seu sistema de gestão) e só sai de lá quando o Agente + um humano aprovam.

Convenções da tarefa

Essas regras valem independentemente da ferramenta usada para gerenciar tarefas:

Elemento Regra
ID da tarefa Prefixo por projeto, ex. HIP-142, CON-88. Esse ID vai no nome da branch e do PR.
Documento SPEC Anexado como documento no sistema de gestão (doc nativo, wiki, Confluence...), linkado a partir da tarefa pai.
Subtarefas Cada subtarefa = uma issue do GitHub = uma branch = um PR. Não se agrupam várias branches numa única tarefa.
Campo "AI-assisted" Checkbox ou tag que reflete a mesma flag do PR — visibilidade para o time de quanto se apoiou em IA.
Executar · 05

Fluxo Git / GitHub

Uma issue, uma branch, um PR, dois ambientes. A rastreabilidade vai da tarefa no sistema de gestão até o commit em main — sempre passando por homologação.

main · produção staging · homologação feat/142-resgate-pontos Issue #142 PR #58 → staging Agente CI PR de promoção → main deploy automático staging deploy prod (manual/aprovação do QA)
A Issue nasce do SPEC → abre-se uma branch com o ID dela → o PR referencia a Issue → Agente + CI aprovam → merge para staging. Só depois de validado em staging é aberto um PR de promoção para main.

Ambientes

Branch Ambiente Como se chega
feat/*, fix/* Temporária — sem ambiente próprio (ou preview, se o stack suportar) Criada a partir de staging ao abrir a issue
staging Homologação / QA Merge de PR de feature — exige Agente + CI verde + 1 aprovação
main Produção PR de promoção a partir de staging — exige QA validado em homologação + aprovação final

main e staging são branches permanentes e nunca recebem push direto; tudo o mais é temporário e é apagado ao ser mergeado.

Nomenclatura de branches

Prefixo Uso Exemplo
feat/ Funcionalidade nova do SPEC feat/142-resgate-pontos
fix/ Correção de bug fix/150-desconto-duplo
chore/ Manutenção, deps, config chore/upgrade-nestjs-10
spike/ Código de um POC — nunca é mergeado spike/cardapio-vision-ocr

Commits (Conventional Commits + rastreabilidade de IA)

git commit
feat(loyalty): adicionar validação de pontos suficientes

Implementa o cenário "Cliente resgata pontos suficientes"
do SPEC #142. Valida saldo antes de gerar o cupom.

[ai-assisted: claude-sonnet]
Refs: #142

Issues

  • São criadas a partir do desdobramento do SPEC, uma por subtarefa do sistema de gestão — nunca se escreve uma issue sem ter passado pelo SPEC (exceto bugs de produção).
  • Título com o ID da tarefa: [142] Validar pontos suficientes antes do resgate.
  • Descrição inclui o cenário Gherkin correspondente, copiado do SPEC.

Pull Requests

Template obrigatório — o Agente revisor o usa como checklist automático:

.github/pull_request_template.md
## O que resolve
Closes #142

## Cenário(s) cobertos
- [ ] Cliente resgata pontos suficientes
- [ ] Cliente tenta resgatar com saldo insuficiente

## Uso de IA
- [ ] Código gerado/assistido por IA
- [ ] Modelo: ___
- [ ] Revisado linha por linha pelo autor humano

## Checklist
- [ ] Testes unitários adicionados
- [ ] Sem segredos ou credenciais no diff
- [ ] Migrações testadas em local
Regra de merge

Feature → staging: exige ✅ CI verde, ✅ o Agente revisor sem comentários bloqueantes, ✅ pelo menos 1 aprovação humana.

Staging → main: exige que o que foi mergeado em staging tenha sido validado em homologação (QA ou o próprio PO) — nunca se promove para produção algo que não foi testado ali antes.

Executar · 06

GitHub Actions / CI-CD

Todo push a um PR contra staging dispara o mesmo pipeline. Nada chega a main sem antes passar por homologação.

PR → staging Lint Unit tests Build Agente revisa diff + cenários Deploy staging
Esse pipeline roda em todo PR para staging. O deploy para produção vive num segundo workflow, disparado só pela promoção staging → main.
.github/workflows/pr-staging.yml
name: PR para Staging
on:
  pull_request:
    branches: [staging]

jobs:
  lint-test-build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with: { node-version: 20 }
      - run: npm ci
      - run: npm run lint
      - run: npm run test -- --coverage
      - run: npm run build

  agent-review:
    needs: lint-test-build
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Executar revisor de IA
        run: node ./scripts/agent-review.js
        env:
          ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
          PR_NUMBER: ${{ github.event.pull_request.number }}

  deploy-staging:
    needs: [lint-test-build, agent-review]
    if: github.event.pull_request.merged == true
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: ./deploy.sh staging
.github/workflows/promote-main.yml
name: Promover para Produção
on:
  pull_request:
    branches: [main]

jobs:
  deploy-prod:
    # só roda se o PR vier de staging (evita saltos diretos)
    if: github.event.pull_request.merged == true && github.head_ref == 'staging'
    runs-on: ubuntu-latest
    environment: production # exige aprovação manual configurada no GitHub
    steps:
      - uses: actions/checkout@v4
      - run: ./deploy.sh production
Executar · 07

Agente revisor

Um job de CI que roda um agente de IA em cada PR. Não substitui o revisor humano — filtra o óbvio para que o humano revise o que importa.

PR aberto Lê: SPEC + diff + cenários Gherkin Avalia checklist Mudanças solicitadas Aprovação IA ✓ Revisor humano
A aprovação do Agente é condição necessária, não suficiente: o humano sempre dá o ok final.

O que o Agente revisa

  • Que cada cenário Gherkin do SPEC tenha um teste correspondente no diff.
  • Que o PR marque corretamente o checkbox de uso de IA e o modelo usado.
  • Convenções do projeto: nomenclatura, estrutura de pastas, padrões já usados no repo (lê o CLAUDE.md da raiz).
  • Riscos evidentes: falta de tratamento de erros, queries N+1, segredos hardcoded.
  • Consistência entre o PRD/SPEC referenciado e o que foi realmente implementado.

O que NÃO faz

  • Não aprova de forma final nem faz merge — só deixa comentários e um status de check no PR.
  • Não decide escopo nem prioridade — isso vive no PRD e no sistema de gestão.
  • Não substitui o QA manual em fluxos críticos (pagamentos, resgate de pontos, autenticação).

Prompt base do agente (resumo)

scripts/agent-review.js — prompt
Você é o revisor técnico automático do time.
Você tem: o SPEC do ticket, os cenários Gherkin,
o diff completo do PR e o CLAUDE.md do repo.

Devolva APENAS:
1. Cenários sem cobertura de teste (lista)
2. Riscos de segurança ou performance (lista, com linha)
3. Desvios entre o SPEC e a implementação
4. Veredito: APROVADO | MUDANCAS_SOLICITADAS

Não opine sobre estilo se o linter já cobre isso.
Executar · 08

Governança de IA

Regras mínimas para usar Claude Code, Codex, Gemini ou qualquer outro LLM de forma consistente no time — pensadas para 3–6 devs, não para um comitê de compliance.

Por que isso importa

O relatório 2025 da DORA (Google Cloud) é claro: a IA não conserta um time, ela amplifica o que ele já faz. Um time com controle de versão sólido, PRs pequenos e padrões claros fica mais rápido com IA. Um time desorganizado, com IA, gera caos mais rápido. Essas regras existem para que a velocidade não coma a qualidade.

Qual ferramenta usar para quê

Não importa a marca do modelo — importa que o critério esteja escrito e que todo o time o siga. Parametrize esta tabela de acordo com o que você tiver contratado:

Tipo de tarefa Complexidade Ferramenta sugerida Por quê
Boilerplate, DTOs, docs, copy Baixa Modelo econômico (ex. Gemini Flash) Tier gratuito/barato generoso para tarefas repetitivas
Autocomplete e snippets no editor Baixa Copilot / Codex / integrado à IDE Feedback imediato, não quebra o fluxo
Lógica de negócio, refactors multi-arquivo Média/Alta Claude Code / modelo de raciocínio forte Melhor manejo de contexto amplo, segue o CLAUDE.md
Arquitetura, segurança, criptografia Alta IA só como apoio — nunca decide sozinha Alto impacto, margem de erro baixa; a decisão é assinada por um humano

O que não entra num prompt

  • Credenciais, API keys, tokens ou strings de conexão — nem mesmo "de teste".
  • Dados pessoais de clientes sem anonimizar (nomes, telefones, endereços, histórico de compra real).
  • Código ou documentos sob NDA de outro cliente, caso o time trabalhe para vários.
  • Segredos de infraestrutura (certificados, chaves de Traefik/Cloudflare, backups de banco de dados).
Regra simples

Se você não colaria isso num canal público do Slack, não cole num prompt. E se o agente lê conteúdo externo não confiável antes de gerar código — um PDF de um fornecedor, um ticket de suporte, uma página web — trate esse conteúdo como dado, nunca como instrução: ele pode trazer texto voltado a manipular o modelo.

Níveis de risco

Nível Exemplo Revisão exigida
Baixo Docs, copy, chores, config sem impacto em runtime Agente revisor + 1 aprovação humana
Médio Features de negócio novas, endpoints não críticos Agente revisor + 1 aprovação + testes E2E se tocar um fluxo compartilhado
Alto Pagamentos, autenticação, dados pessoais, migrações destrutivas Agente revisor + 2 aprovações + QA manual em staging + feature flag obrigatória

Feature flags e rollback

  • Toda mudança de risco médio ou alto é implantada atrás de uma feature flag — desligá-la não deveria exigir um novo deploy.
  • Commits e PRs pequenos: além de mais fáceis de reverter, um diff enxuto é onde o Agente e o modelo rendem melhor — eles têm mais dificuldade de raciocinar bem sobre mudanças enormes.
  • Meta: de "detectamos o problema em prod" a "revertido" em menos de 10 minutos.

Métricas mínimas do Agente

Não precisa de dashboard. Basta revisar, uma vez por mês, o campo "Veredito do Agente" dos últimos PRs:

  • Se ele pede mudanças em menos de 10% dos PRs, provavelmente está sendo permissivo demais — revise o prompt dele.
  • Se ele pede mudanças em mais de 50% e a maioria são falsos positivos (ruído, não problemas reais), também é preciso ajustar o prompt — está gastando tempo do time sem agregar.
  • O ponto saudável está no meio: poucos comentários, mas os que ele faz são reais.

Onboarding de um dev novo

  • Lê o CLAUDE.md do repo antes de tocar em código.
  • Lê esta metodologia completa (30 minutos, uma única vez).
  • Seu primeiro PR é pequeno, de risco baixo, e guiado por um dev sênior.
  • Tem acesso configurado às ferramentas de IA aprovadas pelo time — não usa contas pessoais para código do projeto.
Referência

Cenário completo

Um caso real, de ponta a ponta, seguindo a metodologia: adicionar resgate de pontos por cupom no Clube Hipermais.

Passo O que acontece Onde vive
1. Ideia A Diretoria propõe resgate de pontos por cupom de desconto. Reunião / Slack
2. POC Valida-se que o motor de cupons existente suporta expiração de 30 dias sem mudanças de esquema. Branch spike/cupom-expira, 1 dia
3. PRD PO escreve objetivo, histórias de usuário e critérios de aceite. Doc no sistema de gestão, projeto Hipermais
4. SPEC Tech Lead define modelo de dados, endpoint POST /redeem e 2 cenários Gherkin. Doc anexado à tarefa #142
5. Issues São criadas 2 issues no GitHub a partir do desdobramento do SPEC. GitHub Issues #142, #143
6. Branch + código Dev cria feat/142-resgate-pontos a partir de staging, implementa com ajuda do Claude Sonnet. Repo server-loyalty
7. PR para staging Abre o PR #58 contra staging, preenche o template, marca uso de IA. GitHub
8. CI + Agente Pipeline roda lint/tests/build; Agente revisa cobertura de cenários — pede para adicionar um teste de saldo insuficiente. GitHub Actions
9. Revisão humana O Tech Leader aprova após o ajuste pedido pelo Agente; merge para staging e deploy automático para homologação. GitHub PR review
10. QA em homologação QA valida o fluxo completo de resgate no ambiente de staging. Ambiente staging
11. Promoção para main Abre-se um PR de promoção staging → main; após aprovação, deploy para produção. GitHub Actions → prod
12. Fechamento A tarefa passa para Done no sistema de gestão, automaticamente ou manualmente, dependendo da integração disponível. Sistema de gestão de tarefas