Versão: 1.0
Instalação: Spec Kit (GitHub)
Referência completa: Ver seção "Spec-Driven Development" em CLAUDE.md
TODA mudança de código segue este workflow:
- ✅ Nova feature
- ✅ Bugfix
- ✅ Refatoração
- ✅ Otimização de performance
- ✅ Mudança de dependência
NENHUMA exceção. O workflow é a garantia de rastreabilidade requisito → implementação.
/speckit-specifyO comando abre um editor interativo onde você declara:
- Título da feature/bug/refator
- Descrição do problema ou comportamento esperado
- Requisitos (o que deve ser verdade no fim)
- Invariantes (o que NUNCA pode mudar)
- Casos de limite (edge cases, exceções)
- Dependências (outras features/APIs que precisam estar prontas)
Exemplo — Feature: Suporte a desconto de convênio:
Título: Desconto de convênio na NFCe
Requisitos:
- O ERP retorna % desconto para código de convênio informado
- Precificação recalcula preço total com desconto aplicado
- Desconto não pode tornar preço negativo
- Auditoria registra (usuário, convênio, %, timestamp)
Invariantes:
- Desconto nunca modifica preço unitário do produto
- Desconto é aplicado APÓS impostos, não antes
- Cartão de crédito valida desconto com TEF
Casos de limite:
- Convênio inativo (ERP retorna 0%) → sem desconto
- Desconto > 100% → rejeita, retorna erro 422
- Conexão ERP cai durante cálculo → erro recoverable, retry automático
Dependências:
- AD-023 (ApiCentriumOAuth.yaml com novo endpoint GetDescontoConvenio%)
/speckit-tasksSpec Kit analisa a especificação e gera tarefas decompostas:
Fases (topológicas):
- Setup — Dependências, configuração, tipos TypeScript
- Foundational — Store Zustand, schemas Zod, tipos básicos
- Feature — Componentes React, lógica, integração com ERP
- Testing — Testes unitários, integração, E2E
Exemplo de saída:
Setup (deve executar primeiro):
[ ] Task 1: Criar tipos TypeScript para DescontoConvenio (schema Zod + z.infer)
[ ] Task 2: Atualizar bootstrap do ERP com novo endpoint GetDescontoConvenio%
Foundational:
[ ] Task 3: Adicionar slice ao store Zustand (desconto.convenioCodigo, desconto.percentual)
[ ] Task 4: Adicionar regra de precificação com desconto (money-precision)
[ ] Task 5: Validar % em fronteira (Zod)
Feature:
[ ] Task 6: Input de código de convênio (componente React)
[ ] Task 7: Chamada ao ERP (TanStack Query) quando código muda
[ ] Task 8: Atualizar visor de precificação com desconto
[ ] Task 9: Fluxo de erro + retry quando ERP falha
Testing:
[ ] Task 10: Testes unitários de precificação com desconto
[ ] Task 11: Testes E2E: selecionar convênio → validar preço final
[ ] Task 12: Security review (OWASP) antes de merge a main
Cada tarefa tem critério de aceitação testável — será usado em /speckit-implement.
/speckit-implementExecuta todas as tarefas em sequência topológica. O agente:
- Lê a especificação + tarefa atual
- Ativa skills relevantes conforme tipo:
- Setup/Foundacional (tipos, schemas, store) →
typescript-strict,zod-boundary-validation,zustand-immer-state - Feature (componentes, queries, precificação) →
ecc:react-build,ecc:react-review,tanstack-query-checkout,money-precision - Testing (unitário, integração, E2E) →
vitest-testing-library-react,ecc:e2e-testing - Security →
owasp-security(obrigatório antes de push a main)
- Setup/Foundacional (tipos, schemas, store) →
- Implementa, testa, documenta
- Avança para próxima tarefa
Ou implemente tarefa específica:
/speckit-implement Task 6: Input de código de convênio| Tipo de Tarefa | Skills Acionadas | Quando |
|---|---|---|
| TypeScript / Tipos | typescript-strict |
Sempre (veto a any, as, ! na fronteira) |
| Zod Schema | zod-boundary-validation |
Schemas de entrada de dados |
| Zustand Store | zustand-immer-state |
Quando tarefa cria/modifica store |
| React Componente | ecc:react-build, ecc:react-review |
Criação/edição de componentes .tsx |
| React Hook | vitest-testing-library-react |
Se o hook tem testes |
| Precificação | money-precision |
Qualquer cálculo monetário |
| TanStack Query | tanstack-query-checkout |
Queries de produto/pagamento do ERP |
| Dexie/IndexedDB | dexie-bootstrap-cache |
Persistência de bootstrap |
| Testes Unitários | ecc:tdd-workflow (RED/GREEN/checkpoint) |
Dentro de /speckit-implement |
| E2E (Playwright) | ecc:e2e-testing |
Testes de fluxo completo |
| Security (OWASP) | owasp-security |
Obrigatório antes de merge a main |
Não são acionadas automaticamente:
ecc:frontend-patterns,ecc:docker-patterns, etc. — Use manualmente se a tarefa exigirsuperpowers:brainstorming,superpowers:test-driven-development— Use fora de Spec Kit (planejamento)
Durante /speckit-specify:
genexus(user MCP) — Ao descrever requisitos de API, consulte KB GenExus para confirmar endpoints/contracts atuaiscontext7(user MCP) — Ao descrever padrões React/Zod/Zustand, busque docs atuais das versões fixadas
Durante /speckit-implement:
dual-graph(project MCP local) — Injetará padrões já usados no repo ao contexto
Cada tarefa = 1 commit (ou fixup se erro):
# Após Task N completar:
git add .
git commit -m "feat/fix: [Task N] descrição curta
Especificação: <caminho de specs/NNN-feature/spec.md ou task ID>
Critério de aceitação: [copiado de Task N]
Co-Authored-By: Claude Haiku <noreply@anthropic.com>"Antes de merge a main:
- ✅
typescript-strictpassou (npx tsc --noEmit) - ✅
ecc:code-reviewaprovado - ✅
owasp-securitysem findings críticos - ✅ Todos os testes passam (
npm test,npm run e2e) - ✅ Cobertura >= 80% (exceto UI pura)
# 1. Começar feature
/speckit-specify
→ Define: "Suporte a desconto de convênio"
→ Salva spec.md em specs/NNN-desconto-convenio/
# 2. Gerar tarefas
/speckit-tasks
→ 12 tarefas criadas (Setup → Foundational → Feature → Testing)
# 3. Implementar
/speckit-implement
→ Task 1: TypeScript/Zod types — `typescript-strict`, `zod-boundary-validation`
→ Task 2: Atualizar bootstrap — [manual: verificar KB GenExus]
→ Task 3: Zustand store — `zustand-immer-state`
→ Task 4: Precificação — `money-precision`
→ Task 5: Validação fronteira — `zod-boundary-validation` (novamente)
→ Task 6: Componente — `ecc:react-build`, `ecc:react-review`
→ Task 7: Query TanStack — `tanstack-query-checkout`
→ Task 8: Visor — `ecc:react-review` (novamente)
→ Task 9: Error handling — `ecc:error-handling`
→ Task 10: Testes unitários — `ecc:tdd-workflow`
→ Task 11: E2E — `ecc:e2e-testing`
→ Task 12: Security — `owasp-security` ← OBRIGATÓRIO
# 4. Review & Merge
git push origin feature/desconto-convenio
→ /code-review da branch
→ /owasp-security ANTES de merge a main
→ Merge + delete branchR: /speckit-implement Task N novamente. O agente reexecuta a tarefa, com contexto de especificação ainda presente.
R: NÃO. Setup define tipos/schemas que toda feature seguinte depende. Pular Setup causa bugs de type-safety depois.
R: /speckit-specify (novamente). Spec Kit detecta mudanças e regera tarefas conforme necessário. Tarefas já completadas permanecem como estão.
R: Marque-a como "Bloqueada por AD-023" na spec da feature. /speckit-tasks não gera tarefas dependentes até que bloqueador seja removido.
| Command | O que faz |
|---|---|
/speckit-constitution |
Cria/atualiza a constitution do projeto (.specify/memory/constitution.md) |
/speckit-specify |
Cria/atualiza a especificação da feature a partir de descrição em linguagem natural |
/speckit-clarify |
(opcional) Faz até 5 perguntas para reduzir ambiguidade antes de /speckit-plan |
/speckit-plan |
Gera artefatos de design (plan.md) a partir da especificação |
/speckit-tasks |
Gera tarefas topológicas (tasks.md) a partir de spec/plan |
/speckit-analyze |
Valida consistência entre spec/plan/tasks (sem executar) |
/speckit-checklist |
(opcional) Gera checklist de qualidade da especificação |
/speckit-implement |
Executa todas as tarefas (ou específica) com skills automáticas |
/speckit-implement Task N |
Executa somente tarefa N |
/speckit-converge |
Avalia o código já existente contra spec/plan/tasks e anexa trabalho faltante como novas tasks |
/speckit-taskstoissues |
Converte tasks.md em issues do GitHub |
Mais detalhes: Spec Kit Docs
Mantenha esta página atualizada. Feedback sobre workflow Spec Kit neste projeto? Abra PR em rules.md ou CLAUDE.md.