Spec-Driven Development é a prática de escrever uma especificação detalhada antes de iniciar a implementação. Com LLMs, isso reduz ambiguidade, melhora a consistência das respostas e permite iterar no design sem tocar em código.

Por que funciona com LLMs

LLMs produzem resultados melhores quando o contexto é explícito e estruturado. Uma spec bem escrita:

  • Elimina suposições que o modelo precisaria fazer
  • Cria um contrato entre o que se quer e o que será gerado
  • Permite revisar e corrigir o plano antes de qualquer implementação
  • Serve como documentação viva do projeto

Fases do workflow

Brainstorm → Define → Design → Build → Ship
   (0)         (1)      (2)      (3)     (4)
FaseArtefatoObjetivo
BrainstormBRAINSTORM_*.mdExplorar ideias, sem restrições
DefineDEFINE_*.mdCapturar e validar requisitos
DesignDESIGN_*.mdArquitetura e especificação técnica
BuildcódigoImplementar a partir da spec
Shipdocs/PRArquivar com lições aprendidas

Como aplicar

  1. Nunca pule fases: a tentação de ir direto ao Build gera retrabalho
  2. Itere na spec, não no código: é mais barato mudar um documento que um sistema
  3. Use a spec como contexto: passe os artefatos gerados para o LLM no momento do Build

A implementação varia por ferramenta: ver como cada LLM suporta este workflow:

Ver também: llm-claude-code | llm-codex | llm-gemini | llm