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)
| Fase | Artefato | Objetivo |
|---|---|---|
| Brainstorm | BRAINSTORM_*.md | Explorar ideias, sem restrições |
| Define | DEFINE_*.md | Capturar e validar requisitos |
| Design | DESIGN_*.md | Arquitetura e especificação técnica |
| Build | código | Implementar a partir da spec |
| Ship | docs/PR | Arquivar com lições aprendidas |
Como aplicar
- Nunca pule fases: a tentação de ir direto ao Build gera retrabalho
- Itere na spec, não no código: é mais barato mudar um documento que um sistema
- 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