create-genia-os 1.0.0

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 (86) hide show
  1. package/bin/index.js +210 -0
  2. package/package.json +39 -0
  3. package/template/.claude/CLAUDE.md +215 -0
  4. package/template/.claude/agent-memory/analyst/MEMORY.md +20 -0
  5. package/template/.claude/agent-memory/architect/MEMORY.md +20 -0
  6. package/template/.claude/agent-memory/dev/MEMORY.md +20 -0
  7. package/template/.claude/agent-memory/devops/MEMORY.md +20 -0
  8. package/template/.claude/agent-memory/pm/MEMORY.md +20 -0
  9. package/template/.claude/agent-memory/po/MEMORY.md +20 -0
  10. package/template/.claude/agent-memory/qa/MEMORY.md +20 -0
  11. package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -0
  12. package/template/.claude/agent-memory/sm/MEMORY.md +20 -0
  13. package/template/.claude/hooks/enforce-git-push-authority.py +70 -0
  14. package/template/.claude/hooks/precompact-session-digest.cjs +87 -0
  15. package/template/.claude/hooks/sql-governance.py +65 -0
  16. package/template/.claude/hooks/synapse-engine.cjs +122 -0
  17. package/template/.claude/hooks/write-path-validation.py +59 -0
  18. package/template/.claude/rules/agent-authority.md +39 -0
  19. package/template/.claude/rules/agent-handoff.md +71 -0
  20. package/template/.claude/rules/agent-memory.md +61 -0
  21. package/template/.claude/rules/ids-principles.md +52 -0
  22. package/template/.claude/rules/mcp-usage.md +49 -0
  23. package/template/.claude/rules/story-lifecycle.md +87 -0
  24. package/template/.claude/rules/workflow-execution.md +68 -0
  25. package/template/.claude/settings.json +58 -0
  26. package/template/.claude/settings.local.json +14 -0
  27. package/template/.genia/CONSTITUTION.md +129 -0
  28. package/template/.genia/contexts/api-patterns.md +134 -0
  29. package/template/.genia/contexts/nextjs-react.md +210 -0
  30. package/template/.genia/contexts/projeto.md +18 -0
  31. package/template/.genia/contexts/supabase.md +152 -0
  32. package/template/.genia/contexts/whatsapp-cloud.md +176 -0
  33. package/template/.genia/core-config.yaml +192 -0
  34. package/template/.genia/development/agents/analyst.md +138 -0
  35. package/template/.genia/development/agents/architect.md +171 -0
  36. package/template/.genia/development/agents/dev.md +160 -0
  37. package/template/.genia/development/agents/devops.md +200 -0
  38. package/template/.genia/development/agents/pm.md +142 -0
  39. package/template/.genia/development/agents/po.md +165 -0
  40. package/template/.genia/development/agents/qa.md +183 -0
  41. package/template/.genia/development/agents/reviewer.md +198 -0
  42. package/template/.genia/development/agents/sm.md +230 -0
  43. package/template/.genia/development/checklists/architecture-review.md +189 -0
  44. package/template/.genia/development/checklists/pre-commit.md +205 -0
  45. package/template/.genia/development/checklists/pre-deploy.md +230 -0
  46. package/template/.genia/development/checklists/qa-gate.md +216 -0
  47. package/template/.genia/development/checklists/story-dod.md +155 -0
  48. package/template/.genia/development/tasks/code-review.md +197 -0
  49. package/template/.genia/development/tasks/criar-prd.md +170 -0
  50. package/template/.genia/development/tasks/criar-spec.md +188 -0
  51. package/template/.genia/development/tasks/criar-story.md +185 -0
  52. package/template/.genia/development/tasks/debug-sistematico.md +230 -0
  53. package/template/.genia/development/tasks/dev-implement.md +199 -0
  54. package/template/.genia/development/tasks/qa-review.md +224 -0
  55. package/template/.genia/development/workflows/brownfield.md +178 -0
  56. package/template/.genia/development/workflows/delivery.md +208 -0
  57. package/template/.genia/development/workflows/development.md +189 -0
  58. package/template/.genia/development/workflows/greenfield.md +166 -0
  59. package/template/.genia/development/workflows/planning.md +167 -0
  60. package/template/.genia/development/workflows/qa-loop.md +179 -0
  61. package/template/.genia/development/workflows/spec-pipeline.md +192 -0
  62. package/template/.genia/development/workflows/story-development-cycle.md +252 -0
  63. package/template/.genia/guidelines/clean-code.md +98 -0
  64. package/template/.genia/guidelines/testing.md +176 -0
  65. package/template/.genia/skills/design/canvas-design.md +109 -0
  66. package/template/.genia/skills/design/frontend-design.md +140 -0
  67. package/template/.genia/skills/dev/mcp-builder.md +172 -0
  68. package/template/.genia/skills/dev/webapp-testing.md +150 -0
  69. package/template/.genia/skills/documents/docx.md +153 -0
  70. package/template/.genia/skills/documents/pdf.md +134 -0
  71. package/template/.genia/skills/documents/pptx.md +118 -0
  72. package/template/.genia/skills/documents/xlsx.md +140 -0
  73. package/template/.synapse/agent-analyst +8 -0
  74. package/template/.synapse/agent-architect +8 -0
  75. package/template/.synapse/agent-dev +8 -0
  76. package/template/.synapse/agent-devops +8 -0
  77. package/template/.synapse/agent-pm +8 -0
  78. package/template/.synapse/agent-po +7 -0
  79. package/template/.synapse/agent-qa +8 -0
  80. package/template/.synapse/agent-reviewer +7 -0
  81. package/template/.synapse/agent-sm +7 -0
  82. package/template/.synapse/constitution +7 -0
  83. package/template/.synapse/context +8 -0
  84. package/template/.synapse/global +8 -0
  85. package/template/.synapse/manifest +14 -0
  86. package/template/README.md +53 -0
