create-genia-os 2.0.0 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/README.md +154 -0
  2. package/bin/index.js +240 -0
  3. package/package.json +40 -42
  4. package/template/.claude/CLAUDE.md +215 -0
  5. package/template/.claude/agent-memory/analyst/MEMORY.md +20 -0
  6. package/template/.claude/agent-memory/architect/MEMORY.md +20 -0
  7. package/template/.claude/agent-memory/dev/MEMORY.md +20 -0
  8. package/template/.claude/agent-memory/devops/MEMORY.md +20 -0
  9. package/template/.claude/agent-memory/pm/MEMORY.md +20 -0
  10. package/template/.claude/agent-memory/po/MEMORY.md +20 -0
  11. package/template/.claude/agent-memory/qa/MEMORY.md +20 -0
  12. package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -0
  13. package/template/.claude/agent-memory/sm/MEMORY.md +20 -0
  14. package/template/.claude/hooks/enforce-git-push-authority.py +70 -0
  15. package/template/.claude/hooks/precompact-session-digest.cjs +87 -0
  16. package/template/.claude/hooks/sql-governance.py +65 -0
  17. package/template/.claude/hooks/synapse-engine.cjs +122 -0
  18. package/template/.claude/hooks/write-path-validation.py +59 -0
  19. package/template/.claude/rules/agent-authority.md +39 -0
  20. package/template/.claude/rules/agent-handoff.md +71 -0
  21. package/template/.claude/rules/agent-memory.md +61 -0
  22. package/template/.claude/rules/ids-principles.md +52 -0
  23. package/template/.claude/rules/mcp-usage.md +49 -0
  24. package/template/.claude/rules/story-lifecycle.md +87 -0
  25. package/template/.claude/rules/workflow-execution.md +68 -0
  26. package/template/.claude/settings.json +58 -0
  27. package/template/.claude/settings.local.json +14 -0
  28. package/template/.genia/CONSTITUTION.md +129 -0
  29. package/template/.genia/contexts/api-patterns.md +134 -0
  30. package/template/.genia/contexts/nextjs-react.md +210 -0
  31. package/template/.genia/contexts/projeto.md +18 -0
  32. package/template/.genia/contexts/supabase.md +152 -0
  33. package/template/.genia/contexts/whatsapp-cloud.md +176 -0
  34. package/template/.genia/core-config.yaml +192 -0
  35. package/template/.genia/development/agents/analyst.md +138 -0
  36. package/template/.genia/development/agents/architect.md +171 -0
  37. package/template/.genia/development/agents/dev.md +160 -0
  38. package/template/.genia/development/agents/devops.md +200 -0
  39. package/template/.genia/development/agents/pm.md +142 -0
  40. package/template/.genia/development/agents/po.md +165 -0
  41. package/template/.genia/development/agents/qa.md +183 -0
  42. package/template/.genia/development/agents/reviewer.md +198 -0
  43. package/template/.genia/development/agents/sm.md +230 -0
  44. package/template/.genia/development/checklists/architecture-review.md +189 -0
  45. package/template/.genia/development/checklists/pre-commit.md +205 -0
  46. package/template/.genia/development/checklists/pre-deploy.md +230 -0
  47. package/template/.genia/development/checklists/qa-gate.md +216 -0
  48. package/template/.genia/development/checklists/story-dod.md +155 -0
  49. package/template/.genia/development/tasks/code-review.md +197 -0
  50. package/template/.genia/development/tasks/criar-prd.md +170 -0
  51. package/template/.genia/development/tasks/criar-spec.md +188 -0
  52. package/template/.genia/development/tasks/criar-story.md +185 -0
  53. package/template/.genia/development/tasks/debug-sistematico.md +230 -0
  54. package/template/.genia/development/tasks/dev-implement.md +199 -0
  55. package/template/.genia/development/tasks/qa-review.md +224 -0
  56. package/template/.genia/development/workflows/brownfield.md +178 -0
  57. package/template/.genia/development/workflows/delivery.md +208 -0
  58. package/template/.genia/development/workflows/development.md +189 -0
  59. package/template/.genia/development/workflows/greenfield.md +166 -0
  60. package/template/.genia/development/workflows/planning.md +167 -0
  61. package/template/.genia/development/workflows/qa-loop.md +179 -0
  62. package/template/.genia/development/workflows/spec-pipeline.md +192 -0
  63. package/template/.genia/development/workflows/story-development-cycle.md +252 -0
  64. package/template/.genia/guidelines/clean-code.md +98 -0
  65. package/template/.genia/guidelines/testing.md +176 -0
  66. package/template/.genia/skills/design/canvas-design.md +109 -0
  67. package/template/.genia/skills/design/frontend-design.md +140 -0
  68. package/template/.genia/skills/dev/mcp-builder.md +172 -0
  69. package/template/.genia/skills/dev/webapp-testing.md +150 -0
  70. package/template/.genia/skills/documents/docx.md +153 -0
  71. package/template/.genia/skills/documents/pdf.md +134 -0
  72. package/template/.genia/skills/documents/pptx.md +118 -0
  73. package/template/.genia/skills/documents/xlsx.md +140 -0
  74. package/template/.synapse/agent-analyst +8 -0
  75. package/template/.synapse/agent-architect +8 -0
  76. package/template/.synapse/agent-dev +8 -0
  77. package/template/.synapse/agent-devops +8 -0
  78. package/template/.synapse/agent-pm +8 -0
  79. package/template/.synapse/agent-po +7 -0
  80. package/template/.synapse/agent-qa +8 -0
  81. package/template/.synapse/agent-reviewer +7 -0
  82. package/template/.synapse/agent-sm +7 -0
  83. package/template/.synapse/constitution +7 -0
  84. package/template/.synapse/context +8 -0
  85. package/template/.synapse/global +8 -0
  86. package/template/.synapse/manifest +14 -0
  87. package/template/README.md +53 -0
  88. package/bin/create.js +0 -181
