Este projeto adota Spec-Driven Development: a especificação é a fonte da verdade. Código deriva da spec, não o inverso.
Workflow:
- Toda mudança não-trivial começa com uma spec em
specs/<feature>/spec.md - Spec aprovada →
plan.md(decisões técnicas) etasks.md(passos verificáveis) - PR carrega spec + implementação juntos e referencia a spec na descrição
- Comportamento mudou? Atualize a spec primeiro, depois o código
Estrutura mínima por feature (em specs/<feature>/):
spec.md— o quê (problema, requisitos, critérios de aceitação)plan.md— como (contratos, decisões, riscos)tasks.md— passos verificáveis com checkboxes
Bug fixes triviais, refactors menores e bumps de dependência não precisam de spec.
Detalhes da convenção em specs/README.md.