Voltar para o blog
post.md

Do requisito ao pull request: meu fluxo para desenvolver funcionalidades Full Stack com Codex e Claude

Um fluxo prático para transformar requisitos em especificações, orientar agentes de código, revisar implementações e chegar a um pull request com mais critério técnico.

IA Full StackCodexClaudeAgentes de códigoSpec-Driven Development

Agentes de código ajudam mais quando entram em um fluxo com contexto, limites, critérios de aceite e revisão técnica. O ganho real não está em pedir “faz essa feature”, mas em transformar a demanda em algo implementável e verificável.

Contexto

Uma das coisas que mais venho percebendo ao trabalhar com IA no desenvolvimento é que a qualidade da resposta depende menos de um prompt perfeito e mais da qualidade do contexto que existe antes dele.

Quando a tarefa é pequena, pedir um componente, uma função ou uma refatoração pontual pode funcionar bem. Mas quando a mudança atravessa frontend, backend, regras de negócio, estados, validação, dados e padrões do projeto, um pedido solto vira uma aposta.

Fluxo de desenvolvimento com agentes de código indo do requisito ao contexto, especificação, plano, execução, revisão e pull request.
Antes de pedir implementação, o melhor caminho é reduzir ambiguidade e deixar claro como a mudança será revisada.

O problema de pedir código cedo demais

O problema não é a IA escrever código. O problema é ela escrever código sem saber quais padrões o projeto já usa, quais componentes devem ser reaproveitados, quais arquivos não devem ser alterados, qual comportamento precisa ser validado e o que está fora de escopo.

  • Contexto do projeto antes do prompt.
  • Problema antes da solução.
  • Escopo e fora de escopo explícitos.
  • Critérios de aceite pequenos e verificáveis.
  • Plano do agente antes da implementação.
  • Revisão humana depois do código gerado.

O fluxo que faz mais sentido para mim

O primeiro passo é registrar o contexto: stack, estrutura de pastas, padrões de componentes, restrições, comandos de validação e documentos que orientam a mudança. Isso reduz o espaço para o agente inventar arquitetura do zero.

Depois vem a especificação. Ela não precisa ser enorme, mas precisa responder o básico: qual situação existe hoje, qual problema precisa ser resolvido, quem é afetado, qual comportamento esperado, o que não deve ser mexido e como vamos saber que ficou pronto.

Antes da implementação, eu prefiro pedir um plano. Um bom plano diz quais arquivos parecem relevantes, qual abordagem será usada, quais riscos existem, quais etapas serão executadas e como a mudança será validada.

Um exemplo de pedido melhor

Em vez de pedir apenas “crie uma funcionalidade para resumir relatórios com IA”, um pedido mais útil descreve contexto, camadas envolvidas e critérios.

mini-spec.mdmd
1# Feature: resumo assíncrono de relatório23## Contexto técnico4- Frontend: Vue 3 + TypeScript5- Backend: FastAPI6- Processamento: fila + worker7- Persistência: tabela ai_jobs89## Escopo10- Criar endpoint POST /reports/:id/summary11- Registrar job com status pending12- Processar job no worker13- Validar resposta estruturada da IA14- Exibir pending, processing, completed e failed na UI1516## Fora de escopo17- Autenticação18- Cobrança19- Painel administrativo20- Suporte a múltiplos arquivos2122## Critérios de aceite23- O usuário consegue iniciar o resumo24- A UI mostra o status atual do job25- Falhas retornam mensagem controlada26- A resposta só é salva depois de validar schema27- Logs registram provider, model, latencyMs e status
  • Contexto: frontend em Vue/TypeScript, backend em FastAPI e processamento assíncrono.
  • Escopo: endpoint para registrar solicitação, fila, worker, persistência de status e exibição no frontend.
  • Fora de escopo: autenticação, cobrança, painel administrativo e suporte a múltiplos arquivos.
  • Critérios: status visível, erro compreensível, resposta validada e logs mínimos de modelo, tempo e status.

Revisão continua sendo parte do trabalho

Revisar código gerado por IA não é só procurar erro de sintaxe. Eu olho aderência aos padrões do projeto, duplicação, nomes, acoplamento, tratamento de erro, segurança, responsividade, acessibilidade, estados de interface e impacto em arquivos não relacionados.

No fechamento, um bom pull request precisa deixar rastros: o que mudou, por que mudou, como foi validado, quais riscos existem e quais pendências ficaram.

O prompt técnico que eu usaria

prompt.mdtxt
1Antes de implementar, explore a base e devolva um plano.23Responda com:41. Arquivos que precisam ser lidos.52. Arquivos que provavelmente serão alterados.63. Contratos de dados envolvidos.74. Riscos técnicos.85. Plano em etapas pequenas.96. Comandos de validação.1011Não altere código ainda.12Se encontrar ambiguidade relevante, pare e pergunte.

Checklist de revisão do PR

  • O diff altera apenas arquivos dentro do escopo?
  • Os contratos entre frontend e backend estão explícitos?
  • Os estados de loading, erro, vazio e sucesso foram tratados?
  • Existem logs suficientes para debugar falhas?
  • As mensagens de erro não vazam detalhes sensíveis?
  • A implementação reaproveita padrões/componentes existentes?
  • Os comandos de build, geração ou testes foram executados?

Conclusão

O melhor uso de Codex, Claude e agentes de código não é terceirizar pensamento. É criar um fluxo em que a IA ajuda a executar, comparar alternativas, encontrar inconsistências e acelerar partes repetitivas, enquanto o dev mantém contexto, critério e responsabilidade.