adi_dev_workflow 1.0.0 → 1.1.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 (130) hide show
  1. package/bin/index.js +0 -0
  2. package/frameworks/commands/generate-project-profile.md +68 -0
  3. package/frameworks/commands/generate-prompt.md +4 -2
  4. package/frameworks/commands/ministack/README.md +61 -46
  5. package/frameworks/commands/ministack/code-review.md +36 -49
  6. package/frameworks/commands/ministack/generate-intent.md +25 -2
  7. package/frameworks/commands/ministack/generate-scope.md +30 -6
  8. package/frameworks/commands/ministack/generate-tasks.md +191 -6
  9. package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
  10. package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
  11. package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
  12. package/frameworks/commands/ministack/status.md +153 -0
  13. package/frameworks/commands/sdd/code-review.md +10 -10
  14. package/frameworks/commands/sdd/generate-prd.md +32 -2
  15. package/frameworks/commands/sdd/generate-task-plan.md +199 -5
  16. package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
  17. package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
  18. package/frameworks/commands/sdd/generate-tests.md +2 -2
  19. package/frameworks/commands/sdd/run_tasks.md +391 -43
  20. package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
  21. package/frameworks/commands/sdd/status.md +160 -0
  22. package/frameworks/commands/sdd/validate-sdd.md +18 -2
  23. package/frameworks/commands/sync-tasks-to-linear.md +588 -588
  24. package/frameworks/commands/taskcard/generate-taskcard.md +42 -25
  25. package/frameworks/commands/taskcard/run-taskcard.md +203 -34
  26. package/frameworks/skills/ministack-intent-expert/SKILL.md +3 -2
  27. package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
  28. package/frameworks/skills/ministack-scope-expert/SKILL.md +6 -10
  29. package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
  30. package/frameworks/skills/ministack-tasks-expert/SKILL.md +192 -0
  31. package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
  32. package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
  33. package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +218 -0
  34. package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
  35. package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
  36. package/frameworks/skills/sdd-prd-expert/SKILL.md +143 -95
  37. package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
  38. package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
  39. package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
  40. package/frameworks/skills/sdd-task-plan-expert/SKILL.md +179 -201
  41. package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
  42. package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
  43. package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
  44. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
  45. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
  46. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
  47. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
  48. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
  49. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
  50. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
  51. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
  52. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
  53. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
  54. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
  55. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
  56. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
  57. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
  58. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
  59. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
  60. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
  61. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
  62. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
  63. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
  64. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
  65. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  66. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
  67. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
  68. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
  69. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  70. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
  71. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
  72. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
  73. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
  74. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
  75. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
  76. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
  77. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
  78. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
  79. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
  80. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
  81. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
  82. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
  83. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
  84. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
  85. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
  86. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
  87. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
  88. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
  89. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
  90. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
  91. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
  92. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
  93. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
  94. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
  95. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
  96. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
  97. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
  98. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
  99. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
  100. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
  101. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
  102. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
  103. package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
  104. package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +223 -0
  105. package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
  106. package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
  107. package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +304 -0
  108. package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
  109. package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
  110. package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
  111. package/frameworks/skills/taskcard-expert/SKILL.md +26 -78
  112. package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
  113. package/package.json +1 -1
  114. package/frameworks/commands/ministack/generate-tests.md +0 -37
  115. package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
  116. package/frameworks/commands/taskcard/generate-tests.md +0 -37
  117. package/frameworks/skills/ministack-expert/SKILL.md +0 -415
  118. package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
  119. package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
  120. package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
  121. package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
  122. package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
  123. package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
  124. package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
  125. package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
  126. package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
  127. package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
  128. package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
  129. package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
  130. package/frameworks/templates/prompt_template.md +0 -164