@@ -0,0 +1,205 @@
1
+ # Checklist: Pré-Commit
2
+
3
+ > Verificações obrigatórias antes de qualquer commit.
4
+ > Executado por @dev. Automatizável via git hooks.
5
+
6
+ ---
7
+
8
+ ## Objetivo
9
+
10
+ Garantir que nenhum commit "sujo" entre no histórico do repositório. Um commit deve ser uma unidade de mudança coesa, funcional e segura. Esta checklist previne problemas que são muito mais custosos de corrigir depois do commit.
11
+
12
+ ---
13
+
14
+ ## Checklist Completo
15
+
16
+ ### Bloco 1 — Qualidade de Código (Obrigatório)
17
+
18
+ ```bash
19
+ npm run lint
20
+ ```
21
+
22
+ - [ ] Zero erros de lint
23
+ - [ ] Zero warnings de lint (warnings são erros em potencial)
24
+ - [ ] Nenhuma regra do ESLint desabilitada com `// eslint-disable` sem comentário explicativo
25
+
26
+ ```bash
27
+ npm run typecheck
28
+ ```
29
+
30
+ - [ ] Zero erros TypeScript
31
+ - [ ] Nenhum `@ts-ignore` ou `@ts-expect-error` sem explicação no comentário
32
+ - [ ] Sem `any` usado como atalho — tipagem explícita ou `unknown`
33
+
34
+ ---
35
+
36
+ ### Bloco 2 — Testes (Obrigatório)
37
+
38
+ ```bash
39
+ npm run test
40
+ ```
41
+
42
+ - [ ] Todos os testes passando
43
+ - [ ] Nenhum teste em `skip` ou `xtest` que foi esquecido
44
+ - [ ] Nenhum `test.only` esquecido (faria outros testes serem ignorados no CI)
45
+
46
+ ```bash
47
+ npm run coverage
48
+ ```
49
+
50
+ - [ ] Coverage >= 80% nas linhas modificadas
51
+ - [ ] Se coverage caiu abaixo de 80%: adicionar testes antes de commitar
52
+
53
+ ---
54
+
55
+ ### Bloco 3 — Segurança (Obrigatório)
56
+
57
+ Antes de executar `git add`, verifique todos os arquivos no diff:
58
+
59
+ ```bash
60
+ git diff --staged
61
+ ```
62
+
63
+ - [ ] Sem passwords, tokens, API keys ou secrets hardcodados
64
+ - [ ] Sem credenciais de banco de dados no código
65
+ - [ ] Sem URLs de ambiente hardcodadas (usar variáveis de ambiente)
66
+ - [ ] Arquivo `.env` ou `.env.local` NÃO está sendo commitado
67
+ - [ ] Sem chaves privadas (`.pem`, `.key`) no staged
68
+ - [ ] Sem tokens de autenticação em nenhum arquivo
69
+
70
+ **Se encontrar qualquer desses:** remova ANTES de commitar. Secrets no histórico git são permanentes e comprometem a segurança do projeto.
71
+
72
+ ---
73
+
74
+ ### Bloco 4 — Limpeza de Código (Obrigatório)
75
+
76
+ Leia o diff uma vez como se fosse o reviewer:
77
+
78
+ - [ ] Sem `console.log`, `console.debug`, `console.warn` de debug esquecidos
79
+ - [ ] Sem código comentado desnecessariamente (use `git stash` se quiser salvar)
80
+ - [ ] Sem imports não utilizados
81
+ - [ ] Sem variáveis declaradas e não utilizadas
82
+ - [ ] Sem arquivos de teste manual esquecidos (`test.html`, `debug.js`, etc.)
83
+
84
+ ---
85
+
86
+ ### Bloco 5 — Conformidade com Padrões (Obrigatório)
87
+
88
+ - [ ] Todos os imports novos usam paths absolutos com `@/`
89
+ - [ ] Nenhum import relativo com `../../` em arquivos novos
90
+ - [ ] Nomenclatura seguindo os padrões do SPEC-TECNICO (camelCase, PascalCase)
91
+ - [ ] Arquivos criados nas pastas corretas conforme estrutura definida
92
+
93
+ ---
94
+
95
+ ### Bloco 6 — Formato do Commit (Obrigatório)
96
+
97
+ A mensagem de commit deve seguir o formato:
98
+
99
+ ```
100
+ tipo(escopo): descrição em imperativo presente
101
+
102
+ [corpo opcional com contexto adicional]
103
+
104
+ Story: STORY-XXX
105
+ Co-Authored-By: GEN.IA OS <genia@bedata.com.br>
106
+ ```
107
+
108
+ - [ ] Tipo válido: `feat`, `fix`, `refactor`, `test`, `docs`, `style`, `chore`
109
+ - [ ] Escopo relevante ao módulo modificado
110
+ - [ ] Descrição em imperativo: "adicionar", "corrigir", "implementar" (não "adicionado", "foi corrigido")
111
+ - [ ] Descrição em até 72 caracteres na primeira linha
112
+ - [ ] Story ID incluído quando aplicável
113
+ - [ ] Co-authored-by incluído
114
+
115
+ **Exemplos corretos:**
116
+ ```
117
+ feat(auth): implementar formulário de login com validação de email
118
+ fix(api): corrigir erro 500 ao criar usuário sem telefone
119
+ test(payment): adicionar casos de teste para falha de pagamento
120
+ ```
121
+
122
+ **Exemplos incorretos:**
123
+ ```
124
+ update stuff
125
+ fixing bug
126
+ WIP
127
+ feat: fiz várias coisas no componente de login e também corrigi um bug
128
+ ```
129
+
130
+ ---
131
+
132
+ ### Bloco 7 — Atomicidade (Boas Práticas)
133
+
134
+ - [ ] Este commit representa UMA mudança coesa e descritível em uma frase?
135
+ - [ ] Se o commit precisaria de "e também" na descrição, considere dividir em 2 commits
136
+ - [ ] Arquivos não relacionados a esta mudança NÃO estão em stage
137
+ - [ ] Arquivos de configuração pessoal (`.vscode/settings.json` pessoal, etc.) não incluídos
138
+
139
+ ---
140
+
141
+ ## Verificação Rápida Final
142
+
143
+ Execute a sequência completa antes de `git commit`:
144
+
145
+ ```bash
146
+ npm run lint && npm run typecheck && npm run test && echo "PRÉ-COMMIT OK ✓"
147
+ ```
148
+
149
+ Se este comando terminar com `PRÉ-COMMIT OK ✓`, o commit pode ser feito.
150
+
151
+ Se falhar: corrija o problema identificado antes de commitar.
152
+
153
+ ---
154
+
155
+ ## Automatização com Git Hooks
156
+
157
+ Para automatizar parte desta checklist, adicione o hook em `.git/hooks/pre-commit`:
158
+
159
+ ```bash
160
+ #!/bin/sh
161
+ echo "Executando verificações pré-commit..."
162
+
163
+ npm run lint
164
+ if [ $? -ne 0 ]; then
165
+ echo "BLOQUEADO: Lint falhou. Corrija os erros antes de commitar."
166
+ exit 1
167
+ fi
168
+
169
+ npm run typecheck
170
+ if [ $? -ne 0 ]; then
171
+ echo "BLOQUEADO: TypeScript com erros. Corrija antes de commitar."
172
+ exit 1
173
+ fi
174
+
175
+ npm run test
176
+ if [ $? -ne 0 ]; then
177
+ echo "BLOQUEADO: Testes falhando. Corrija antes de commitar."
178
+ exit 1
179
+ fi
180
+
181
+ echo "Verificações pré-commit concluídas. ✓"
182
+ exit 0
183
+ ```
184
+
185
+ Tornar executável:
186
+ ```bash
187
+ chmod +x .git/hooks/pre-commit
188
+ ```
189
+
190
+ **Nota:** @devops é responsável por configurar hooks em nível de projeto (usando Husky ou similar) para que se apliquem a todo o time.
191
+
192
+ ---
193
+
194
+ ## Exceções
195
+
196
+ Em situações excepcionais, @architect pode autorizar um commit que não passa em todas as verificações, com:
197
+ - Registro documentado da exceção
198
+ - Justificativa técnica
199
+ - Issue criada para resolução imediata (no mesmo sprint)
200
+
201
+ **Exceções nunca são a norma.** Se você se pega precisando de exceções frequentemente, o problema é no código ou no processo.
202
+
203
+ ---
204
+
205
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
@@ -0,0 +1,230 @@
1
+ # Checklist: Pré-Deploy
2
+
3
+ > Verificações obrigatórias antes de qualquer deploy em produção.
4
+ > Executado por @devops. Nenhum deploy acontece sem este checklist completo.
5
+
6
+ ---
7
+
8
+ ## Objetivo
9
+
10
+ Garantir que um deploy em produção seja seguro, reversível e comunicado adequadamente. Deploys sem checklist são causa comum de incidentes. Este checklist é o contrato de @devops com a estabilidade do sistema.
11
+
12
+ ---
13
+
14
+ ## Regra de Ouro
15
+
16
+ **Production nunca recebe código que não passou por staging.**
17
+
18
+ Se staging não está estável, o deploy não acontece. Sem exceção.
19
+
20
+ ---
21
+
22
+ ## Checklist Completo
23
+
24
+ ### Bloco 1 — Pré-Requisitos (Verificar ANTES de qualquer ação)
25
+
26
+ - [ ] @pm aprovou formalmente a release (decisão de delivery documentada)
27
+ - [ ] Todas as stories da release têm status `Done` (aprovadas por @po)
28
+ - [ ] PRs de todas as stories estão mergeados em `main`
29
+ - [ ] Branch `main` está sem conflitos pendentes
30
+ - [ ] Não há incidentes abertos em produção no momento
31
+
32
+ ---
33
+
34
+ ### Bloco 2 — Validação de Staging
35
+
36
+ ```bash
37
+ # Verificar status do pipeline de staging
38
+ gh run list --branch main --limit 5
39
+ ```
40
+
41
+ - [ ] Pipeline CI/CD de staging: **verde** nos últimos 48h
42
+ - [ ] Ambiente de staging está respondendo (health check passa)
43
+ - [ ] Testes de integração em staging: passando
44
+ - [ ] Funcionalidades da release verificadas em staging por @qa
45
+ - [ ] Sem erros críticos nos logs de staging nas últimas 24h
46
+
47
+ ---
48
+
49
+ ### Bloco 3 — Segurança
50
+
51
+ - [ ] Security scan executado no código da release (sem vulnerabilidades CRÍTICAS)
52
+ - [ ] Secrets e variáveis de ambiente de produção estão configurados
53
+ - [ ] Nenhum secret de staging sendo usado em produção
54
+ - [ ] Dependências verificadas por vulnerabilidades conhecidas (`npm audit`)
55
+ - [ ] Certificados SSL/TLS válidos e não próximos do vencimento
56
+
57
+ ```bash
58
+ npm audit --audit-level=critical
59
+ ```
60
+
61
+ - [ ] Zero vulnerabilidades críticas em dependências
62
+
63
+ ---
64
+
65
+ ### Bloco 4 — Banco de Dados (se aplicável)
66
+
67
+ - [ ] Backup completo do banco de dados de produção realizado ANTES do deploy
68
+ - [ ] Migrações de banco testadas em staging sem erros
69
+ - [ ] Migrações são backward-compatible (se sistema precisa ser zero-downtime)
70
+ - [ ] Script de rollback de migração existe e foi testado
71
+ - [ ] Não há migrações destrutivas sem confirmação de @architect e @pm
72
+ - [ ] Tempo estimado de migração documentado (se > 5 min: avisar usuários)
73
+
74
+ ---
75
+
76
+ ### Bloco 5 — Variáveis de Ambiente e Configuração
77
+
78
+ - [ ] Todas as variáveis de ambiente necessárias estão configuradas em produção
79
+ - [ ] Nenhuma variável com valor de staging sendo usada em produção
80
+ - [ ] Arquivo `.env.example` atualizado com novas variáveis necessárias
81
+ - [ ] Configurações de feature flags (se usadas) verificadas
82
+
83
+ ```bash
84
+ # Verificar variáveis críticas (sem expor valores)
85
+ env | grep -E "(API_URL|DATABASE|AUTH)" | cut -d= -f1
86
+ ```
87
+
88
+ ---
89
+
90
+ ### Bloco 6 — Performance e Capacidade
91
+
92
+ - [ ] Build de produção gerado com sucesso (`npm run build`)
93
+ - [ ] Tamanho do bundle verificado (sem regressão de performance inesperada)
94
+ - [ ] Capacidade da infraestrutura verificada para o volume esperado
95
+ - [ ] Cache invalidado/renovado conforme necessário
96
+
97
+ ```bash
98
+ npm run build
99
+ npm run build:analyze # se disponível
100
+ ```
101
+
102
+ ---
103
+
104
+ ### Bloco 7 — Plano de Rollback
105
+
106
+ **Pré-requisito:** Plano de rollback DEVE existir ANTES de iniciar o deploy.
107
+
108
+ - [ ] Versão anterior identificada: `v[X.X.X]`
109
+ - [ ] Comando de rollback documentado e testado:
110
+ ```bash
111
+ # Exemplo para Vercel
112
+ vercel rollback [deployment-id]
113
+
114
+ # Exemplo para Railway
115
+ railway rollback
116
+ ```
117
+ - [ ] Rollback de migração de banco documentado (se houver migração)
118
+ - [ ] Tempo estimado para rollback: < 10 minutos
119
+ - [ ] @architect e @pm notificados sobre plano de rollback
120
+
121
+ ---
122
+
123
+ ### Bloco 8 — Comunicação e Janela de Deploy
124
+
125
+ - [ ] Time notificado sobre a janela de deploy (com pelo menos 2h de antecedência)
126
+ - [ ] Deploy agendado em horário de baixo tráfego (evitar horário de pico)
127
+ - [ ] Evitar deploys em sexta-feira após 14h ou véspera de feriado
128
+ - [ ] Suporte de plantão identificado para primeiras 2h após deploy
129
+ - [ ] Canal de comunicação de incidentes configurado e verificado
130
+ - [ ] Stakeholders que precisam ser notificados identificados
131
+
132
+ **Janelas ideais de deploy:**
133
+ - Segunda a quinta: 10h-12h ou 14h-16h
134
+ - Evitar: sextas à tarde, vésperas de datas importantes, horário de pico de usuários
135
+
136
+ ---
137
+
138
+ ### Bloco 9 — Monitoramento Pós-Deploy
139
+
140
+ Configure alertas ANTES de iniciar o deploy:
141
+
142
+ - [ ] Alertas de erro (5xx) configurados com threshold e notificação imediata
143
+ - [ ] Dashboard de métricas aberto para monitoramento em tempo real
144
+ - [ ] Health check endpoint identificado para verificação contínua
145
+ - [ ] Plano de monitoramento por pelo menos 30 minutos após o deploy
146
+
147
+ ---
148
+
149
+ ### Bloco 10 — Release Notes e Documentação
150
+
151
+ - [ ] Release notes geradas e revisadas
152
+ - [ ] CHANGELOG.md atualizado com as mudanças desta release
153
+ - [ ] Documentação de APIs atualizada (se houve mudança de contrato)
154
+ - [ ] Tag de versão criada: `git tag -a v[X.X.X] -m "Release v[X.X.X]"`
155
+
156
+ ---
157
+
158
+ ## Execução do Deploy
159
+
160
+ Após checklist completo, a sequência de deploy:
161
+
162
+ ```bash
163
+ # 1. Tag a versão
164
+ git tag -a v1.2.0 -m "Release v1.2.0: [descrição resumida]"
165
+ git push origin v1.2.0
166
+
167
+ # 2. Deploy (específico para cada plataforma)
168
+ # Vercel: vercel --prod
169
+ # Railway: railway up
170
+ # AWS: [comando específico]
171
+
172
+ # 3. Verificação imediata pós-deploy
173
+ curl https://[url-producao]/health
174
+ ```
175
+
176
+ ---
177
+
178
+ ## Protocolo de Incidente Durante Deploy
179
+
180
+ Se algo der errado durante ou após o deploy:
181
+
182
+ ```
183
+ NÍVEL 1 (degradação leve):
184
+ → Monitorar por 15 minutos
185
+ → Se não melhorar: NÍVEL 2
186
+
187
+ NÍVEL 2 (funcionalidade impactada):
188
+ → Notificar @architect imediatamente
189
+ → Decidir: aguardar fix hotfix ou rollback
190
+ → Timeout de decisão: 30 minutos
191
+
192
+ NÍVEL 3 (sistema fora do ar / dados em risco):
193
+ → ROLLBACK IMEDIATO
194
+ → Notificar @pm e @architect simultaneamente
195
+ → Comunicar usuários via [canal definido]
196
+ → Post-mortem obrigatório nas próximas 24h
197
+ ```
198
+
199
+ ---
200
+
201
+ ## Verificação Pós-Deploy (Executar imediatamente após)
202
+
203
+ - [ ] Health check em produção: passando
204
+ - [ ] Testes de fumaça (smoke tests) em produção: passando
205
+ - [ ] Logs de produção: sem erros críticos nos primeiros 5 minutos
206
+ - [ ] Métricas de performance: normais (sem degradação)
207
+ - [ ] @qa executou smoke tests em produção e confirmou estabilidade
208
+ - [ ] @pm comunicado sobre sucesso do deploy
209
+
210
+ ---
211
+
212
+ ## Confirmação de Conclusão
213
+
214
+ ```markdown
215
+ ## Deploy Concluído — v[X.X.X]
216
+ Data/Hora: YYYY-MM-DD HH:MM
217
+ Ambiente: Production
218
+ Deploy executado por: Gate (@devops)
219
+
220
+ Checklist: ✅ Completo
221
+ Smoke tests: ✅ Passando
222
+ Monitoramento: ✅ Ativo (30 min)
223
+ Status: ✅ DEPLOY BEM-SUCEDIDO
224
+
225
+ Próximo passo: @pm comunica stakeholders
226
+ ```
227
+
228
+ ---
229
+
230
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
@@ -0,0 +1,216 @@
1
+ # Checklist: QA Gate
2
+
3
+ > Verificações que @qa executa para emitir veredicto de qualidade.
4
+ > 7 verificações principais. Todas obrigatórias para aprovação.
5
+
6
+ ---
7
+
8
+ ## O que é o QA Gate?
9
+
10
+ O QA Gate é o checkpoint de qualidade que determina se o código pode avançar para code review e, posteriormente, para produção. @qa é a autoridade exclusiva para abrir ou fechar este gate. Um veredicto APROVADO pelo QA Gate é pré-requisito obrigatório para o code review por @reviewer.
11
+
12
+ ---
13
+
14
+ ## Verificação 1 — Acceptance Criteria (Funcional)
15
+
16
+ **Propósito:** Garantir que o código implementa exatamente o que foi prometido na story.
17
+
18
+ Para cada AC da story:
19
+
20
+ | AC | Cenário testado | Resultado |
21
+ |----|----------------|---------|
22
+ | AC-01 | [descrever como foi testado] | ✅ / ❌ |
23
+ | AC-02 | [descrever como foi testado] | ✅ / ❌ |
24
+ | AC-03 | [descrever como foi testado] | ✅ / ❌ |
25
+
26
+ **Critério de passagem:** Todos os ACs com resultado ✅
27
+
28
+ - [ ] Todos os ACs verificados manualmente
29
+ - [ ] Happy path de cada AC funciona conforme descrito
30
+ - [ ] Nenhum AC implementado parcialmente ou com workaround oculto
31
+ - [ ] Comportamentos descritos nos ACs correspondem ao comportamento real
32
+
33
+ **BLOQUEANTE se falhar.**
34
+
35
+ ---
36
+
37
+ ## Verificação 2 — Testes Automáticos
38
+
39
+ **Propósito:** Garantir que a suite de testes está saudável e cobrindo o código.
40
+
41
+ ```bash
42
+ npm run test
43
+ ```
44
+
45
+ - [ ] Todos os testes passando (zero falhas)
46
+ - [ ] Nenhum teste em `skip` ou `xtest` sem justificativa documentada
47
+ - [ ] Sem `test.only` que silencia outros testes
48
+
49
+ ```bash
50
+ npm run coverage
51
+ ```
52
+
53
+ - [ ] Coverage >= 80% nas linhas novas/modificadas
54
+ - [ ] Relatório de coverage gerado e verificado
55
+
56
+ **Resultados esperados:**
57
+ ```
58
+ Test Suites: X passed, X total
59
+ Tests: X passed, X total
60
+ Coverage: XX% (>= 80%)
61
+ ```
62
+
63
+ **BLOQUEANTE se falhar.**
64
+
65
+ ---
66
+
67
+ ## Verificação 3 — Qualidade Estática
68
+
69
+ **Propósito:** Garantir que o código segue os padrões de qualidade definidos.
70
+
71
+ ```bash
72
+ npm run lint
73
+ ```
74
+
75
+ - [ ] Zero erros de lint
76
+ - [ ] Zero warnings de lint
77
+ - [ ] Nenhuma regra desabilitada sem comentário explicativo
78
+
79
+ ```bash
80
+ npm run typecheck
81
+ ```
82
+
83
+ - [ ] Zero erros TypeScript
84
+ - [ ] Sem `@ts-ignore` injustificado
85
+ - [ ] Sem `any` como atalho para evitar tipagem
86
+
87
+ **BLOQUEANTE se falhar.**
88
+
89
+ ---
90
+
91
+ ## Verificação 4 — Cenários de Borda (Edge Cases)
92
+
93
+ **Propósito:** Garantir que o código é robusto além dos cenários principais.
94
+
95
+ Testar:
96
+
97
+ - [ ] Campos obrigatórios vazios: o sistema se comporta corretamente?
98
+ - [ ] Caracteres especiais em inputs de texto: sem injeção ou quebra?
99
+ - [ ] Valores extremos (muito longos, muito curtos, zero, negativos): tratados?
100
+ - [ ] Ações repetidas rapidamente (double-click em botões): sem efeito duplo?
101
+ - [ ] Sem conexão ou timeout de API: mensagem de erro adequada?
102
+ - [ ] Dados nulos/undefined vindos da API: sem crash?
103
+
104
+ Documente cada cenário testado e o resultado.
105
+
106
+ **ALTO se falhar em cenário relevante. BLOQUEANTE se causar crash ou corrupção de dados.**
107
+
108
+ ---
109
+
110
+ ## Verificação 5 — Regressão
111
+
112
+ **Propósito:** Garantir que as mudanças desta story não quebraram funcionalidades existentes.
113
+
114
+ Testar as funcionalidades RELACIONADAS ao módulo modificado:
115
+
116
+ - [ ] Funcionalidades adjacentes ainda funcionam corretamente
117
+ - [ ] Navegação entre páginas relacionadas funciona
118
+ - [ ] Integrações com outros módulos não foram quebradas
119
+ - [ ] Dados persistidos anteriormente ainda são lidos corretamente
120
+
121
+ Em projetos brownfield, a verificação de regressão é expandida e inclui teste dos fluxos críticos de produção.
122
+
123
+ **CRÍTICO se houver regressão em funcionalidade existente.**
124
+
125
+ ---
126
+
127
+ ## Verificação 6 — Segurança Básica
128
+
129
+ **Propósito:** Identificar vulnerabilidades de segurança óbvias antes que cheguem ao code review.
130
+
131
+ - [ ] Sem dados sensíveis expostos em respostas de API desnecessariamente
132
+ - [ ] Endpoints protegidos retornam 401/403 sem autenticação válida
133
+ - [ ] Inputs com caracteres especiais não quebram o sistema
134
+ - [ ] Sem informações de stack trace expostas em respostas de erro para o usuário
135
+ - [ ] Sem secrets visíveis em logs ou respostas de API
136
+ - [ ] Rate limiting funcionando se implementado
137
+
138
+ **CRÍTICO se encontrar vulnerabilidade de segurança.**
139
+
140
+ ---
141
+
142
+ ## Verificação 7 — Experiência do Usuário Básica
143
+
144
+ **Propósito:** Garantir que a entrega é usável e não causa frustração desnecessária.
145
+
146
+ Para funcionalidades com interface:
147
+
148
+ - [ ] Estados de loading presentes durante operações assíncronas?
149
+ - [ ] Estado vazio (lista sem itens) tem tratamento visual adequado?
150
+ - [ ] Mensagens de erro são compreensíveis para o usuário (não stack traces)?
151
+ - [ ] Formulários fornecem feedback claro sobre campos inválidos?
152
+ - [ ] Interface não quebra visualmente em resoluções comuns (desktop 1280px+, mobile 375px)?
153
+ - [ ] Botões não ficam habilitados após ação que deveria desabilitá-los?
154
+
155
+ Para funcionalidades de API:
156
+
157
+ - [ ] Respostas de sucesso têm estrutura consistente?
158
+ - [ ] Respostas de erro têm mensagem clara e código HTTP correto?
159
+ - [ ] Documentação da API atualizada se necessário?
160
+
161
+ **MÉDIO se falhar (não bloqueia, mas deve ser documentado).**
162
+
163
+ ---
164
+
165
+ ## Sumário de Verificações
166
+
167
+ | # | Verificação | Criticidade | Resultado |
168
+ |---|-------------|------------|---------|
169
+ | 1 | Acceptance Criteria atendidos | BLOQUEANTE | ✅ / ❌ |
170
+ | 2 | Testes automáticos passando | BLOQUEANTE | ✅ / ❌ |
171
+ | 3 | Lint + TypeScript limpos | BLOQUEANTE | ✅ / ❌ |
172
+ | 4 | Edge cases tratados | ALTO | ✅ / ❌ |
173
+ | 5 | Sem regressão | CRÍTICO | ✅ / ❌ |
174
+ | 6 | Segurança básica | CRÍTICO | ✅ / ❌ |
175
+ | 7 | UX básica adequada | MÉDIO | ✅ / ❌ |
176
+
177
+ ---
178
+
179
+ ## Veredicto
180
+
181
+ **APROVADO** quando:
182
+ - Verificações 1, 2, 3 passam (obrigatórias)
183
+ - Verificações 5, 6 passam (zero críticos)
184
+ - Verificação 4 sem bugs ALTO ou com máx 2 documentados
185
+ - Verificação 7 com issues documentados para backlog
186
+
187
+ **REPROVADO** quando:
188
+ - Qualquer verificação BLOQUEANTE falha
189
+ - Verificação 5 ou 6 identificam bug CRÍTICO
190
+ - Verificação 4 tem mais de 2 bugs ALTO
191
+
192
+ ---
193
+
194
+ ## Registro do Veredicto
195
+
196
+ ```markdown
197
+ ## QA Gate — STORY-XXX — [APROVADO | REPROVADO]
198
+ Data: YYYY-MM-DD | QA: Quinn (@qa) | Iteração: X/5
199
+
200
+ | Verificação | Status |
201
+ |-------------|--------|
202
+ | 1. ACs | ✅ PASS |
203
+ | 2. Testes | ✅ PASS |
204
+ | 3. Estática | ✅ PASS |
205
+ | 4. Edge cases | ⚠️ 1 bug MÉDIO documentado |
206
+ | 5. Regressão | ✅ PASS |
207
+ | 6. Segurança | ✅ PASS |
208
+ | 7. UX | ✅ PASS |
209
+
210
+ Veredicto: ✅ APROVADO
211
+ Próximo passo: @reviewer para code review
212
+ ```
213
+
214
+ ---
215
+
216
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*