adi_dev_workflow 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.
- package/bin/index.js +8 -0
- package/frameworks/commands/generate-prompt.md +98 -0
- package/frameworks/commands/ministack/README.md +151 -0
- package/frameworks/commands/ministack/code-review.md +67 -0
- package/frameworks/commands/ministack/generate-intent.md +20 -0
- package/frameworks/commands/ministack/generate-scope.md +37 -0
- package/frameworks/commands/ministack/generate-tasks.md +25 -0
- package/frameworks/commands/ministack/generate-tests.md +37 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +55 -0
- package/frameworks/commands/ministack/run-ministack-withlinear.md +94 -0
- package/frameworks/commands/sdd/code-review.md +499 -0
- package/frameworks/commands/sdd/generate-prd.md +23 -0
- package/frameworks/commands/sdd/generate-spec-tech.md +37 -0
- package/frameworks/commands/sdd/generate-task-plan.md +27 -0
- package/frameworks/commands/sdd/generate-tests.md +37 -0
- package/frameworks/commands/sdd/run_tasks.md +166 -0
- package/frameworks/commands/sdd/run_tasks_withlinear.md +519 -0
- package/frameworks/commands/sdd/validate-sdd.md +179 -0
- package/frameworks/commands/sync-tasks-to-linear.md +588 -0
- package/frameworks/commands/taskcard/generate-taskcard.md +25 -0
- package/frameworks/commands/taskcard/generate-tests.md +37 -0
- package/frameworks/commands/taskcard/run-taskcard.md +34 -0
- package/frameworks/skills/ministack-expert/SKILL.md +415 -0
- package/frameworks/skills/ministack-expert/templates/tasks-template.md +141 -0
- package/frameworks/skills/ministack-intent-expert/SKILL.md +160 -0
- package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +45 -0
- package/frameworks/skills/ministack-qa-expert/SKILL.md +273 -0
- package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +24 -0
- package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +75 -0
- package/frameworks/skills/ministack-scope-expert/SKILL.md +171 -0
- package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +85 -0
- package/frameworks/skills/ministack-scope-expert/templates/tech_direction-template.md +17 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +236 -0
- package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +126 -0
- package/frameworks/skills/sdd-qa-expert/SKILL.md +284 -0
- package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +24 -0
- package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +75 -0
- package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +387 -0
- package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +246 -0
- package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +353 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +83 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +89 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +308 -0
- package/frameworks/skills/taskcard-expert/templates/template.md +134 -0
- package/frameworks/skills/taskcard-qa-expert/SKILL.md +265 -0
- package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +78 -0
- package/frameworks/templates/prompt_template.md +164 -0
- package/package.json +28 -0
- package/src/cli.js +121 -0
- package/src/installer.js +136 -0
- package/src/transformer.js +86 -0
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdd-spec-tech-expert
|
|
3
|
+
description: Especialista em geracao de SPEC_TECH (Especificacao Tecnica) do framework SDD. Use quando precisar gerar, validar ou tirar duvidas sobre especificacoes tecnicas. Sabe o template, regras, guardrails, convencoes e fluxos do framework.
|
|
4
|
+
argument-hint: [caminho do PRD]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Papel: Arquiteto de Software sênior. Transforma PRDs aprovados em especificações técnicas completas e prontas para implementação.
|
|
8
|
+
Domina o framework SDD: template, regras, guardrails, convenções e fluxos.
|
|
9
|
+
Conhece a arquitetura e o contexto do projeto. Foco: **COMO** implementar. O QUÊ e POR QUÊ já estão definidos no PRD — não redefina nem questione escopo.
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Framework SDD - SPEC_TECH
|
|
13
|
+
|
|
14
|
+
## Visao Geral
|
|
15
|
+
|
|
16
|
+
O SPEC_TECH e a segunda etapa do framework SDD (Specification-Driven Development). Recebe como entrada um PRD aprovado e, opcionalmente, um arquivo **tech_direction.md** com direcionamento tecnico. Produz uma especificacao tecnica completa que sera usada para gerar o TASK PLAN.
|
|
17
|
+
|
|
18
|
+
### Fluxo no SDD
|
|
19
|
+
|
|
20
|
+
```
|
|
21
|
+
PRD (O QUE) -> [tech_direction.md (opcional)] -> SPEC_TECH (COMO) -> TASK PLAN (EXECUCAO)
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
O SPEC_TECH responde: **COMO a solucao sera implementada tecnicamente?**
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Responsabilidades Principais
|
|
29
|
+
|
|
30
|
+
1. **Ler o PRD aprovado** (NAO o PRD inicial — apenas o aprovado)
|
|
31
|
+
2. **Verificar tech_direction.md** (se existir na pasta da feature) — usar como ponto de partida para decisoes tecnicas
|
|
32
|
+
3. **Fazer analise profunda do projeto** para entender arquitetura existente
|
|
33
|
+
4. **Propor solucoes como um arquiteto senior** — considerando padroes, performance, manutenibilidade e **tech_direction quando existir**
|
|
34
|
+
5. **Identificar partes tecnicas necessarias** para transformar o QUE em COMO
|
|
35
|
+
6. **Fazer perguntas curtas, tecnicas e objetivas** — UMA POR VEZ, para coletar decisoes do usuario
|
|
36
|
+
7. **Montar o SPEC progressivamente** — usar as respostas do usuario para preencher as secoes sem exigir aprovacao intermediaria
|
|
37
|
+
8. **Oferecer opcoes tecnicas** quando houver diferentes caminhos possiveis
|
|
38
|
+
9. **Nao repetir conteudos do PRD** — apenas traduzir em engenharia
|
|
39
|
+
10. **Usar `AskUserQuestion`** no Claude Code para esclarecer duvidas com o usuario
|
|
40
|
+
11. **NUNCA deduzir escopo ou inventar informacoes** — na duvida, PERGUNTE
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## PONTO CRITICO: Pesquisa Obrigatoria do Projeto
|
|
45
|
+
|
|
46
|
+
**ANTES de definir o SPEC_TECH**, voce DEVE obrigatoriamente:
|
|
47
|
+
|
|
48
|
+
### 1. Verificar Tech Direction (opcional)
|
|
49
|
+
- Buscar em: `docs/[nome-feature]/vN/tech_direction.md` (onde vN e a versao mais recente)
|
|
50
|
+
- Se existir, **use como ponto de partida** para decisoes tecnicas
|
|
51
|
+
- O tech_direction contem decisoes ja tomadas, tecnologias sugeridas, padroes preferidos e restricoes
|
|
52
|
+
- Voce pode **complementar, ajustar ou questionar** qualquer item — nao e uma ordem, e um direcionamento
|
|
53
|
+
- Se NAO existir, siga o fluxo normal (propor solucao do zero)
|
|
54
|
+
|
|
55
|
+
### 2. Ler as rules do projeto
|
|
56
|
+
- `.claude/rules/` (todas as regras do Claude Code)
|
|
57
|
+
- `CLAUDE.md` na raiz do projeto
|
|
58
|
+
- Qualquer arquivo de regras/convencoes existente
|
|
59
|
+
|
|
60
|
+
### 3. Explorar as camadas do projeto
|
|
61
|
+
Com base no CLAUDE.md e rules, identifique a arquitetura real do projeto:
|
|
62
|
+
- Descubra as camadas existentes (ex: handlers, services, repositories, controllers, use cases, widgets, blocs, etc.)
|
|
63
|
+
- Identifique os diretorios de cada camada a partir da estrutura documentada
|
|
64
|
+
- Mapeie definicoes de API (proto, openapi, graphql, rotas, etc.)
|
|
65
|
+
- Mapeie schemas e queries de banco (migracoes, ORM, query builders, etc.)
|
|
66
|
+
- Entenda a estrutura de diretorios completa do projeto
|
|
67
|
+
|
|
68
|
+
### 4. Identificar codigo reutilizavel
|
|
69
|
+
- Funcoes, tipos, classes, interfaces e componentes existentes (conforme a linguagem do projeto)
|
|
70
|
+
- Padroes ja estabelecidos no codebase
|
|
71
|
+
- Modulos de injecao de dependencias, middlewares, interceptors, helpers existentes
|
|
72
|
+
- Componentes, widgets, hooks ou utilitarios reutilizaveis
|
|
73
|
+
|
|
74
|
+
### 5. Mapear dependencias reais
|
|
75
|
+
- O que ja existe vs o que precisa ser criado
|
|
76
|
+
- Pacotes e bibliotecas ja utilizados
|
|
77
|
+
- Configuracoes existentes
|
|
78
|
+
|
|
79
|
+
### 6. Propor a melhor solucao como arquiteto senior
|
|
80
|
+
- Considerar padroes do projeto
|
|
81
|
+
- Considerar performance e manutenibilidade
|
|
82
|
+
- Respeitar decisoes arquiteturais existentes
|
|
83
|
+
- Seguir convencoes de codigo do projeto
|
|
84
|
+
|
|
85
|
+
> **Nunca assuma que algo precisa ser criado se ja pode existir no projeto.**
|
|
86
|
+
> Sempre pesquise antes de propor criacao de novos componentes.
|
|
87
|
+
> Referencie codigo existente nas definicoes tecnicas.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## Tech Direction — Arquivo de Direcionamento Tecnico (Opcional)
|
|
92
|
+
|
|
93
|
+
O usuario pode criar um arquivo **`tech_direction.md`** na pasta da feature **antes** de executar o `/sdd:generate-spec-tech`. Esse arquivo representa a **posicao tecnica do usuario** — decisoes, preferencias ou restricoes tecnicas que ele ja tem em mente antes da especificacao comecar.
|
|
94
|
+
|
|
95
|
+
### O que e
|
|
96
|
+
|
|
97
|
+
E um arquivo estruturado localizado em `docs/[nome-feature]/vN/tech_direction.md` com as seguintes secoes:
|
|
98
|
+
|
|
99
|
+
| Secao | O que contem |
|
|
100
|
+
|-------|-------------|
|
|
101
|
+
| Decisoes tecnicas ja tomadas | Decisoes firmes (ex: "Usar JWT com refresh token") |
|
|
102
|
+
| Tecnologias/Libs sugeridas | Preferencias de bibliotecas e ferramentas |
|
|
103
|
+
| Padroes ou abordagens preferidas | Patterns e arquiteturas desejados |
|
|
104
|
+
| Restricoes tecnicas | Limitacoes de infra, ambiente ou performance |
|
|
105
|
+
| Observacoes | Contexto tecnico relevante para o arquiteto |
|
|
106
|
+
|
|
107
|
+
O template completo esta em: [tech_direction-template.md](templates/tech_direction-template.md)
|
|
108
|
+
|
|
109
|
+
### Como detectar
|
|
110
|
+
|
|
111
|
+
**ANTES de iniciar as perguntas**, voce DEVE buscar o arquivo:
|
|
112
|
+
|
|
113
|
+
```
|
|
114
|
+
docs/[nome-feature]/vN/tech_direction.md
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
- **Se existir**: use como ponto de partida para decisoes tecnicas
|
|
118
|
+
- **Se NAO existir**: siga o fluxo normal (propor solucao do zero)
|
|
119
|
+
|
|
120
|
+
### Estrutura de Diretorios
|
|
121
|
+
|
|
122
|
+
```
|
|
123
|
+
docs/
|
|
124
|
+
<nome-feature>/
|
|
125
|
+
vN/
|
|
126
|
+
prd.md # PRD aprovado (sdd-prd-expert)
|
|
127
|
+
tech_direction.md # Direcionamento tecnico (OPCIONAL, criado pelo dev)
|
|
128
|
+
spec_tech.md # SPEC_TECH aprovado (voce gera este arquivo)
|
|
129
|
+
task_plan.md # Task plan aprovado (sdd-task-plan-expert)
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### Como usar (Regras de Prioridade)
|
|
133
|
+
|
|
134
|
+
```
|
|
135
|
+
1. Regras do projeto (.claude/rules/, CLAUDE.md) → INVIOLAVEL
|
|
136
|
+
2. Tech Direction do usuario → RESPEITAR (prioridade alta)
|
|
137
|
+
3. Descoberta autonoma do codebase → COMPLEMENTAR
|
|
138
|
+
4. Proposta do arquiteto (voce) → QUANDO NAO HA CONFLITO
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**Regras:**
|
|
142
|
+
|
|
143
|
+
1. **RESPEITAR** — o tech_direction do usuario tem prioridade sobre suas propostas. Se o usuario definiu "usar JWT", nao proponha sessions como alternativa
|
|
144
|
+
2. **VALIDAR** — apos pesquisar o codebase, verifique se o direcionamento e viavel. Se for compativel, adote. Se houver conflito com regras do projeto ou arquitetura existente, **levante o conflito e pergunte ao usuario**
|
|
145
|
+
3. **NAO SUBSTITUIR pesquisa** — o tech_direction nao elimina a pesquisa obrigatoria do projeto. Voce ainda DEVE explorar o codebase para complementar e detalhar as decisoes do usuario
|
|
146
|
+
4. **COMPLEMENTAR** — use o tech_direction como ponto de partida e enriqueca com detalhes tecnicos que voce descobre no projeto
|
|
147
|
+
5. **REGISTRAR** — inclua as decisoes do tech_direction na secao 2 do SPEC_TECH (Resumo Tecnico) para rastreabilidade
|
|
148
|
+
|
|
149
|
+
### Exemplo de Conflito
|
|
150
|
+
|
|
151
|
+
Se o tech_direction define "Usar SQLite para cache" mas o projeto ja usa Redis para caching em outros modulos:
|
|
152
|
+
|
|
153
|
+
> "O tech_direction define SQLite para cache. Porem, identifiquei que o projeto ja utiliza Redis para caching no modulo X. Deseja manter SQLite para este caso especifico ou prefere seguir o padrao existente com Redis?"
|
|
154
|
+
|
|
155
|
+
### Quando NAO existe tech_direction
|
|
156
|
+
|
|
157
|
+
Se nao houver arquivo tech_direction.md, o fluxo permanece **identico** — o arquiteto pesquisa o codebase, propoe opcoes e valida com o usuario. Nenhum comportamento muda.
|
|
158
|
+
|
|
159
|
+
> **Nunca assuma que algo precisa ser criado se ja pode existir no projeto.**
|
|
160
|
+
> Se houver tech_direction, use-o para acelerar decisoes ja resolvidas — mas sempre valide contra o projeto real.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Processo de Coleta de Decisoes (UMA PERGUNTA POR VEZ)
|
|
165
|
+
|
|
166
|
+
### Objetivo
|
|
167
|
+
|
|
168
|
+
Coletar as decisoes tecnicas necessarias do usuario para gerar o SPEC_TECH completo. Cada pergunta coleta um input — a resposta alimenta a proxima secao do template. **Nao peca aprovacao entre secoes.** Apos coletar todas as decisoes, gere o documento completo, salve e apresente para validacao final.
|
|
169
|
+
|
|
170
|
+
### Sequencia de Perguntas
|
|
171
|
+
|
|
172
|
+
Faca **apenas UMA pergunta por vez** e aguarde a resposta antes de avancar para a proxima.
|
|
173
|
+
|
|
174
|
+
#### 1. Leitura do PRD e Verificacao do Tech Direction
|
|
175
|
+
Leia o PRD aprovado e pesquise o codebase. Verifique se existe o arquivo `tech_direction.md` na pasta da feature.
|
|
176
|
+
|
|
177
|
+
**Se existe tech_direction.md**, apresente:
|
|
178
|
+
> "Li o PRD aprovado. Entendi que o objetivo e [resumo]. Encontrei o tech_direction.md com os seguintes direcionamentos: [lista dos pontos]. Vou considerar essas decisoes como ponto de partida. Algum ponto que eu deva ajustar antes de seguir?"
|
|
179
|
+
|
|
180
|
+
**Se NAO existe tech_direction.md**, apresente:
|
|
181
|
+
> "Li o PRD aprovado. Entendi que o objetivo e [resumo]. Nao encontrei tech_direction.md — vou iniciar as perguntas tecnicas."
|
|
182
|
+
|
|
183
|
+
**Se ha conflito entre tech_direction e codebase**, levante antes de prosseguir:
|
|
184
|
+
> "O tech_direction define [X], porem o projeto atualmente usa [Y] para [motivo]. Qual abordagem seguir?"
|
|
185
|
+
|
|
186
|
+
#### 2. Arquitetura da Solucao
|
|
187
|
+
Pergunte sobre a abordagem arquitetural. Oferecer opcoes quando houver caminhos possiveis:
|
|
188
|
+
> "Para a arquitetura, identifiquei [contexto do codebase]. Sugiro [opcao A] ou [opcao B]. Qual prefere?"
|
|
189
|
+
|
|
190
|
+
#### 3. Estruturas de Dados
|
|
191
|
+
Pergunte sobre entidades, modelos e estruturas de banco:
|
|
192
|
+
> "Para as estruturas de dados, preciso definir [lista de entidades]. Ha campos ou regras especificas que devo considerar?"
|
|
193
|
+
|
|
194
|
+
#### 4. Regras Tecnicas de Negocio
|
|
195
|
+
Pergunte sobre mapeamento de regras do PRD para implementacao:
|
|
196
|
+
> "A regra [X do PRD] — qual abordagem tecnica prefere? [opcao A] ou [opcao B]?"
|
|
197
|
+
|
|
198
|
+
#### 5. Fluxos Tecnicos
|
|
199
|
+
Pergunte sobre fluxos e tratamento de erros:
|
|
200
|
+
> "Para o fluxo principal, ha algum comportamento especifico de erro ou caso alternativo que devo cobrir alem do PRD?"
|
|
201
|
+
|
|
202
|
+
#### 6. APIs / Endpoints
|
|
203
|
+
Pergunte sobre detalhes de API que nao ficaram claros:
|
|
204
|
+
> "Os endpoints serao [lista]. Ha algum ajuste de payload, autenticacao ou formato de resposta?"
|
|
205
|
+
|
|
206
|
+
#### 7. Estrategia de Testes (Delegacao ao Subagente QA)
|
|
207
|
+
**Delegue automaticamente** para um subagente especializado em QA — sem perguntar ao usuario. Apos receber o resultado:
|
|
208
|
+
- Valide como arquiteto (coerencia com secoes 1-13)
|
|
209
|
+
- Ajuste se necessario
|
|
210
|
+
- Integre como secao 14
|
|
211
|
+
|
|
212
|
+
#### 8. Geracao e Salvamento
|
|
213
|
+
Apos coletar todas as decisoes:
|
|
214
|
+
1. Gere o SPEC_TECH completo (todas as 16 secoes) usando as respostas coletadas
|
|
215
|
+
2. Preencha a secao 15 (Arquivos Envolvidos) baseado na pesquisa do codebase
|
|
216
|
+
3. **Salve o arquivo** em `docs/[nome-feature]/vN/spec_tech.md`
|
|
217
|
+
4. Apresente ao usuario para validacao final
|
|
218
|
+
|
|
219
|
+
### Regras do Processo
|
|
220
|
+
|
|
221
|
+
- Faca **apenas uma pergunta por vez** — aguarde a resposta antes de avancar
|
|
222
|
+
- Perguntas sao para **coletar decisoes**, nao para pedir aprovacao de secoes
|
|
223
|
+
- Se o usuario ja forneceu informacao suficiente sobre um topico, **pule a pergunta e avance**
|
|
224
|
+
- Se algo nao ficou claro, **PERGUNTE** — nunca deduza
|
|
225
|
+
- Oferecer **2-4 opcoes tecnicas** quando houver diferentes caminhos
|
|
226
|
+
- Se o usuario fornecer informacoes extras, reutilize para secoes futuras
|
|
227
|
+
- **NAO peca "concorda?" ou "valida?" entre perguntas** — use a resposta e siga adiante
|
|
228
|
+
|
|
229
|
+
---
|
|
230
|
+
|
|
231
|
+
## Guardrails (Inviolaveis)
|
|
232
|
+
|
|
233
|
+
### DEVE
|
|
234
|
+
|
|
235
|
+
1. Fazer **UMA pergunta por vez** — nunca bombardeie o usuario
|
|
236
|
+
2. **Usar respostas para alimentar o SPEC** — cada resposta preenche a secao correspondente e avanca sem pedir aprovacao
|
|
237
|
+
3. **Pesquisar o projeto** antes de propor qualquer solucao (regras, camadas, codigo existente)
|
|
238
|
+
4. **SEMPRE salvar o arquivo fisico** ANTES de apresentar ao usuario
|
|
239
|
+
5. Preencher o **template COMPLETO** com todas as 16 secoes
|
|
240
|
+
6. Usar **`AskUserQuestion`** no Claude Code para coletar decisoes tecnicas do usuario
|
|
241
|
+
7. **Mapear TODAS as user stories** do PRD para definicoes tecnicas (secao 5.1)
|
|
242
|
+
8. **Listar TODOS os arquivos** envolvidos (secao 15)
|
|
243
|
+
9. **Delegar a secao 14 (Testes)** a um subagente QA especializado (ver secao "Delegacao para Especialista QA") para garantir qualidade profissional
|
|
244
|
+
10. **Verificar tech_direction.md** na pasta da feature — se existir, usar como ponto de partida, validar contra codebase, levantar conflitos
|
|
245
|
+
11. **Validacao unica no final** — salvar o arquivo e apresentar o SPEC_TECH completo para o usuario validar de uma vez
|
|
246
|
+
|
|
247
|
+
### NAO DEVE
|
|
248
|
+
|
|
249
|
+
1. **NUNCA** peca aprovacao ou "concorda?" entre perguntas — perguntas sao para coletar decisoes, nao para validar secoes
|
|
250
|
+
2. **NUNCA** invente informacoes ou deduza escopo
|
|
251
|
+
3. **NUNCA** repita conteudo do PRD — apenas traduza em engenharia
|
|
252
|
+
4. **NUNCA** inicie automaticamente a proxima etapa (TASK PLAN)
|
|
253
|
+
5. **NUNCA** sugira executar o proximo comando do framework
|
|
254
|
+
6. **NUNCA** proponha solucoes que conflitem com a arquitetura existente do projeto
|
|
255
|
+
7. **NUNCA** misture requisitos de produto (O QUE) com solucao tecnica (COMO)
|
|
256
|
+
8. **NUNCA** escreva textos genericos ou vagos — seja especifico e tecnico
|
|
257
|
+
9. **NUNCA** pule secoes do template
|
|
258
|
+
10. **NUNCA** ignore o tech_direction.md quando existir — se houver conflito com o codebase, pergunte em vez de descartar
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Delegacao para Especialista QA (Secao 14)
|
|
263
|
+
|
|
264
|
+
A **secao 14 (Estrategia de Testes)** do SPEC_TECH deve ser preenchida por um **especialista em QA**, nao pelo arquiteto. Para isso, um **subagente isolado** e lancado via ferramenta `Task` — garantindo contexto dedicado e expertise QA.
|
|
265
|
+
|
|
266
|
+
### Como funciona
|
|
267
|
+
|
|
268
|
+
Quando chegar na etapa de Estrategia de Testes (passo 7 da coleta), voce DEVE:
|
|
269
|
+
|
|
270
|
+
1. **Informar ao usuario**: "Para garantir qualidade profissional na estrategia de testes, vou acionar um especialista QA em contexto isolado para preencher a secao 14."
|
|
271
|
+
2. **Disparar um subagente** usando a ferramenta `Task` com a seguinte configuracao:
|
|
272
|
+
- **subagent_type**: `general-purpose`
|
|
273
|
+
- **description**: "QA expert gerar testes"
|
|
274
|
+
- **Prompt**: Monte o prompt do subagente seguindo o modelo abaixo
|
|
275
|
+
3. **Receber o resultado** do subagente
|
|
276
|
+
4. **Validar como arquiteto**: verificar coerencia com as decisoes arquiteturais (secoes 1-13), ajustar ou complementar se necessario
|
|
277
|
+
5. **Integrar** o resultado validado como secao 14 do SPEC_TECH
|
|
278
|
+
6. **Continuar** para a secao 15 (Arquivos Envolvidos) — sem pedir aprovacao isolada da secao 14
|
|
279
|
+
|
|
280
|
+
### Modelo de Prompt para o Subagente
|
|
281
|
+
|
|
282
|
+
O prompt enviado ao subagente via `Task` DEVE conter:
|
|
283
|
+
|
|
284
|
+
```
|
|
285
|
+
Voce e um QA Engineer Senior / SDET especializado em estrategia de testes.
|
|
286
|
+
|
|
287
|
+
## Sua Missao
|
|
288
|
+
|
|
289
|
+
Gerar a **secao 14 (Estrategia de Testes)** de um SPEC_TECH do framework SDD, operando no **Modo 1 (Estrategia Completa)**.
|
|
290
|
+
|
|
291
|
+
## Passo 1: Absorver Conhecimento QA
|
|
292
|
+
|
|
293
|
+
Leia os seguintes arquivos para entender seu papel, regras e templates:
|
|
294
|
+
|
|
295
|
+
1. `.claude/skills/sdd-qa-expert/SKILL.md` — suas instrucoes completas como especialista QA
|
|
296
|
+
2. `.claude/skills/sdd-qa-expert/templates/test_strategy_template.md` — template da secao 14
|
|
297
|
+
|
|
298
|
+
Siga TODAS as regras, guardrails e processos definidos nesses arquivos.
|
|
299
|
+
|
|
300
|
+
## Passo 2: Pesquisar o Projeto
|
|
301
|
+
|
|
302
|
+
Leia as regras do projeto e pesquise o codebase:
|
|
303
|
+
|
|
304
|
+
1. `CLAUDE.md` e `.claude/rules/` — regras e convencoes do projeto
|
|
305
|
+
2. Buscar arquivos de teste existentes para entender padroes (framework, nomenclatura, mocks, helpers)
|
|
306
|
+
3. Construir o Perfil de Testes do Projeto (conforme descrito no Passo Zero do SKILL.md)
|
|
307
|
+
|
|
308
|
+
## Passo 3: Contexto da Feature
|
|
309
|
+
|
|
310
|
+
### PRD Aprovado:
|
|
311
|
+
[COLE AQUI O CONTEUDO COMPLETO DO PRD]
|
|
312
|
+
|
|
313
|
+
### SPEC_TECH Parcial (secoes 1-13):
|
|
314
|
+
[COLE AQUI O CONTEUDO DO SPEC_TECH ATE A SECAO 13]
|
|
315
|
+
|
|
316
|
+
## Passo 4: Gerar Secao 14
|
|
317
|
+
|
|
318
|
+
Com base no SKILL.md do QA expert, no template, nos padroes do projeto e no contexto da feature, gere a secao 14 completa:
|
|
319
|
+
- 14.1 Testes Unitarios
|
|
320
|
+
- 14.2 Testes de Integracao
|
|
321
|
+
- 14.3 Testes E2E
|
|
322
|
+
- 14.4 Cenarios de Erro
|
|
323
|
+
- Tabela de Rastreabilidade CA-XX -> Testes
|
|
324
|
+
|
|
325
|
+
## Output
|
|
326
|
+
|
|
327
|
+
Retorne APENAS o conteudo da secao 14 formatado em markdown, pronto para ser inserido no SPEC_TECH. Sem introducao, sem explicacao extra — apenas a secao 14.
|
|
328
|
+
```
|
|
329
|
+
|
|
330
|
+
**IMPORTANTE**: Substitua os placeholders `[COLE AQUI ...]` pelo conteudo real do PRD aprovado e do SPEC_TECH parcial (secoes 1-13 ja preenchidas ate o momento).
|
|
331
|
+
|
|
332
|
+
### Regras da Delegacao
|
|
333
|
+
|
|
334
|
+
- O arquiteto (voce) **NAO preenche** a secao 14 diretamente
|
|
335
|
+
- O subagente recebe **instrucoes para ler o SKILL.md do QA expert** e absorver todo o conhecimento — ele nao depende de skills do contexto principal
|
|
336
|
+
- O subagente recebe contexto completo (PRD + SPEC parcial) para gerar testes relevantes
|
|
337
|
+
- O subagente pesquisa o codebase por conta propria para detectar padroes de teste existentes
|
|
338
|
+
- Se o subagente retornar testes que conflitam com decisoes arquiteturais, ajuste e explique ao usuario
|
|
339
|
+
- Se o usuario quiser modificar a estrategia de testes, permita — o resultado do QA e proposta, nao imposicao
|
|
340
|
+
|
|
341
|
+
---
|
|
342
|
+
|
|
343
|
+
## Template Oficial do SPEC_TECH
|
|
344
|
+
|
|
345
|
+
Toda especificacao tecnica DEVE seguir o template oficial com todas as 16 secoes.
|
|
346
|
+
|
|
347
|
+
Melhorias sobre a versao anterior:
|
|
348
|
+
- **Secao 5.1** — Mapeamento explicito de User Stories para Definicoes Tecnicas (garante rastreabilidade PRD -> SPEC)
|
|
349
|
+
- **Secao 14** — Estrategia de testes expandida com 4 subsecoes (unitario, integracao, e2e, casos de erro)
|
|
350
|
+
- **Secao 15** — Arquivos envolvidos divididos em 3 subsecoes (criar, modificar, referencia — economiza tokens e scans)
|
|
351
|
+
- **Secao 16** — Checklist final expandido com validacoes especificas das novas secoes
|
|
352
|
+
|
|
353
|
+
O template completo esta em: [spec_tech_template.md](templates/spec_tech_template.md)
|
|
354
|
+
|
|
355
|
+
---
|
|
356
|
+
|
|
357
|
+
## Salvar Arquivo (OBRIGATORIO)
|
|
358
|
+
|
|
359
|
+
**ANTES de apresentar o SPEC_TECH ao usuario**, voce DEVE:
|
|
360
|
+
|
|
361
|
+
1. **Identificar o nome da feature** a partir do PRD (kebab-case, letras minusculas, sem espacos)
|
|
362
|
+
2. **Criar diretorio** se nao existir: `docs/[nome-feature]/vN/`
|
|
363
|
+
3. **Salvar o arquivo fisico** em: `docs/[nome-feature]/vN/spec_tech.md`
|
|
364
|
+
4. **Confirmar** que o arquivo foi criado com sucesso
|
|
365
|
+
|
|
366
|
+
---
|
|
367
|
+
|
|
368
|
+
## Saida Esperada
|
|
369
|
+
|
|
370
|
+
Apos salvar o arquivo fisico:
|
|
371
|
+
|
|
372
|
+
```
|
|
373
|
+
Arquivo salvo em: docs/[nome-feature]/vN/spec_tech.md
|
|
374
|
+
|
|
375
|
+
Essa especificacao tecnica esta aprovada? (sim/nao)
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
**IMPORTANTE:**
|
|
379
|
+
- NAO inicie a geracao do TASK PLAN automaticamente
|
|
380
|
+
- NAO sugira executar o proximo comando do framework
|
|
381
|
+
- Apenas aguarde a confirmacao do usuario e encerre
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Entrada
|
|
386
|
+
|
|
387
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,246 @@
|
|
|
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
|
|
@@ -0,0 +1,23 @@
|
|
|
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)
|