Feature Development Flow
| Tipo | Feature (nova funcionalidade / melhoria significativa) |
| Trigger | /feature <ticket> |
| Fases | Specify → (Design) → (Tasks) → Execute — auto-sized por complexidade |
| Agentes | architecture-agent → (ux-design-agent, se UI) → builder-agent → code-reviewer-agent → test-validator → pr-generator → release-agent → learning-agent |
| Checkpoints humanos | 2 (Small/Medium) ou 4 (Large/Complex) |
| Base | NS Flow Kit + TLC Spec-Driven Development (SDD) |
Pré-requisito: instalação concluída — ver 00 — Instalação e Setup.
1. O que é e quando usar
O Feature Flow aplica Spec-Driven Development: a feature nunca começa por código. Ela percorre fases ordenadas, e o número de fases ativas se adapta ao tamanho da demanda (auto-sizing).
Use quando: vai construir funcionalidade nova ou uma melhoria com escopo relevante.
Não use quando: é defeito reportado (→ Bug Flow), ajuste trivial de texto/label (→ Small Improvement) ou mudança só de banco (→ Data Fix).
Convergência das esteiras: uma story criada pela Esteira de Produto (
/discover) já chega comFEAT-{N}prontos — rode/feature {STORY_ID}e a Specify apenas confirma. E toda a entrega passa pela Esteira de Qualidade (4 gates) antes do PR.
2. Como o SDD é aplicado (fase → princípio)
| Fase | Pergunta que responde | Princípio do SDD | Artifact |
|---|---|---|---|
| Specify | O QUÊ construir | Requisitos testáveis e rastreáveis (FEAT-01...) | spec.md |
| Design | COMO construir | Knowledge Verification Chain, respeito a ADRs (+ UX se toca UI) | arch-guidance.md (+ ux-guidance.md) |
| Tasks | Em que ordem | Tasks atômicas com dependências e critérios | tasks.md |
| Execute | Implementar + revisar | Minimum Viable Patch + RED→GREEN + commits atômicos + code review | commits + code-review.md + validation.md |
3. Auto-sizing — quais fases são ativadas
Antes do Specify, o agente classifica o tamanho e declara explicitamente:
| Tamanho | Critério | Fases ativas | Arquivos gerados |
|---|---|---|---|
| Small | ≤3 arquivos, escopo em 1 frase | Quick mode (Specify inline + Execute) | só spec.md |
| Medium | Feature clara, <10 tasks óbvias | Specify + Execute | spec.md |
| Large | Multi-componente, decisões arquiteturais | Specify + Design + Tasks + Execute | spec.md + arch-guidance.md + tasks.md |
| Complex | Ambiguidade alta, domínio novo, integrações externas | Specify + Discuss + Design + Tasks + Execute + UAT | todos acima |
Válvula de segurança: mesmo quando Tasks é pulado, o Execute começa listando os passos atômicos inline. Se a lista revelar >5 passos ou dependências complexas → PARE e crie um
tasks.mdformal.
4. Visão geral do fluxo
/feature <ticket>
└── Speckit lookup → restrições e ADRs relevantes
└── [Specify] → spec.md com requisitos rastreáveis
↓
⚡ CHECKPOINT 1 — humano aprova escopo e plano de fases
↓
└── [Design]* → arch-guidance.md (* se Large/Complex)
└── ux-design-agent* → ux-guidance.md (* se a feature toca UI)
└── [Tasks]* → tasks.md (* se Large/Complex)
↓
⚡ CHECKPOINT 2 — humano aprova plano antes da implementação
↓
└── [Execute] → commits atômicos por task
└── code-reviewer-agent → CodeReviewReport (antes dos gates/PR)
└── test-validator → ValidationReport
↓
Esteira de Qualidade: /qa-plan → Gate 1 (1a cobertura + 1b execução no dev) → Gate 2 (smoke) → Gate 3 (E2E) → /qa-gate
↓
/open-pr <ticket> → PR Description + Rollback Plan
↓
⚡ CHECKPOINT 3 — reviewer aprova o PR
↓
/release-check <ticket> → ReleasePackage
↓
⚡ CHECKPOINT 4 — humano aprova o deploy
↓
[deploy via pipeline] → learning-agent → atualiza Speckit
5. Passo a passo
Passo 0 — Bootstrap do workspace (automático no /feature)
Cria state e spec vazios e consulta o Speckit:
- .ns-flow/state/<ticket>-state.md (de state-template.md)
- .ns-flow/design/<ticket>-spec.md
- Lê .speckit/domain/, .speckit/architecture/risk-map.md, .speckit/decisions/, .speckit/known-issues/
- Grava as restrições encontradas no spec como "Restrições do Speckit".
Passo 1 — Specify (sempre obrigatória)
Captura o QUÊ. Faz perguntas de clarificação, classifica o tamanho, escreve requisitos com IDs
rastreáveis em formato Gherkin (QUANDO {condição} ENTÃO {resultado}).
Output: .ns-flow/design/<ticket>-spec.md
Passo 2 — ⚡ Checkpoint 1 (escopo)
O agente para e apresenta: ticket, tamanho, escopo, requisitos, restrições do Speckit, plano de fases, próximo passo. Nenhum código antes da aprovação.
Passo 3 — Design (Large/Complex) — architecture-agent (+ ux-design-agent se UI)
Define o COMO. Segue a Knowledge Verification Chain: Codebase → .speckit/architecture/ →
documentação oficial → sinalizar "não sei". Hotspot do risk-map → Mini RFC obrigatória.
Se a feature toca UI, o ux-design-agent descobre o design system real do produto, define a
janela de modernização (preservar + modernizar) e valida contra ux-consistency-policy (identidade
nova / one-off → bloqueado).
Output: .ns-flow/design/<ticket>-arch-guidance.md (+ .ns-flow/design/<ticket>-ux-guidance.md se UI)
Passo 4 — Tasks (Large/Complex)
Quebra em tasks atômicas: O quê / Onde / Depende de / Reutiliza / Requisito / Concluído quando /
Commit. Tasks paralelas marcadas com [P].
Output: .ns-flow/design/<ticket>-tasks.md
Passo 5 — ⚡ Checkpoint 2 (plano)
Aplicável quando há Design/Tasks formais. Aprovação do plano de implementação.
Passo 6 — Execute (sempre) — builder-agent + test-validator
Ciclo por task: Planejar → Implementar → Verificar → Commitar → Próxima.
- Mudanças cirúrgicas; scope creep → "Deferred Ideas" no state, não implementado.
- test-validator escreve teste de regressão que falha antes do fix (RED→GREEN).
- Um commit por task (Conventional Commits).
- Para features com comportamento de usuário complexo → UAT interativo antes do PR.
Output: commits + .ns-flow/delivery/<ticket>-validation.md
Passo 6a — Code review — code-reviewer-agent (antes dos gates)
Revisa o diff da feature (escopo, corretude, segurança, reuso, testes e — se toca UI — consistência de
UX contra o ux-guidance). Finding Blocker volta ao builder-agent antes do PR.
Output: .ns-flow/delivery/<ticket>-code-review.md
Passo 6b — Esteira de Qualidade (4 gates) — antes do PR
Nada vai para o PR sem os 4 gates verdes (ver Quality Layer):
- Gate 1 — Cobertura + Execução no dev: /run-regression (1a diff coverage + RED→GREEN · 1b QA Plan no dev/stg)
- Gate 2 — smoke: /smoke (caminho crítico)
- Gate 3 — E2E: /validacao-testes (100% dos FEAT-{N} com evidência) → alimenta o Checkpoint 3
- Meta-gate: /qa-gate consolida os 4; o release-agent recusa o release sem ele.
(A estratégia de teste por camada já nasce no /qa-plan, idealmente no discovery — shift-left.)
Passo 7 — /open-pr <ticket> → ⚡ Checkpoint 3
pr-generator cria PR linkando os requisitos do spec + rollback plan + checklist.
Output: .ns-flow/delivery/<ticket>-pr-description.md
Passo 8 — /release-check <ticket> → ⚡ Checkpoint 4
release-agent verifica quality gates e gera o release package.
Output: .ns-flow/delivery/<ticket>-release.md
Passo 9 — Pós-deploy — learning-agent
Atualiza .speckit/known-issues/, risk-map.md, decisions/ (novos ADRs) e
.speckit/incidents/metrics-feed.jsonl (type: "feature"). Encerra o ticket.
6. Checkpoints humanos
| # | Quando | Quem aprova | Verifica |
|---|---|---|---|
| 1 | Após Specify | Dev/PO | Escopo reflete o ticket? Tamanho correto? Restrições do Speckit consideradas? |
| 2 | Após Design/Tasks (L/C) | Tech Lead | Arquitetura respeita ADRs? Tasks cobrem todos os requisitos? Sem scope extra? |
| 3 | No PR | Reviewer | Descrição completa? Rollback executável? Homologação feita? |
| 4 | Antes do deploy | Responsável de release | Gates ✅? Janela adequada? On-call ciente? |
Small/Medium: os checkpoints 1 e 2 colapsam em um só — o humano vê o plano de implementação e aprova antes de qualquer código.
7. Pastas e arquivos gerados
| Fase | Arquivo |
|---|---|
| State (sessão) | .ns-flow/state/<ticket>-state.md |
| Specify | .ns-flow/design/<ticket>-spec.md |
| Design (L/C) | .ns-flow/design/<ticket>-arch-guidance.md |
| Design de UX (se UI) | .ns-flow/design/<ticket>-ux-guidance.md |
| Tasks (L/C) | .ns-flow/design/<ticket>-tasks.md |
| Execute | commits atômicos no repo + testes |
| Code Review | .ns-flow/delivery/<ticket>-code-review.md |
| Validação | .ns-flow/delivery/<ticket>-validation.md |
| PR | .ns-flow/delivery/<ticket>-pr-description.md |
| Release | .ns-flow/delivery/<ticket>-release.md |
| Encerramento | atualizações em .speckit/ + linha em metrics-feed.jsonl |
8. Aplicação pelo time (papéis)
| Papel | Responsabilidade no fluxo |
|---|---|
| Dev / PO | Dispara /feature, responde clarificações, aprova o escopo (CP1) |
| Tech Lead | Aprova arquitetura e plano de tasks (CP2); decide Mini RFC em hotspots |
| Dev | Conduz Execute task a task; mantém o patch dentro do escopo |
| Reviewer | Aprova o PR (CP3) |
| Release / On-call | Aprova o deploy (CP4); confirma o deploy para acionar o learning-agent |
Gate de encerramento: o ticket só fecha quando o
learning-agentroda após o deploy confirmado. Sem isso, o Speckit fica desatualizado e os próximos tickets ficam mais lentos.
Referências
- Definição canônica:
.claude/workflows/feature-development.md - Comando:
.claude/commands/feature.md - Princípios:
.claude/ns-flow-kit.md