@@ -1,246 +0,0 @@
1
- # SPEC_TECH -- Especificacao Tecnica
2
-
3
- ## 1. Identificacao
4
- - **Feature/Projeto**:
5
- - **Autor**:
6
- - **Data**:
7
- - **Versao**:
8
- - **Status**: Draft | Refinando | Aprovado
9
- - **PRD Relacionado**:
10
-
11
- ---
12
-
13
- ## 2. Resumo Tecnico da Solucao
14
-
15
- (Visao geral do COMO sera implementado. Descreva em 3-5 linhas a abordagem tecnica escolhida, as principais decisoes arquiteturais e o resultado tecnico esperado.)
16
-
17
- ---
18
-
19
- ## 3. Arquitetura da Solucao
20
-
21
- ### 3.1 Visao Geral
22
- (Diagrama ou descricao da arquitetura geral da solucao. Como os componentes se conectam.)
23
-
24
- ### 3.2 Componentes/Modulos
25
- (Lista de componentes envolvidos com descricao da responsabilidade de cada um.)
26
-
27
- | Componente | Responsabilidade | Camada |
28
- |------------|-----------------|--------|
29
- | | | |
30
-
31
- ### 3.3 Interacoes entre componentes
32
- (Descreva como os componentes se comunicam. Fluxo de dados entre camadas.)
33
-
34
- ---
35
-
36
- ## 4. Estruturas de Dados
37
-
38
- ### 4.1 Models / DTOs
39
- (Structs, tipos e modelos de dominio que serao criados ou modificados.)
40
-
41
- ### 4.2 Entidades de Banco de Dados
42
- (Tabelas, colunas, indices, constraints. Inclua SQL de migracoes quando aplicavel.)
43
-
44
- ### 4.3 Schemas adicionais
45
- (Protocol Buffers, mensagens gRPC, schemas de validacao ou outros formatos de dados.)
46
-
47
- ---
48
-
49
- ## 5. Regras Tecnicas de Negocio
50
-
51
- (Implementacao tecnica das regras definidas no PRD. Cada regra do PRD deve ter uma definicao tecnica correspondente.)
52
-
53
- ### 5.1 Mapeamento de User Stories para Definicoes Tecnicas
54
-
55
- | User Story (PRD) | Definicao Tecnica | Componentes Envolvidos |
56
- |------------------|-------------------|----------------------|
57
- | US-01 | | |
58
- | US-02 | | |
59
-
60
- > Cada user story do PRD deve ter pelo menos uma definicao tecnica correspondente.
61
- > Isso garante rastreabilidade completa entre o PRD e a especificacao tecnica.
62
-
63
- ---
64
-
65
- ## 6. Fluxos Tecnicos
66
-
67
- ### 6.1 Fluxo Principal (tecnico)
68
- (Sequencia de chamadas, processamento e respostas do fluxo principal. Descreva camada por camada.)
69
-
70
- ### 6.2 Fluxos Alternativos
71
- (Variacoes do fluxo principal: dados opcionais, caminhos condicionais, etc.)
72
-
73
- ### 6.3 Tratamento de Erros
74
- (Como erros serao tratados em cada camada. Mapeamento de erros de negocio para codigos de status.)
75
-
76
- | Erro de Negocio | Codigo de Status | Mensagem | Camada de Origem |
77
- |----------------|-----------------|----------|-----------------|
78
- | | | | |
79
-
80
- ---
81
-
82
- ## 7. APIs / Endpoints
83
-
84
- ### 7.1 Endpoints Backend
85
-
86
- | Acao | Metodo | Rota | Payload | Resposta Esperada |
87
- |------|--------|------|---------|-------------------|
88
- | | | | | |
89
-
90
- ### 7.2 Erros e Codigos de Status
91
-
92
- | Codigo | Situacao | Mensagem |
93
- |--------|----------|----------|
94
- | | | |
95
-
96
- ---
97
-
98
- ## 8. Frontend / Mobile
99
-
100
- ### 8.1 Telas
101
- (Telas envolvidas, layouts e componentes visuais.)
102
-
103
- ### 8.2 Estados e Gerencia de Estado
104
- (Gerenciamento de estado: loading, success, error, empty. Solucao de state management.)
105
-
106
- ### 8.3 Navegacao
107
- (Fluxo de navegacao entre telas. Rotas e parametros.)
108
-
109
- ### 8.4 Validacoes
110
- (Validacoes de formulario, campos obrigatorios, mascaras, limites.)
111
-
112
- ### 8.5 Comportamentos especificos
113
- (Animacoes, transicoes, comportamentos offline, responsividade.)
114
-
115
- ---
116
-
117
- ## 9. Banco Local / Cache
118
-
119
- ### 9.1 Estrutura de Tabelas
120
- (Tabelas locais, colunas, tipos. Diferentes do banco remoto se aplicavel.)
121
-
122
- ### 9.2 Estrategia de Sincronizacao
123
- (Como dados locais sincronizam com o backend. Conflitos, prioridade, frequencia.)
124
-
125
- ### 9.3 Estrategia de Versionamento
126
- (Como lidar com mudancas de schema local. Migracoes locais, rollback.)
127
-
128
- ---
129
-
130
- ## 10. Dependencias Tecnicas
131
-
132
- | Tipo | Nome | Versao | Motivo |
133
- |------|------|--------|--------|
134
- | Pacote | | | |
135
- | Biblioteca | | | |
136
- | Ferramenta | | | |
137
- | SDK | | | |
138
-
139
- ---
140
-
141
- ## 11. Requisitos Nao Funcionais (COMO serao atendidos)
142
-
143
- ### Seguranca
144
- (Autenticacao, autorizacao, criptografia, validacao de input, sanitizacao.)
145
-
146
- ### Performance
147
- (Metas de tempo de resposta, paginacao, indices, cache, otimizacoes.)
148
-
149
- ### Escalabilidade
150
- (Limites conhecidos, estrategia de crescimento, gargalos potenciais.)
151
-
152
- ### Observabilidade
153
- (Logs estruturados, metricas, alertas, tracing distribuido.)
154
-
155
- ### Resiliencia
156
- (Tratamento de falhas, retry, circuit breaker, graceful degradation.)
157
-
158
- ---
159
-
160
- ## 12. Criterios Tecnicos de Aceite
161
-
162
- - [ ] Implementacao cobre todas as regras do PRD
163
- - [ ] Estruturas de dados criadas e funcionais
164
- - [ ] Fluxos tecnicos implementados e testados
165
- - [ ] API funcionando conforme especificado
166
- - [ ] Erros tratados em todas as camadas
167
- - [ ] Logs/monitoramento implementados
168
- - [ ] Validacoes aplicadas (input, negocio, dados)
169
- - [ ] Codigo segue padroes e convencoes do projeto
170
-
171
- ---
172
-
173
- ## 13. Riscos Tecnicos
174
-
175
- | Risco | Probabilidade | Impacto | Mitigacao |
176
- |-------|--------------|---------|-----------|
177
- | | | | |
178
-
179
- ---
180
-
181
- ## 14. Estrategia de Testes
182
-
183
- ### 14.1 Testes Unitarios
184
- - **Quais unidades devem ser testadas**: (services, funcoes de negocio, helpers)
185
- - **Mocks necessarios**: (interfaces a mockar, bibliotecas de mock)
186
- - **Cenarios de sucesso**: (caminho feliz, dados validos)
187
- - **Cenarios de erro**: (validacao, not found, conflito, dados invalidos)
188
-
189
- ### 14.2 Testes de Integracao
190
- - **Quais integracoes devem ser testadas**: (repository + banco, service + repository)
191
- - **Setup necessario**: (banco de teste, fixtures, seeds)
192
- - **Cenarios de integracao**: (CRUD completo, queries complexas, transacoes)
193
-
194
- ### 14.3 Testes End-to-End (E2E)
195
- - **Fluxos completos a serem testados**: (criar -> consultar -> atualizar -> deletar)
196
- - **Setup de ambiente**: (servidor de teste, banco limpo, dados de teste)
197
- - **Cenarios de aceitacao automatizados**: (fluxos criticos do PRD)
198
-
199
- ### 14.4 Casos de Erro
200
- - **Cenarios de falha esperados**: (timeout, dados duplicados, recurso inexistente)
201
- - **Comportamento esperado em cada falha**: (codigo de status, mensagem, log)
202
-
203
- ---
204
-
205
- ## 15. Arquivos Envolvidos e Acoes
206
-
207
- ### 15.1 Arquivos a Criar
208
-
209
- | Arquivo | Descricao | Camada |
210
- |---------|-----------|--------|
211
- | | | |
212
-
213
- ### 15.2 Arquivos a Modificar
214
-
215
- | Arquivo | Modificacao | Motivo |
216
- |---------|------------|--------|
217
- | | | |
218
-
219
- ### 15.3 Arquivos de Referencia (somente leitura)
220
-
221
- | Arquivo | Motivo da Consulta |
222
- |---------|-------------------|
223
- | | |
224
-
225
- > Esta secao economiza tokens e scans durante a implementacao, pois lista exatamente quais arquivos serao impactados.
226
-
227
- ---
228
-
229
- ## 16. Checklist Final
230
-
231
- - [ ] SPEC_TECH cobre todo o PRD
232
- - [ ] Resumo tecnico claro e objetivo (secao 2)
233
- - [ ] Arquitetura definida com componentes e interacoes (secao 3)
234
- - [ ] Estruturas de dados definidas (secao 4)
235
- - [ ] User Stories mapeadas para definicoes tecnicas (secao 5.1)
236
- - [ ] Fluxos tecnicos descritos com tratamento de erros (secao 6)
237
- - [ ] Endpoints mapeados com payloads e respostas (secao 7)
238
- - [ ] Telas e fluxos de frontend/mobile definidos (secao 8)
239
- - [ ] Banco local/cache especificado se aplicavel (secao 9)
240
- - [ ] Dependencias tecnicas listadas (secao 10)
241
- - [ ] Requisitos nao funcionais enderecados (secao 11)
242
- - [ ] Criterios tecnicos de aceite definidos (secao 12)
243
- - [ ] Riscos tecnicos identificados com mitigacoes (secao 13)
244
- - [ ] Estrategia de testes definida — unitario, integracao, e2e (secao 14)
245
- - [ ] Arquivos envolvidos listados — criar, modificar, referencia (secao 15)
246
- - [ ] Pronto para geracao das TASKS
@@ -1,23 +0,0 @@
1
- # TECH DIRECTION (Opcional)
2
-
3
- > Direcionamento tecnico inicial para a feature. Serve como ponto de partida para o SPEC_TECH, nao como decisao final.
4
- > O Arquiteto (spec-tech-expert) pode complementar, ajustar ou questionar qualquer item aqui.
5
-
6
- ## Decisoes tecnicas ja tomadas
7
- - (ex: Usar JWT com refresh token para autenticacao)
8
- - (ex: Criar gateway separado para integracao externa)
9
-
10
- ## Tecnologias/Libs sugeridas
11
- - (ex: biblioteca X para integracao com servico Y)
12
- - (ex: framework Z para testes)
13
-
14
- ## Padroes ou abordagens preferidas
15
- - (ex: Seguir o pattern Gateway ja usado no projeto)
16
- - (ex: Implementar como CQRS)
17
-
18
- ## Restricoes tecnicas
19
- - (ex: Precisa ser stateless para rodar em k8s)
20
- - (ex: Nao temos message broker disponivel)
21
-
22
- ## Observacoes
23
- - (qualquer contexto tecnico relevante que o arquiteto deve considerar)
@@ -1,265 +0,0 @@
1
- ---
2
- name: taskcard-qa-expert
3
- description: Especialista em QA e estrategia de testes do framework TaskCard. Use quando precisar gerar, validar ou enriquecer a secao 10 (Testes) de uma TaskCard com rigor de QA Senior / SDET.
4
- argument-hint: [caminho da TaskCard individual]
5
- ---
6
-
7
- Voce e um **QA Engineer Senior / SDET (Software Development Engineer in Test)** com 15+ anos de experiencia em testes de software, automacao de testes e qualidade.
8
-
9
- Voce domina completamente o framework TaskCard: template, regras, guardrails, convencoes de nomenclatura, estrutura de diretorios e fluxos de geracao. Seu foco e **EXCLUSIVAMENTE** em estrategia de testes, cenarios de teste, cobertura e qualidade — garantindo que toda TaskCard tenha testes robustos, especificos e executaveis.
10
-
11
- ---
12
-
13
- # Framework TaskCard — Especialista QA
14
-
15
- ## Visao Geral
16
-
17
- O QA Expert atua como suporte especializado dentro do framework TaskCard, sendo acionado para gerar/enriquecer a **secao 10 (Testes)** de uma TaskCard individual com rigor de QA Senior.
18
-
19
- ### Diferenca Chave: TaskCard vs SDD/miniStack
20
-
21
- TaskCard e uma **unidade atomica de trabalho** (1 task pequena). Diferente do SDD (PRD + SPEC_TECH = feature grande) e do miniStack (INTENT + SCOPE = feature media), o TaskCard **NAO precisa de estrategia completa de feature**. O QA Expert do TaskCard atua em um **unico modo**: enriquecer a secao 10 de uma TaskCard individual.
22
-
23
- ### Fluxo no TaskCard
24
-
25
- ```
26
- TaskCard (secoes 2-8 = contexto, secao 9 = aceite tecnico)
27
- |
28
- Secao 10 (Testes)
29
- |
30
- QA Expert
31
- ```
32
-
33
- O QA Expert responde: **COMO garantir que a implementacao desta task atomica esta correta, robusta e livre de regressoes?**
34
-
35
- ---
36
-
37
- ## Modo de Operacao: Enriquecer Secao 10 de uma TaskCard
38
-
39
- - **Input**: TaskCard individual (secoes 2-8 como contexto, secao 9 como criterios de aceite)
40
- - **Output**: Secao 10 completa e detalhada (10.1 a 10.6) usando o template oficial
41
- - **Quando usar**: Quando uma TaskCard precisa de analise aprofundada de testes, ou quando a secao 10 precisa ser enriquecida alem do basico
42
-
43
- ### Processo
44
-
45
- 1. **Ler a TaskCard completa**: extrair contexto (secao 2), objetivo (secao 3), escopo (secao 4), descricao de execucao (secao 5), guardrails (secao 6), passos (secao 7), arquivos envolvidos (secao 8) e aceite tecnico (secao 9)
46
- 2. **Executar Passo Zero**: detectar linguagem, framework e arquitetura do projeto
47
- 3. **Pesquisar padroes de teste do projeto** (ponto critico — ver secao abaixo)
48
- 4. **Identificar testes existentes a modificar** (secao 10.1): buscar nos arquivos impactados pela task
49
- 5. **Gerar testes a criar** (secao 10.2): checklist detalhado com cenario, input, expected, mock — por camada
50
- 6. **Gerar cenarios obrigatorios** (secao 10.3): unitarios, integracao, E2E expandidos
51
- 7. **Documentar padroes de teste** (secao 10.4): detectados no Passo Zero
52
- 8. **Gerar cenarios de erro** (secao 10.5): tabela dedicada com trigger, expected, codigo/status, log
53
- 9. **Gerar rastreabilidade** (secao 10.6): mapear cada criterio da secao 9 (Aceite Tecnico) para testes correspondentes
54
-
55
- ### Output
56
-
57
- Use o template oficial: [task_tests_template.md](templates/task_tests_template.md)
58
-
59
- O template contem todas as secoes obrigatorias (10.1 a 10.6). Todas as secoes devem ser preenchidas. Se uma secao nao se aplica, indique explicitamente "N/A — [justificativa]".
60
-
61
- **IMPORTANTE**: O output deve substituir a secao 10 inteira da TaskCard. Gere o conteudo formatado em markdown e atualize o arquivo da TaskCard diretamente.
62
-
63
- ---
64
-
65
- ## Responsabilidades Principais
66
-
67
- 1. **Analisar criterios de aceite** da secao 9 e mapear para testes (rastreabilidade obrigatoria)
68
- 2. **Analisar arquivos envolvidos** (secao 8) para entender o que sera criado/modificado/lido
69
- 3. **Definir testes unitarios** com mocks, cenarios de sucesso e cenarios de erro
70
- 4. **Definir testes de integracao** entre camadas com setup e teardown
71
- 5. **Definir testes E2E** quando a task completa um fluxo de ponta a ponta
72
- 6. **Mapear cenarios de erro** e edge cases de forma exaustiva
73
- 7. **Considerar boundary values**, negative testing, concorrencia e race conditions
74
- 8. **Respeitar padroes de teste do projeto** (buscar arquivos de teste usando o padrao detectado no Passo Zero)
75
- 9. **Garantir rastreabilidade** Aceite Tecnico (secao 9) -> testes correspondentes
76
-
77
- ---
78
-
79
- ## PASSO ZERO: Deteccao de Linguagem e Arquitetura
80
-
81
- **ANTES DE QUALQUER COISA**, voce DEVE identificar a stack tecnica do projeto:
82
-
83
- ### 1. Ler CLAUDE.md e rules do projeto
84
- - `CLAUDE.md` na raiz do projeto
85
- - `.claude/rules/` (todas as regras do Claude Code)
86
- - Qualquer arquivo de regras/convencoes existente
87
-
88
- ### 2. Detectar linguagem e framework
89
- A partir do CLAUDE.md, rules e exploracao do projeto, identifique:
90
-
91
- | O que detectar | Como descobrir | Exemplo |
92
- |---------------|----------------|---------|
93
- | **Linguagem** | `go.mod`, `package.json`, `pubspec.yaml`, `requirements.txt`, `Cargo.toml` | Go, TypeScript, Dart, Python, Rust |
94
- | **Framework backend** | Imports, estrutura de pastas, CLAUDE.md | gRPC, Express, FastAPI, Gin, Fiber |
95
- | **Framework frontend** | `pubspec.yaml`, `package.json`, componentes | Flutter, React, Vue, Angular |
96
- | **Banco de dados** | Migracoes, config, ORM | SQLite, PostgreSQL, MongoDB |
97
- | **ORM / Query builder** | Imports, arquivos gerados | SQLC, GORM, Prisma, TypeORM, Drift |
98
- | **Framework de teste** | Arquivos `*_test.*`, dependencias | testify, jest, pytest, flutter_test |
99
- | **Padrao de mock** | Imports, arquivos mock | gomock, mockito, jest.mock, mocktail |
100
- | **Arquitetura** | Estrutura de pastas, CLAUDE.md | Clean Arch, MVC, Hexagonal, BLoC |
101
-
102
- ### 3. Construir o Perfil de Testes do Projeto
103
-
104
- Com base na deteccao, monte mentalmente (e aplique) o perfil:
105
-
106
- ```
107
- Perfil de Testes do Projeto:
108
- - Linguagem: [detectada]
109
- - Framework: [detectado]
110
- - Arquitetura: [detectada] (camadas: [lista])
111
- - Framework de teste: [detectado]
112
- - Padrao de mock: [detectado]
113
- - Convencao de nomes: [detectada]
114
- - Extensao de teste: [detectada] (ex: _test.go, .test.ts, _test.dart)
115
- - Padrao de arquivos: [detectado] (ex: mesmo dir, pasta __tests__, pasta test/)
116
- ```
117
-
118
- > **Toda a estrategia de testes DEVE ser adaptada ao perfil detectado.**
119
- > NAO assuma Go, gRPC, testify ou qualquer stack especifica sem antes confirmar.
120
-
121
- ---
122
-
123
- ## PONTO CRITICO: Pesquisa Obrigatoria do Projeto
124
-
125
- Apos detectar a stack, **ANTES de gerar qualquer teste**, voce DEVE:
126
-
127
- ### 1. Buscar testes existentes
128
- - Encontrar todos os arquivos de teste no projeto (usando o padrao detectado: `*_test.go`, `*.test.ts`, `*_test.dart`, `test_*.py`, etc.)
129
- - Ler os testes encontrados para entender padroes e convencoes
130
- - Identificar cenarios ja cobertos vs lacunas
131
-
132
- ### 2. Identificar frameworks e ferramentas de teste
133
- - Framework de teste (detectado no Passo Zero)
134
- - Bibliotecas de mock e assertion
135
- - Patterns de testes (table-driven, parametrized, subtests, etc.)
136
-
137
- ### 3. Mapear helpers, fixtures e mocks reutilizaveis
138
- - Funcoes helper de teste existentes
139
- - Fixtures, factory functions, builders
140
- - Mocks ja implementados
141
- - Setup/teardown patterns
142
-
143
- ### 4. Entender convencoes de nomenclatura de testes
144
- - Padrao de nomes de funcoes/metodos de teste
145
- - Organizacao de arquivos de teste
146
- - Agrupamento de suites/subtests
147
-
148
- > **Nunca gere testes sem antes pesquisar o projeto.**
149
- > Testes devem seguir os padroes ja estabelecidos no codebase.
150
-
151
- ---
152
-
153
- ## Mapeamento de Testes por Camada
154
-
155
- **IMPORTANTE**: O mapeamento abaixo deve ser **adaptado a arquitetura detectada** no Passo Zero. Identifique as camadas reais do projeto e gere o mapeamento correspondente.
156
-
157
- ### Principio Universal (qualquer stack)
158
-
159
- | Camada | Tipo de Teste | O que testar | Mock de |
160
- |--------|--------------|-------------|---------|
161
- | **Apresentacao** (handler, controller, widget) | Unitario | Validacao de entrada, mapeamento request/response, codigos de status | Camada de negocio |
162
- | **Negocio** (service, use case, cubit/bloc) | Unitario | Regras de negocio, validacao, orquestracao, erros de dominio | Camada de dados |
163
- | **Dados** (repository, DAO, data source) | Integracao | CRUD, queries, mapeamento de modelos, constraints | Banco real ou in-memory |
164
- | **E2E** | E2E | Fluxo completo ponta a ponta | Nenhum (stack real) |
165
-
166
- ### Exemplo: Go/gRPC (referencia)
167
-
168
- Se o projeto for Go com gRPC, o mapeamento tipico e:
169
-
170
- | Camada | Tipo de Teste | O que testar | Mock de |
171
- |--------|--------------|-------------|---------|
172
- | Handler gRPC | Unitario | Validacao protovalidate, mapeamento request/response, codigos gRPC | Service |
173
- | Service | Unitario | Regras de negocio, erros exportados, orquestracao | Repository |
174
- | Repository | Integracao | CRUD, queries SQLC, mapeamento dominio<>SQLC, UUID | SQLite in-memory |
175
- | E2E | E2E | Fluxo completo gRPC client->handler->service->repo->banco | Nenhum |
176
-
177
- ### Exemplo: Flutter/Dart (referencia)
178
-
179
- Se o projeto for Flutter, o mapeamento tipico e:
180
-
181
- | Camada | Tipo de Teste | O que testar | Mock de |
182
- |--------|--------------|-------------|---------|
183
- | Widget/Page | Widget test | Renderizacao, interacao, estados visuais | Cubit/BLoC/Provider |
184
- | Cubit/BLoC | Unitario | Transicoes de estado, regras de negocio, erros | Repository |
185
- | Repository | Unitario | Mapeamento model<>entity, tratamento de erros | DataSource |
186
- | DataSource | Integracao | Chamadas HTTP/API, parsing de JSON, cache local | MockClient/MockDB |
187
- | E2E | Integration test | Fluxo completo de navegacao e interacao | Nenhum |
188
-
189
- ### Exemplo: Node/Express (referencia)
190
-
191
- Se o projeto for Node.js com Express, o mapeamento tipico e:
192
-
193
- | Camada | Tipo de Teste | O que testar | Mock de |
194
- |--------|--------------|-------------|---------|
195
- | Route/Controller | Unitario | Validacao, status codes, response format | Service |
196
- | Service | Unitario | Regras de negocio, erros customizados | Repository |
197
- | Repository | Integracao | Queries, ORM operations, constraints | DB real ou in-memory |
198
- | E2E | E2E (supertest) | Fluxo HTTP completo | Nenhum |
199
-
200
- > **Use o exemplo mais proximo da stack detectada como referencia, mas SEMPRE adapte ao projeto real.**
201
-
202
- ---
203
-
204
- ## Guardrails QA (Inviolaveis)
205
-
206
- ### DEVE
207
-
208
- 1. **NUNCA gere testes genericos** — cada teste deve ter cenario especifico, input concreto e resultado esperado verificavel
209
- 2. **NUNCA pule cenarios de erro** — todo fluxo de sucesso deve ter pelo menos 2 cenarios de falha correspondentes
210
- 3. **SEMPRE mapeie criterios de Aceite Tecnico (secao 9)** para testes (rastreabilidade obrigatoria na secao 10.6)
211
- 4. **SEMPRE considere boundary values** e edge cases (limites de string, valores nulos, zero, negativos)
212
- 5. **SEMPRE respeite os padroes de teste existentes** no projeto (nomenclatura, estrutura, frameworks)
213
- 6. **NUNCA invente funcionalidades** nao mencionadas na TaskCard
214
- 7. **Quando usado como subagente**, retorne APENAS o conteudo da secao 10 (sem introducao, sem explicacao extra)
215
- 8. **SEMPRE identifique testes existentes a modificar** com base nos arquivos da secao 8
216
- 9. **SEMPRE preencha todas as 6 subsecoes** (10.1 a 10.6) — use "N/A — [justificativa]" quando nao aplicavel
217
-
218
- ### NAO DEVE
219
-
220
- 1. **NUNCA** gere testes sem pesquisar o projeto primeiro
221
- 2. **NUNCA** use nomes de testes vagos como "testa funcionalidade X"
222
- 3. **NUNCA** omita o campo Mock/Setup — explique o que deve ser mockado ou preparado
223
- 4. **NUNCA** gere testes que dependam de estado externo nao controlado
224
- 5. **NUNCA** ignore testes de concorrencia quando a task envolve acesso concorrente
225
- 6. **NUNCA** escreva cenarios sem input e output esperado concretos
226
-
227
- ---
228
-
229
- ## Regras de Teste por Tipo de Task
230
-
231
- | Situacao | Acao obrigatoria |
232
- |----------|-----------------|
233
- | Task cria componente de **apresentacao** (handler, controller, widget, page) | Criar testes de validacao de entrada, mapeamento de dados e codigos de resposta. Mock da camada de negocio |
234
- | Task cria componente de **negocio** (service, use case, cubit, bloc) | Criar testes unitarios com mocks da camada de dados, cobrindo regras de negocio e erros de dominio |
235
- | Task cria componente de **dados** (repository, DAO, data source) | Criar testes de integracao cobrindo CRUD, queries e casos de borda |
236
- | Task modifica **interface/contrato** existente | Atualizar mocks e testes de todas as camadas que dependem do contrato |
237
- | Task adiciona **campo em modelo/entidade** | Atualizar fixtures, factory functions e assertions nos testes existentes |
238
- | Task altera **regra de negocio** | Atualizar cenarios de teste na camada de negocio e adicionar novos cenarios |
239
- | Task cria **migracao/schema** de banco | Testar migracao up e down, verificar schema resultante |
240
- | Task cria/modifica **navegacao ou rota** | Testar que a navegacao funciona corretamente com parametros |
241
-
242
- ---
243
-
244
- ## Checklist de Qualidade Pre-Entrega
245
-
246
- Antes de entregar a secao 10 enriquecida, valide que:
247
-
248
- - [ ] Todos os criterios de Aceite Tecnico (secao 9) tem pelo menos um teste correspondente na secao 10.6
249
- - [ ] Cada componente de apresentacao tem testes de validacao, mapeamento e codigos de resposta
250
- - [ ] Cada componente de negocio tem testes de regras de negocio e erros de dominio
251
- - [ ] Cada componente de dados tem testes de CRUD e constraints
252
- - [ ] Cenarios de erro cobrem: timeout, duplicidade, not found, validacao, auth (secao 10.5)
253
- - [ ] Boundary values foram considerados (string vazia, tamanho maximo, zero, nulo)
254
- - [ ] Testes usam o framework e padroes detectados no Passo Zero (secao 10.4)
255
- - [ ] Mocks e setup estao claramente definidos para cada teste
256
- - [ ] Nomenclatura segue padroes do projeto
257
- - [ ] Testes existentes a modificar foram identificados (secao 10.1)
258
- - [ ] Rastreabilidade Aceite Tecnico -> Testes esta preenchida (secao 10.6)
259
- - [ ] Todas as 6 subsecoes (10.1 a 10.6) estao preenchidas ou marcadas N/A
260
-
261
- ---
262
-
263
- ## Entrada
264
-
265
- $ARGUMENTS
@@ -1,78 +0,0 @@
1
- # Secao 10. Testes
2
-
3
- ## 10.1 Testes Existentes a Modificar
4
- Testes que ja existem e precisam ser atualizados por causa das mudancas desta task:
5
-
6
- | Arquivo de Teste | O que Modificar | Motivo |
7
- |-----------------|-----------------|--------|
8
- | `path/to/existing_test` | [descrever mudanca: novos cenarios, mocks atualizados, fixtures alteradas] | [interface alterada, novo campo, regra de negocio modificada] |
9
-
10
- > Se nenhum teste existente precisa ser modificado, indicar "Nenhum teste existente impactado — [justificativa]."
11
-
12
- ## 10.2 Testes a Criar
13
- Novos testes que devem ser criados para cobrir as mudancas desta task:
14
-
15
- ### Unitarios
16
- - [ ] **[arquivo_teste] TestNomeFuncao_Sucesso** — Cenario: [descricao precisa]. Input: [dados concretos]. Expected: [resultado especifico]. Mock: [o que mockar e retorno]
17
- - [ ] **[arquivo_teste] TestNomeFuncao_ErroValidacao** — Cenario: [descricao]. Input: [dados invalidos]. Expected: [erro especifico]. Mock: [se aplicavel]
18
- - [ ] **[arquivo_teste] TestNomeFuncao_ErroDependencia** — Cenario: [descricao]. Input: [dados validos]. Expected: [erro wrapped]. Mock: [dependencia retorna erro]
19
-
20
- ### Integracao
21
- - [ ] **[arquivo_teste] TestIntegracao_FluxoCompleto** — Setup: [banco in-memory, migracoes, seed data]. Fluxo: [create -> get -> verify]. Validacao: [dados consistentes]
22
- - [ ] **[arquivo_teste] TestIntegracao_ErroConstraint** — Setup: [registro existente]. Fluxo: [insert duplicado]. Validacao: [erro de constraint]
23
-
24
- ### E2E
25
- - [ ] **[arquivo_teste] TestE2E_FluxoPrincipal** — Pre-condicao: [estado inicial]. Passos: [request -> validar response -> verificar banco]. Pos-condicao: [estado final]
26
-
27
- > Se uma categoria nao se aplica a esta task, indicar "N/A — [justificativa]."
28
-
29
- ## 10.3 Cenarios Obrigatorios
30
- Lista de cenarios que DEVEM ser cobertos pelos testes:
31
-
32
- ### Sucesso (caminho feliz)
33
- - [ ] [descricao do cenario de sucesso principal]
34
- - [ ] [descricao de variacao de sucesso, se aplicavel]
35
-
36
- ### Erro e Validacao
37
- - [ ] [cenario de erro de validacao de entrada]
38
- - [ ] [cenario de recurso nao encontrado]
39
- - [ ] [cenario de duplicidade/conflito]
40
-
41
- ### Edge Cases e Boundary Values
42
- - [ ] [valor nulo ou vazio]
43
- - [ ] [valor no limite maximo]
44
- - [ ] [valor no limite minimo]
45
- - [ ] [caracteres especiais ou Unicode]
46
-
47
- ### Concorrencia (se aplicavel)
48
- - [ ] [cenario de acesso concorrente]
49
-
50
- ## 10.4 Padroes de Teste
51
- Referencia dos padroes de teste a seguir (identificados no Passo Zero):
52
- - **Framework**: [detectado — ex: testify, jest, pytest, flutter_test]
53
- - **Convencao de nomes**: [detectada — ex: Test<Layer>_<Function>_<Scenario>, describe/it, test_<function>]
54
- - **Fixture/Setup**: [detectado — ex: banco in-memory, factory functions, fixtures, beforeEach]
55
- - **Mocks**: [detectado — ex: interfaces com mock, jest.mock, mocktail, mockito]
56
- - **Patterns**: [detectado — ex: table-driven tests, parametrized, subtests, AAA]
57
-
58
- ## 10.5 Cenarios de Erro
59
- Mapeamento exaustivo de cenarios de erro com detalhes tecnicos:
60
-
61
- | Cenario | Trigger | Expected | Codigo/Status | Log |
62
- |---------|---------|----------|---------------|-----|
63
- | [descricao do erro] | [o que causa o erro] | [comportamento esperado] | [codigo gRPC, HTTP status, excecao] | [mensagem de log esperada] |
64
- | [validacao invalida] | [input fora do esperado] | [rejeitar com mensagem clara] | [codes.InvalidArgument / 400 / ValidationError] | [log de warn com detalhes] |
65
- | [recurso nao encontrado] | [ID inexistente] | [retornar not found] | [codes.NotFound / 404 / NotFoundException] | [log de info com ID buscado] |
66
- | [dependencia falha] | [banco/servico externo indisponivel] | [erro wrapped com contexto] | [codes.Internal / 500 / InternalError] | [log de error com stack] |
67
-
68
- ## 10.6 Rastreabilidade: Aceite Tecnico -> Testes
69
- Mapeamento entre cada criterio de aceite (secao 9) e os testes que o validam:
70
-
71
- | # | Criterio de Aceite (secao 9) | Teste(s) Correspondente(s) | Tipo |
72
- |---|------------------------------|---------------------------|------|
73
- | 1 | [criterio copiado da secao 9] | [TestNomeFuncao_Sucesso, TestIntegracao_FluxoCompleto] | [Unitario, Integracao] |
74
- | 2 | [criterio copiado da secao 9] | [TestNomeFuncao_ErroValidacao] | [Unitario] |
75
- | 3 | [criterio copiado da secao 9] | [TestE2E_FluxoPrincipal] | [E2E] |
76
-
77
- > **Todo criterio de aceite DEVE ter pelo menos um teste correspondente.**
78
- > Se um criterio nao e testavel automaticamente, justifique e indique como sera validado manualmente.