@@ -0,0 +1,185 @@
1
+ # Task: Criar Story
2
+
3
+ > Tarefa executada por @sm. Somente @sm cria stories formais.
4
+ > Output: `docs/stories/STORY-XXX.md`
5
+
6
+ ---
7
+
8
+ ## Objetivo
9
+
10
+ Criar uma story bem definida, no formato INVEST, com acceptance criteria mensuráveis, pronta para ser validada por @po e desenvolvida por @dev. Uma story mal escrita é a causa mais comum de retrabalho e confusão durante o desenvolvimento.
11
+
12
+ ---
13
+
14
+ ## Pré-requisitos
15
+
16
+ Antes de iniciar, confirme:
17
+
18
+ - [ ] PRD.md aprovado existe (`docs/[projeto]/PRD.md`)
19
+ - [ ] SPEC-TECNICO.md aprovado existe (`docs/[projeto]/SPEC-TECNICO.md`)
20
+ - [ ] O épico pai da story está definido no PRD
21
+ - [ ] Há backlog room para esta story (capacity do sprint permite)
22
+ - [ ] @sm tem clareza sobre o que a story deve entregar
23
+
24
+ ---
25
+
26
+ ## Como Determinar o Próximo Story ID
27
+
28
+ 1. Liste os arquivos em `docs/stories/`
29
+ 2. Identifique o maior número existente (ex: STORY-007)
30
+ 3. A próxima story será STORY-008
31
+ 4. Se não há stories existentes, começar em STORY-001
32
+
33
+ ---
34
+
35
+ ## Passos de Execução
36
+
37
+ ### Passo 1 — Contexto
38
+ 1. Leia o épico pai no PRD para entender o contexto de valor
39
+ 2. Leia as seções relevantes do SPEC-TECNICO para entender implicações técnicas
40
+ 3. Verifique se há stories anteriores relacionadas que estabelecem contexto
41
+
42
+ ### Passo 2 — Definição da User Story
43
+ 1. Identifique a persona correta (do PRD)
44
+ 2. Defina a ação/funcionalidade específica (o mais granular possível)
45
+ 3. Defina o benefício de negócio (mensurável quando possível)
46
+ 4. Escreva no formato: "Como [persona], quero [ação], para [benefício]"
47
+
48
+ **Teste de qualidade da User Story:**
49
+ - A persona é real e definida no PRD? (não "como usuário genérico")
50
+ - A ação é específica o suficiente para implementar? (não "melhorar a experiência")
51
+ - O benefício é de negócio real? (não "para ter acesso a isso")
52
+
53
+ ### Passo 3 — Acceptance Criteria
54
+ 1. Para cada AC, pense: "Como @qa vai verificar isso?"
55
+ 2. Use o formato: "[Dado X], quando [ação Y], então [resultado Z]"
56
+ - Ou: "[Funcionalidade] deve [comportamento mensurável]"
57
+ 3. Cubra:
58
+ - Happy path (fluxo principal de sucesso)
59
+ - Edge cases relevantes (dados inválidos, estados vazios)
60
+ - Cenários negativos (o que deve ser impedido)
61
+ 4. Mínimo 3 ACs, máximo 8
62
+
63
+ **Teste de qualidade dos ACs:**
64
+ - @qa consegue verificar este AC sem ambiguidade?
65
+ - O AC descreve o comportamento, não a implementação?
66
+ - O AC é específico o suficiente? ("rápido" não é mensurável)
67
+
68
+ ### Passo 4 — Não-Escopo
69
+ 1. Liste explicitamente o que esta story NÃO inclui
70
+ 2. Seja específico sobre funcionalidades adjacentes que podem causar confusão
71
+ 3. Exemplo: "Esta story NÃO inclui a tela de edição — apenas criação"
72
+
73
+ ### Passo 5 — Dependências
74
+ 1. Identifique se esta story depende de outra estar concluída
75
+ 2. Se há dependências: referenciar os IDs das stories
76
+ 3. Se há bloqueadores técnicos: documentar e escalar para @architect
77
+
78
+ ### Passo 6 — Notas Técnicas
79
+ 1. Do SPEC-TECNICO, extraia informações relevantes para o @dev:
80
+ - Arquivos/módulos que devem ser criados ou modificados
81
+ - Padrões a seguir
82
+ - APIs externas envolvidas
83
+ - Considerações de segurança específicas
84
+ 2. Não tente especificar o "como" em detalhes — isso é papel do @dev e @architect
85
+
86
+ ### Passo 7 — Estimativa
87
+ 1. Estime o esforço em pontos usando a escala Fibonacci simplificada:
88
+ - **P (1-3 pts):** Story pequena, sem ambiguidade, menos de 1 dia
89
+ - **M (5 pts):** Story média, algumas decisões, 1-2 dias
90
+ - **G (8 pts):** Story grande, complexidade moderada, 2-3 dias
91
+ - **XG (13 pts):** Story muito grande — considere quebrar em 2 stories
92
+ 2. Se estimativa é XG ou maior: quebrar antes de validar com @po
93
+
94
+ ### Passo 8 — Self-Review
95
+ Antes de enviar para @po, aplique o checklist INVEST:
96
+ - [ ] **I**ndependente: pode ser desenvolvida sem dependência não-mapeada?
97
+ - [ ] **N**egociável: os detalhes podem ser ajustados se necessário?
98
+ - [ ] **V**aliosa: tem valor claro de negócio?
99
+ - [ ] **E**stimável: conseguimos estimar o esforço?
100
+ - [ ] **S**mall (pequena): cabe em uma sprint?
101
+ - [ ] **T**estável: @qa consegue verificar todos os ACs?
102
+
103
+ ### Passo 9 — Criação do Arquivo
104
+ 1. Crie o arquivo em `docs/stories/STORY-XXX.md` seguindo o template
105
+ 2. Defina status inicial como `Draft`
106
+ 3. Envie para @po para validação
107
+
108
+ ---
109
+
110
+ ## Template Completo
111
+
112
+ ```markdown
113
+ ---
114
+ id: STORY-XXX
115
+ título: [Título descritivo em até 60 caracteres]
116
+ épico: E-XX — [Nome do Épico]
117
+ sprint: Sprint-XX
118
+ estimativa: P | M | G | XG
119
+ assignee: null
120
+ status: Draft
121
+ prioridade: CRÍTICO | ALTO | MÉDIO | BAIXO
122
+ criada_por: "@sm"
123
+ criada_em: YYYY-MM-DD
124
+ aprovada_por: null
125
+ aprovada_em: null
126
+ ---
127
+
128
+ # STORY-XXX — [Título]
129
+
130
+ ## User Story
131
+ Como [persona definida no PRD],
132
+ quero [ação/funcionalidade específica],
133
+ para [benefício de negócio mensurável].
134
+
135
+ ## Contexto
136
+ [1-3 parágrafos de contexto para @dev entender o porquê e o entorno da story]
137
+
138
+ ## Acceptance Criteria
139
+
140
+ - [ ] AC-01: Dado [contexto], quando [ação], então [resultado esperado]
141
+ - [ ] AC-02: Dado [contexto], quando [ação], então [resultado esperado]
142
+ - [ ] AC-03: Dado [contexto], quando [ação], então [resultado esperado]
143
+
144
+ ## Não-Escopo (Explícito)
145
+ Esta story NÃO inclui:
146
+ - [Item 1 fora do escopo]
147
+ - [Item 2 fora do escopo]
148
+
149
+ ## Dependências
150
+ - Depende de: [STORY-XXX se houver | "nenhuma"]
151
+ - Bloqueada por: ["nenhum bloqueador" | descrição]
152
+
153
+ ## Notas Técnicas
154
+ [Extraídas do SPEC-TECNICO — orientações de implementação relevantes]
155
+ - Arquivos/módulos afetados: [lista]
156
+ - Padrões a seguir: [referência ao SPEC-TECNICO]
157
+ - APIs envolvidas: [se houver]
158
+
159
+ ## Definition of Done
160
+ - [ ] Código implementado e funcionando localmente
161
+ - [ ] Testes unitários escritos (coverage >= 80%)
162
+ - [ ] Lint e typecheck passando sem erros
163
+ - [ ] QA aprovado por @qa (todos os ACs verificados)
164
+ - [ ] Code review aprovado por @reviewer
165
+ - [ ] PR criado por @devops
166
+ - [ ] @po confirmou que a story atende aos critérios de negócio
167
+ ```
168
+
169
+ ---
170
+
171
+ ## Critérios de Saída
172
+
173
+ A task criar-story está concluída quando:
174
+
175
+ - [ ] Arquivo `docs/stories/STORY-XXX.md` criado com template completo
176
+ - [ ] User Story no formato correto
177
+ - [ ] Mínimo 3 ACs mensuráveis e testáveis
178
+ - [ ] Não-escopo documentado
179
+ - [ ] Estimativa definida (P/M/G/XG)
180
+ - [ ] Status: Draft
181
+ - [ ] @po acionado para validação
182
+
183
+ ---
184
+
185
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
@@ -0,0 +1,230 @@
1
+ # Task: Debug Sistemático
2
+
3
+ > Processo estruturado para investigar e resolver bugs complexos.
4
+ > Aplicável por @dev (com suporte de @architect quando necessário).
5
+
6
+ ---
7
+
8
+ ## Objetivo
9
+
10
+ Resolver bugs de forma sistemática e documentada, evitando soluções por tentativa e erro que geram mais problemas do que resolvem. Um bug resolvido sem ser compreendido é um bug que vai voltar.
11
+
12
+ ---
13
+
14
+ ## Quando Usar Esta Task
15
+
16
+ - Bug reportado por @qa com severidade CRÍTICO ou ALTO
17
+ - Bug intermitente que não reproduz de forma consistente
18
+ - Bug de performance ou memory leak
19
+ - Erro em produção que precisa de investigação rápida
20
+ - Bug cuja causa raiz não é óbvia na primeira análise
21
+
22
+ ---
23
+
24
+ ## Passos de Execução
25
+
26
+ ### Passo 1 — Leitura do Bug Report
27
+
28
+ Antes de tocar no código:
29
+
30
+ 1. Leia o bug report completo de @qa
31
+ 2. Confirme que você consegue reproduzir o bug com os passos fornecidos
32
+ 3. Se não conseguir reproduzir: notifique @qa imediatamente com evidência (screenshot, log)
33
+ 4. **Reprodução é obrigatória antes de começar a debugar**
34
+
35
+ ### Passo 2 — Hipótese Antes de Código
36
+
37
+ Antes de abrir qualquer arquivo:
38
+
39
+ 1. Baseado na descrição do bug, qual é a sua hipótese inicial sobre a causa?
40
+ 2. Anote a hipótese (não pule este passo — ajuda a manter o foco)
41
+ 3. Liste os locais do código mais prováveis onde o problema pode estar
42
+ 4. Estime: este bug é de lógica, de dados, de timing, de estado, de integração?
43
+
44
+ **Tipos comuns de bug:**
45
+ - **Lógica:** condição incorreta, comparação errada, operação matemática errada
46
+ - **Estado:** estado React não atualizado, variável mutada incorretamente
47
+ - **Assincronismo:** race condition, Promise não awaited, callback timing
48
+ - **Integração:** API retornando formato inesperado, erro de rede não tratado
49
+ - **Dados:** null/undefined não tratado, tipo de dado incorreto
50
+ - **Ambiente:** variável de ambiente não configurada, versão de dependência diferente
51
+
52
+ ### Passo 3 — Isolamento
53
+
54
+ 1. **Reduza o problema ao mínimo reproduzível:**
55
+ - Existe um teste unitário que reproduz o bug? (crie um se não houver)
56
+ - Você consegue remover partes do código e ainda reproduzir?
57
+ - O bug ocorre com dados específicos? Quais?
58
+
59
+ 2. **Delimite a área suspeita:**
60
+ - Adicione logs estratégicos para entender o fluxo de execução
61
+ - Verifique os valores das variáveis no momento do bug
62
+ - Use o debugger (breakpoints) se disponível
63
+
64
+ ```bash
65
+ # Exemplo de log estratégico (temporário, remover após debug)
66
+ console.log('[DEBUG STORY-XXX]', { variavel, estado, resultado })
67
+ ```
68
+
69
+ ### Passo 4 — Investigação com Ferramentas
70
+
71
+ **Para bugs de runtime:**
72
+ ```bash
73
+ # Execute com mais verbosidade
74
+ NODE_DEBUG=http npm run dev
75
+
76
+ # Verifique os logs do servidor
77
+ npm run dev 2>&1 | grep ERROR
78
+
79
+ # Execute testes específicos em modo verbose
80
+ npm run test -- --verbose NomeDoTeste
81
+ ```
82
+
83
+ **Para bugs de TypeScript:**
84
+ ```bash
85
+ npm run typecheck -- --listFiles
86
+ npm run typecheck 2>&1 | grep -A5 "error TS"
87
+ ```
88
+
89
+ **Para bugs de performance:**
90
+ - React DevTools Profiler para re-renders desnecessários
91
+ - Network tab para requests lentos
92
+ - Memory tab para memory leaks
93
+
94
+ **Para bugs de integração:**
95
+ - Verifique o contrato da API com a documentação
96
+ - Log do request e response completos (sem dados sensíveis nos logs de prod)
97
+ - Verifique se o ambiente correto está sendo usado
98
+
99
+ ### Passo 5 — Causa Raiz
100
+
101
+ Após a investigação:
102
+
103
+ 1. Documente a causa raiz identificada:
104
+ ```
105
+ Causa raiz: [descrição técnica precisa]
106
+ Arquivo: src/[caminho]/arquivo.ts linha XX
107
+ Por que ocorre: [explicação do mecanismo do bug]
108
+ ```
109
+
110
+ 2. Valide a causa raiz:
111
+ - Se você corrigir isso, o bug vai sumir?
112
+ - Há outros lugares no código com o mesmo problema?
113
+ - Esta causa raiz explica todos os sintomas relatados?
114
+
115
+ ### Passo 6 — Solução Planejada
116
+
117
+ Antes de escrever qualquer código de correção:
118
+
119
+ 1. Defina a solução:
120
+ - O que exatamente vai ser mudado?
121
+ - A mudança tem efeitos colaterais em outros lugares?
122
+ - Há uma solução mais simples que resolve o problema?
123
+
124
+ 2. Verifique se a solução está dentro do escopo:
125
+ - Esta correção está dentro do que foi especificado no SPEC-TECNICO?
126
+ - Se for uma solução arquitetural maior: consultar @architect ANTES
127
+ - Se mudança de comportamento esperado: consultar @po ANTES
128
+
129
+ ### Passo 7 — Implementação da Correção
130
+
131
+ 1. Crie ou use o branch da story associada
132
+ 2. Implemente a correção mínima necessária (não aproveite para "melhorar outras coisas")
133
+ 3. Remova todos os logs de debug temporários
134
+ 4. Escreva ou atualize o teste que reproduzia o bug (agora deve passar)
135
+ 5. Execute a suite completa de testes:
136
+ ```bash
137
+ npm run lint && npm run typecheck && npm run test
138
+ ```
139
+ 6. Verifique que o bug original não reproduz mais
140
+
141
+ ### Passo 8 — Commit da Correção
142
+
143
+ ```bash
144
+ git add [arquivos modificados]
145
+ git commit -m "fix(escopo): corrigir [descrição do bug]
146
+
147
+ Causa raiz: [breve descrição]
148
+ Solução: [breve descrição da correção]
149
+
150
+ Bug: BUG-QA-XXX
151
+ Story: STORY-XXX
152
+ Co-Authored-By: GEN.IA OS <genia@bedata.com.br>"
153
+ ```
154
+
155
+ ### Passo 9 — Documentação e Comunicação
156
+
157
+ 1. Atualize o bug report com:
158
+ - Causa raiz identificada
159
+ - Solução implementada
160
+ - Arquivos modificados
161
+ - Status: Resolvido
162
+
163
+ 2. Notifique @qa para re-verificar:
164
+ - Bug resolvido
165
+ - Como verificar que a correção funciona
166
+ - Se há outros cenários relacionados para testar
167
+
168
+ ---
169
+
170
+ ## Quando Escalar para @architect
171
+
172
+ Escale imediatamente se:
173
+
174
+ - A causa raiz é um problema de arquitetura (não pode ser corrigido localmente)
175
+ - A correção requer mudança significativa na estrutura do sistema
176
+ - O bug está relacionado a segurança ou corrupção de dados
177
+ - Não há clareza sobre qual é a solução correta após 1h de investigação
178
+ - O bug afeta múltiplos módulos e a correção impacta contratos de API
179
+
180
+ **Ao escalar:**
181
+ ```
182
+ @architect — encontrei bug complexo em STORY-XXX
183
+
184
+ Descrição do bug: [...]
185
+ Causa raiz suspeita: [...]
186
+ O que já investiguei: [...]
187
+ Por que estou escalando: [...]
188
+ Qual decisão preciso de você: [...]
189
+ ```
190
+
191
+ ---
192
+
193
+ ## Registro de Bug Para Aprendizado
194
+
195
+ Bugs complexos devem ser documentados para o time:
196
+
197
+ ```markdown
198
+ ## Post-Mortem — BUG-XXX — [Título]
199
+ Data: YYYY-MM-DD | Investigado por: @dev
200
+
201
+ ### Sintoma
202
+ [Como o bug se manifestava]
203
+
204
+ ### Causa Raiz
205
+ [O que causava o bug]
206
+
207
+ ### Solução Implementada
208
+ [Como foi corrigido]
209
+
210
+ ### Como Prevenir No Futuro
211
+ [Mudança de processo, teste adicional, ou documentação]
212
+ ```
213
+
214
+ ---
215
+
216
+ ## Critérios de Saída
217
+
218
+ O debug sistemático está concluído quando:
219
+
220
+ - [ ] Bug reproduzido e documentado
221
+ - [ ] Causa raiz identificada e documentada
222
+ - [ ] Correção implementada e commitada
223
+ - [ ] Testes passando (incluindo teste do cenário do bug)
224
+ - [ ] Logs de debug removidos
225
+ - [ ] @qa notificado para re-verificar
226
+ - [ ] Bug report atualizado com causa raiz e solução
227
+
228
+ ---
229
+
230
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*
@@ -0,0 +1,199 @@
1
+ # Task: Dev — Implementar Story
2
+
3
+ > Tarefa executada por @dev. Transforma uma story validada em código funcional.
4
+ > Pré-requisito: story com status Ready (aprovada por @po).
5
+
6
+ ---
7
+
8
+ ## Objetivo
9
+
10
+ Implementar o código necessário para satisfazer todos os Acceptance Criteria da story, seguindo os padrões arquiteturais definidos no SPEC-TECNICO.md. Entregar código limpo, testado e commitado localmente, pronto para revisão de @qa.
11
+
12
+ ---
13
+
14
+ ## Pré-requisitos
15
+
16
+ Antes de iniciar, confirme:
17
+
18
+ - [ ] Story tem status `Ready` (aprovada por @po)
19
+ - [ ] SPEC-TECNICO.md lido e compreendido
20
+ - [ ] Branch `main` local está atualizado (`git pull`)
21
+ - [ ] Ambiente de desenvolvimento funcionando (dependências instaladas, env vars configuradas)
22
+ - [ ] Clareza sobre todos os Acceptance Criteria (se houver dúvida, consultar @po ANTES de começar)
23
+
24
+ ---
25
+
26
+ ## Passos de Execução
27
+
28
+ ### Passo 1 — Leitura e Preparação
29
+ 1. Leia a story completa: User Story, contexto, todos os ACs, não-escopo
30
+ 2. Leia as seções relevantes do SPEC-TECNICO.md
31
+ 3. Identifique todos os arquivos que precisarão ser criados ou modificados
32
+ 4. Se houver qualquer dúvida sobre o comportamento esperado: perguntar para @po AGORA (não depois de implementar errado)
33
+ 5. Estime internamente o tempo necessário e comunique para @sm se houver risco de não entregar no sprint
34
+
35
+ ### Passo 2 — Criar Branch
36
+ ```bash
37
+ git checkout main
38
+ git pull origin main
39
+ git checkout -b feat/STORY-XXX-descricao-kebab-case
40
+ ```
41
+
42
+ Exemplos de nomes de branch:
43
+ - `feat/STORY-001-tela-de-login`
44
+ - `fix/STORY-015-corrigir-validacao-email`
45
+ - `refactor/STORY-022-extrair-servico-autenticacao`
46
+
47
+ ### Passo 3 — Planejamento da Implementação
48
+ Antes de escrever código, faça um planejamento mental ou escrito:
49
+ 1. Quais componentes/funções precisam ser criados?
50
+ 2. Quais precisam ser modificados?
51
+ 3. Há alguma dependência técnica (biblioteca nova, configuração)?
52
+ 4. Qual a ordem lógica de implementação?
53
+
54
+ ### Passo 4 — Implementação (TDD quando possível)
55
+ **Abordagem preferida (TDD):**
56
+ 1. Escreva o teste primeiro (descreve o comportamento esperado)
57
+ 2. Execute o teste — deve falhar (red)
58
+ 3. Implemente o código mínimo para o teste passar (green)
59
+ 4. Refatore o código mantendo os testes passando (refactor)
60
+
61
+ **Abordagem alternativa (test-after):**
62
+ 1. Implemente a funcionalidade
63
+ 2. Escreva os testes cobrindo os cenários
64
+ 3. Garanta que os testes passam
65
+
66
+ **Regras de implementação:**
67
+ - Imports sempre absolutos com `@/` (nunca `../../../`)
68
+ - Tipagem TypeScript estrita (sem `any` sem justificativa)
69
+ - Funções com responsabilidade única (max 30 linhas como guia)
70
+ - Nomes descritivos (variáveis, funções, componentes)
71
+ - Comentários explicam o "por quê", não o "o quê"
72
+ - Nunca hardcodar values que deveriam ser variáveis de ambiente
73
+
74
+ ### Passo 5 — Testes
75
+
76
+ Execute após cada unidade coesa de código:
77
+
78
+ ```bash
79
+ # Lint (zero tolerância a erros)
80
+ npm run lint
81
+
82
+ # TypeScript (zero erros)
83
+ npm run typecheck
84
+
85
+ # Testes unitários
86
+ npm run test
87
+
88
+ # Cobertura
89
+ npm run coverage
90
+ ```
91
+
92
+ **Meta de cobertura:** >= 80% nas linhas modificadas/criadas
93
+
94
+ O que testar:
95
+ - Happy path de cada AC
96
+ - Edge cases (valores nulos, strings vazias, arrays vazios)
97
+ - Cenários de erro (exceções esperadas)
98
+ - Comportamento com dados inválidos
99
+
100
+ O que NÃO testar (não agrega valor):
101
+ - Implementações de terceiros (não testa o que o React faz)
102
+ - Trivialidades óbvias (getters/setters simples sem lógica)
103
+
104
+ ### Passo 6 — Self-Review (Antes do Commit Final)
105
+
106
+ Leia seu próprio código como se fosse o @reviewer:
107
+
108
+ - [ ] O código implementa EXATAMENTE os ACs? (nem mais, nem menos)
109
+ - [ ] Imports absolutos com `@/` em todos os arquivos novos?
110
+ - [ ] Sem `any` sem justificativa no TypeScript?
111
+ - [ ] Sem `console.log` de debug esquecidos?
112
+ - [ ] Sem `.env` ou secrets hardcodados?
113
+ - [ ] Sem código comentado desnecessário?
114
+ - [ ] Funções com responsabilidade única?
115
+ - [ ] Testes com cobertura >= 80%?
116
+ - [ ] Lint sem warnings?
117
+
118
+ ### Passo 7 — Commits Atômicos
119
+
120
+ Commite em unidades coesas — cada commit deve descrever uma mudança em uma frase:
121
+
122
+ ```bash
123
+ git add src/components/Auth/LoginForm.tsx
124
+ git add src/components/Auth/LoginForm.test.tsx
125
+ git commit -m "feat(auth): implementar formulário de login com validação
126
+
127
+ Implementa o formulário de login da STORY-001 com:
128
+ - Campos de email e senha com validação client-side
129
+ - Estado de loading durante autenticação
130
+ - Exibição de erros da API
131
+
132
+ Story: STORY-001
133
+ Co-Authored-By: GEN.IA OS <genia@bedata.com.br>"
134
+ ```
135
+
136
+ Tipos de commit:
137
+ - `feat` — nova funcionalidade
138
+ - `fix` — correção de bug
139
+ - `refactor` — refatoração sem mudança de comportamento
140
+ - `test` — adição ou correção de testes
141
+ - `docs` — documentação inline
142
+
143
+ **NUNCA** fazer `git push` — exclusivo de @devops.
144
+
145
+ ### Passo 8 — Verificação Final
146
+
147
+ Antes de declarar pronto para @qa:
148
+
149
+ ```bash
150
+ # Garanta que tudo ainda passa com o conjunto completo
151
+ npm run lint && npm run typecheck && npm run test
152
+ ```
153
+
154
+ - [ ] Todos os ACs foram implementados?
155
+ - [ ] Todos os testes passando?
156
+ - [ ] Cobertura >= 80%?
157
+ - [ ] Lint e typecheck limpos?
158
+ - [ ] Não-escopo da story foi respeitado? (não implementou nada além do escopo)
159
+
160
+ ### Passo 9 — Comunicar para @qa
161
+
162
+ 1. Atualize o status da story para `InQA` no arquivo `docs/stories/STORY-XXX.md`
163
+ 2. Notifique @qa que o código está pronto para revisão
164
+ 3. Informe:
165
+ - Story ID e branch name
166
+ - Quais ACs foram implementados
167
+ - Qualquer ponto de atenção que @qa deve saber
168
+
169
+ ---
170
+
171
+ ## Gestão de Blockers
172
+
173
+ Se encontrar um blocker durante a implementação:
174
+
175
+ 1. **Blocker técnico de arquitetura** → consultar @architect
176
+ 2. **Dúvida sobre requisito/AC** → consultar @po
177
+ 3. **Dependência de outra story** → comunicar @sm
178
+ 4. **Blocker de ambiente/ferramenta** → comunicar @devops
179
+
180
+ Nunca inventar uma solução para um blocker sem validação — isso é violação do Artigo IV.
181
+
182
+ ---
183
+
184
+ ## Critérios de Saída
185
+
186
+ A implementação está pronta para @qa quando:
187
+
188
+ - [ ] Todos os ACs da story implementados
189
+ - [ ] Testes unitários com coverage >= 80%
190
+ - [ ] `npm run lint` — zero erros ou warnings
191
+ - [ ] `npm run typecheck` — zero erros
192
+ - [ ] `npm run test` — todos passando
193
+ - [ ] Código commitado localmente no branch correto
194
+ - [ ] Status da story atualizado para InQA
195
+ - [ ] @qa notificado com contexto
196
+
197
+ ---
198
+
199
+ *GEN.IA OS v1.0 — {{TEAM_NAME}} — {{CREATOR_NAME}}*