Padrão Oficial de SDD (Spec-Driven Development)
A especificação vem antes do código. Todo projeto da AEX mantém a pasta .specs/ para contratos de entrega por feature — especialmente quando humanos e IA trabalham juntos.
A especificação vem antes do código. Todo projeto da AEX mantém a pasta .specs/ para contratos de entrega por feature — especialmente quando humanos e IA trabalham juntos.
Propósito
SDD (Spec-Driven Development) garante que cada feature tenha um contrato claro antes da implementação:
- Delimita escopo e critérios de aceite.
- Evita que a IA invente comportamento fora do pedido.
- Facilita code review: o PR implementa o que está na spec?
Não substitui os onze documentos obrigatórios em docs/ (ver DOCUMENTATION_STANDARD). Eles descrevem o produto de forma permanente; .specs/ descreve esta entrega.
Onde cada coisa mora
| Camada | Onde | Função |
|---|---|---|
| Negócio / produto | PROJECT_CONTEXT.md, docs/PRD.md, etc. | Por quê e o quê permanente |
| Entrega da feature | .specs/<feature>/ | Contrato desta implementação |
| Gestão | ClickUp | Milestone → tarefa → subtarefa |
A tarefa no ClickUp rastreia quem e quando; a spec em .specs/ define o quê e como validar.
Estrutura
.specs/
├── README.md # Como usar SDD neste repositório
└── <feature-kebab>/
├── SPEC.md # O quê: escopo, critérios de aceite, fora de escopo
├── PLAN.md # Como: arquivos, ordem, riscos
└── TASKS.md # Checklist de implementaçãoNomenclatura
- Pasta da feature:
kebab-case(ex.:backend-nestjs,secretaria-ia). - Arquivos fixos:
SPEC.md,PLAN.md,TASKS.md(UPPER_SNAKE_CASE). - Um assunto por pasta — não agrupe features distintas na mesma spec.
Fluxo
- Spec — criar
.specs/<feature>/SPEC.mda partir do template. Referenciar RFs do PRD; detalhar só o escopo desta entrega. - Aprovação — humano revisa e aprova a spec antes de codar.
- Plano — preencher
PLAN.mdeTASKS.md(pode ser feito pela IA, sempre amarrado à spec). - Implementação — branch
feature/..., código em passos pequenos, commits Conventional. - Verificação — PR atende todos os critérios de aceite da
SPEC.md? - Documentação — atualizar
docs/afetados (API.md,DATABASE.md, etc.) no mesmo PR.
Quando usar
| Situação | SDD obrigatório? |
|---|---|
| Feature ou épico com comportamento novo | Sim |
| Mudança de contrato (API, schema, fluxo) | Sim |
| Backend, integração ou automação IA | Sim |
| Fix trivial (uma linha, typo) | Não |
| Chore, refactor interno sem mudança de comportamento | Não |
| Docs-only | Não |
Fronteira com docs/
- Não copie o PRD inteiro para cada
SPEC.md. Referencie (ex.: "Implementa RF-03 do PRD"). - Não duplique arquitetura permanente — aponte para
docs/ARCHITECTURE.mde detalhe só o que muda nesta entrega. - Atualize
docs/quando a spec introduzir comportamento que vira contrato permanente (endpoint novo →API.md; tabela nova →DATABASE.md).
Templates
Modelos em templates/specs/:
README.md— guia da pasta no projetoSPEC_TEMPLATE.mdPLAN_TEMPLATE.mdTASKS_TEMPLATE.md
Prompt de nova feature: templates/prompts/NEW_FEATURE.md.
Regras (resumo)
- Todo projeto de aplicação mantém
.specs/README.mdna raiz (pasta pronta; features nascem sob demanda). - Spec aprovada antes de implementar features não triviais.
- Três arquivos por feature:
SPEC.md,PLAN.md,TASKS.md. - PR verificado contra a spec; documentação permanente atualizada no mesmo PR.
- Specs versionadas no Git — histórico de decisões de entrega fica no repositório.
Standards da Engenharia
Os padrões oficiais da AEX. Esta é a camada normativa: define o que é obrigatório em todos os projetos e é o que entra em code review. Onde o handbook explica como pensamos, os...
Templates
Modelos prontos para copiar e preencher. Reduzem decisão repetida e garantem que todo projeto, tarefa e interação com IA nasça padronizado.