create-genia-os 2.1.0 → 2.2.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 (89) hide show
  1. package/README.md +154 -106
  2. package/bin/index.js +240 -240
  3. package/package.json +42 -37
  4. package/template/.claude/CLAUDE.md +215 -215
  5. package/template/.claude/agent-memory/analyst/MEMORY.md +20 -20
  6. package/template/.claude/agent-memory/architect/MEMORY.md +20 -20
  7. package/template/.claude/agent-memory/dev/MEMORY.md +20 -20
  8. package/template/.claude/agent-memory/devops/MEMORY.md +20 -20
  9. package/template/.claude/agent-memory/pm/MEMORY.md +20 -20
  10. package/template/.claude/agent-memory/po/MEMORY.md +20 -20
  11. package/template/.claude/agent-memory/qa/MEMORY.md +20 -20
  12. package/template/.claude/agent-memory/reviewer/MEMORY.md +20 -20
  13. package/template/.claude/agent-memory/sm/MEMORY.md +20 -20
  14. package/template/.claude/hooks/enforce-git-push-authority.py +70 -70
  15. package/template/.claude/hooks/metrics-tracker.cjs +65 -0
  16. package/template/.claude/hooks/precompact-session-digest.cjs +87 -87
  17. package/template/.claude/hooks/sql-governance.py +65 -65
  18. package/template/.claude/hooks/synapse-engine.cjs +122 -122
  19. package/template/.claude/hooks/write-path-validation.py +59 -59
  20. package/template/.claude/rules/agent-authority.md +39 -39
  21. package/template/.claude/rules/agent-handoff.md +71 -71
  22. package/template/.claude/rules/agent-memory.md +61 -61
  23. package/template/.claude/rules/ids-principles.md +52 -52
  24. package/template/.claude/rules/mcp-usage.md +49 -49
  25. package/template/.claude/rules/new-project.md +157 -0
  26. package/template/.claude/rules/story-lifecycle.md +87 -87
  27. package/template/.claude/rules/workflow-execution.md +68 -68
  28. package/template/.claude/settings.json +58 -58
  29. package/template/.claude/settings.local.json +14 -14
  30. package/template/.genia/CONSTITUTION.md +129 -129
  31. package/template/.genia/contexts/api-patterns.md +134 -134
  32. package/template/.genia/contexts/nextjs-react.md +210 -210
  33. package/template/.genia/contexts/projeto.md +18 -18
  34. package/template/.genia/contexts/supabase.md +152 -152
  35. package/template/.genia/contexts/whatsapp-cloud.md +176 -176
  36. package/template/.genia/core-config.yaml +192 -192
  37. package/template/.genia/development/agents/analyst.md +138 -138
  38. package/template/.genia/development/agents/architect.md +171 -171
  39. package/template/.genia/development/agents/dev.md +160 -160
  40. package/template/.genia/development/agents/devops.md +200 -200
  41. package/template/.genia/development/agents/pm.md +142 -142
  42. package/template/.genia/development/agents/po.md +165 -165
  43. package/template/.genia/development/agents/qa.md +183 -183
  44. package/template/.genia/development/agents/reviewer.md +198 -198
  45. package/template/.genia/development/agents/sm.md +230 -230
  46. package/template/.genia/development/checklists/architecture-review.md +189 -189
  47. package/template/.genia/development/checklists/pre-commit.md +205 -205
  48. package/template/.genia/development/checklists/pre-deploy.md +230 -230
  49. package/template/.genia/development/checklists/qa-gate.md +216 -216
  50. package/template/.genia/development/checklists/story-dod.md +155 -155
  51. package/template/.genia/development/tasks/code-review.md +197 -197
  52. package/template/.genia/development/tasks/criar-prd.md +170 -170
  53. package/template/.genia/development/tasks/criar-spec.md +188 -188
  54. package/template/.genia/development/tasks/criar-story.md +185 -185
  55. package/template/.genia/development/tasks/debug-sistematico.md +230 -230
  56. package/template/.genia/development/tasks/dev-implement.md +199 -199
  57. package/template/.genia/development/tasks/qa-review.md +224 -224
  58. package/template/.genia/development/workflows/brownfield.md +178 -178
  59. package/template/.genia/development/workflows/delivery.md +208 -208
  60. package/template/.genia/development/workflows/development.md +189 -189
  61. package/template/.genia/development/workflows/greenfield.md +166 -166
  62. package/template/.genia/development/workflows/planning.md +167 -167
  63. package/template/.genia/development/workflows/qa-loop.md +179 -179
  64. package/template/.genia/development/workflows/spec-pipeline.md +192 -192
  65. package/template/.genia/development/workflows/story-development-cycle.md +252 -252
  66. package/template/.genia/guidelines/clean-code.md +98 -98
  67. package/template/.genia/guidelines/testing.md +176 -176
  68. package/template/.genia/skills/design/canvas-design.md +109 -109
  69. package/template/.genia/skills/design/frontend-design.md +140 -140
  70. package/template/.genia/skills/dev/mcp-builder.md +172 -172
  71. package/template/.genia/skills/dev/webapp-testing.md +150 -150
  72. package/template/.genia/skills/documents/docx.md +153 -153
  73. package/template/.genia/skills/documents/pdf.md +134 -134
  74. package/template/.genia/skills/documents/pptx.md +118 -118
  75. package/template/.genia/skills/documents/xlsx.md +140 -140
  76. package/template/.synapse/agent-analyst +8 -8
  77. package/template/.synapse/agent-architect +8 -8
  78. package/template/.synapse/agent-dev +8 -8
  79. package/template/.synapse/agent-devops +8 -8
  80. package/template/.synapse/agent-pm +8 -8
  81. package/template/.synapse/agent-po +7 -7
  82. package/template/.synapse/agent-qa +8 -8
  83. package/template/.synapse/agent-reviewer +7 -7
  84. package/template/.synapse/agent-sm +7 -7
  85. package/template/.synapse/constitution +7 -7
  86. package/template/.synapse/context +8 -8
  87. package/template/.synapse/global +8 -8
  88. package/template/.synapse/manifest +14 -14
  89. package/template/README.md +53 -53
@@ -1,199 +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}}*
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}}*