adi_dev_workflow 1.0.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/index.js +0 -0
- package/frameworks/agents/qa-staff-engineer.md +311 -0
- package/frameworks/agents/qa-validation-expert.md +458 -0
- package/frameworks/agents/tech-review-conformance.md +200 -0
- package/frameworks/commands/generate-project-profile.md +68 -0
- package/frameworks/commands/generate-prompt.md +33 -98
- package/frameworks/commands/ministack/README.md +61 -46
- package/frameworks/commands/ministack/code-review.md +36 -49
- package/frameworks/commands/ministack/generate-intent.md +25 -2
- package/frameworks/commands/ministack/generate-scope.md +30 -6
- package/frameworks/commands/ministack/generate-tasks.md +191 -6
- package/frameworks/commands/ministack/generate-tech-direction.md +43 -0
- package/frameworks/commands/ministack/run-ministack-tasks.md +352 -33
- package/frameworks/commands/ministack/run-ministack-withlinear.md +23 -22
- package/frameworks/commands/ministack/status.md +153 -0
- package/frameworks/commands/sdd/code-review.md +10 -10
- package/frameworks/commands/sdd/generate-prd.md +32 -2
- package/frameworks/commands/sdd/generate-task-plan.md +199 -5
- package/frameworks/commands/sdd/generate-tech-direction.md +43 -0
- package/frameworks/commands/sdd/generate-tech-spec.md +218 -0
- package/frameworks/commands/sdd/generate-tests.md +2 -2
- package/frameworks/commands/sdd/run_tasks.md +391 -43
- package/frameworks/commands/sdd/run_tasks_withlinear.md +276 -37
- package/frameworks/commands/sdd/status.md +160 -0
- package/frameworks/commands/sdd/validate-sdd.md +18 -2
- package/frameworks/commands/sync-tasks-to-linear.md +588 -588
- package/frameworks/commands/taskcard/generate-taskcard.md +113 -25
- package/frameworks/commands/taskcard/run-taskcard.md +203 -34
- package/frameworks/skills/ministack-intent-expert/SKILL.md +16 -3
- package/frameworks/skills/ministack-intent-expert/templates/intent-template.md +1 -1
- package/frameworks/skills/ministack-scope-expert/SKILL.md +19 -11
- package/frameworks/skills/ministack-scope-expert/templates/scope-template.md +1 -1
- package/frameworks/skills/ministack-tasks-expert/SKILL.md +204 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_plan_template.md +78 -0
- package/frameworks/skills/ministack-tasks-expert/templates/task_template.md +103 -0
- package/frameworks/skills/ministack-tech-direction-expert/SKILL.md +230 -0
- package/frameworks/skills/ministack-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/ministack-tech-direction-expert/templates/tech_direction-template.md +17 -0
- package/frameworks/skills/prompt-engineer-expert/SKILL.md +232 -0
- package/frameworks/skills/prompt-engineer-expert/templates/prompt_template.md +139 -0
- package/frameworks/skills/sdd-prd-expert/SKILL.md +155 -95
- package/frameworks/skills/sdd-prd-expert/evals/evals.json +59 -0
- package/frameworks/skills/sdd-prd-expert/templates/prd_template.md +46 -46
- package/frameworks/skills/sdd-prd-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-task-plan-expert/SKILL.md +191 -201
- package/frameworks/skills/sdd-task-plan-expert/evals/evals.json +109 -0
- package/frameworks/skills/sdd-task-plan-expert/templates/task_plan_template.md +33 -33
- package/frameworks/skills/sdd-task-plan-expert/templates/task_template.md +58 -32
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.json +99 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/benchmark.md +64 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/response.md +134 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/outputs/transcript.md +68 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/response.md +525 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/outputs/transcript.md +30 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-1-happy-path/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/response.md +1126 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/outputs/transcript.md +131 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/response.md +452 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/outputs/transcript.md +78 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-2-spec-simples/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/response.md +101 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/outputs/transcript.md +133 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/with_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/response.md +248 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/outputs/transcript.md +49 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/eval-3-sem-user-stories/without_skill/timing.json +5 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-1/review.html +1325 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.json +94 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/benchmark.md +67 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/response.md +117 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/outputs/transcript.md +91 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/response.md +694 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/outputs/transcript.md +45 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-1-happy-path/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/response.md +1087 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/outputs/transcript.md +124 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/response.md +458 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/outputs/transcript.md +84 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-2-spec-simples/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/eval_metadata.json +12 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/response.md +70 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/outputs/transcript.md +148 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/with_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/grading.json +32 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/response.md +249 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/outputs/transcript.md +80 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/eval-3-sem-user-stories/without_skill/timing.json +1 -0
- package/frameworks/skills/sdd-task-plan-expert-workspace/iteration-2/review.html +1325 -0
- package/frameworks/skills/sdd-tech-direction-expert/SKILL.md +235 -0
- package/frameworks/skills/sdd-tech-direction-expert/evals/evals.json +1 -0
- package/frameworks/skills/sdd-tech-direction-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/sdd-tech-spec-expert/SKILL.md +317 -0
- package/frameworks/skills/sdd-tech-spec-expert/evals/evals.json +199 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/spec_tech_template.md +290 -0
- package/frameworks/skills/sdd-tech-spec-expert/templates/tech_direction-template.md +23 -0
- package/frameworks/skills/taskcard-expert/SKILL.md +40 -77
- package/frameworks/skills/taskcard-expert/templates/template.md +0 -2
- package/frameworks/templates/prompt_template.md +44 -1
- package/package.json +1 -1
- package/frameworks/commands/ministack/generate-tests.md +0 -37
- package/frameworks/commands/sdd/generate-spec-tech.md +0 -37
- package/frameworks/commands/taskcard/generate-tests.md +0 -37
- package/frameworks/skills/ministack-expert/SKILL.md +0 -415
- package/frameworks/skills/ministack-expert/templates/tasks-template.md +0 -141
- package/frameworks/skills/ministack-qa-expert/SKILL.md +0 -273
- package/frameworks/skills/ministack-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/ministack-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-qa-expert/SKILL.md +0 -284
- package/frameworks/skills/sdd-qa-expert/templates/task_tests_template.md +0 -24
- package/frameworks/skills/sdd-qa-expert/templates/test_strategy_template.md +0 -75
- package/frameworks/skills/sdd-spec-tech-expert/SKILL.md +0 -387
- package/frameworks/skills/sdd-spec-tech-expert/templates/spec_tech_template.md +0 -246
- package/frameworks/skills/sdd-spec-tech-expert/templates/tech_direction-template.md +0 -23
- package/frameworks/skills/taskcard-qa-expert/SKILL.md +0 -265
- package/frameworks/skills/taskcard-qa-expert/templates/task_tests_template.md +0 -78
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
# Testes da Task
|
|
2
|
-
|
|
3
|
-
## 6.1 Testes Unitarios
|
|
4
|
-
- [ ] **[arquivo_teste] TestNomeFuncao_Sucesso** — Cenario: [descricao precisa do cenario]. Input: [dados]. Expected: [resultado]. Mock: [o que mockar]
|
|
5
|
-
- [ ] **[arquivo_teste] TestNomeFuncao_ErroValidacao** — Cenario: [descricao]. Input: [dados invalidos]. Expected: [erro especifico]
|
|
6
|
-
- [ ] **[arquivo_teste] TestNomeFuncao_ErroDependencia** — Cenario: [descricao]. Input: [dados validos]. Expected: [erro wrapped]. Mock: [dependencia retorna erro]
|
|
7
|
-
|
|
8
|
-
## 6.2 Testes de Integracao
|
|
9
|
-
- [ ] **[arquivo_teste] TestIntegracao_FluxoCompleto** — Setup: [banco in-memory, migracoes]. Fluxo: [create -> get -> verify]. Validacao: [dados consistentes]
|
|
10
|
-
- [ ] **[arquivo_teste] TestIntegracao_ErroConstraint** — Setup: [registro existente]. Fluxo: [insert duplicado]. Validacao: [erro de constraint]
|
|
11
|
-
|
|
12
|
-
## 6.3 Testes E2E
|
|
13
|
-
- [ ] **[arquivo_teste] TestE2E_FluxoPrincipal** — Pre-condicao: [estado inicial]. Passos: [request -> validar response -> verificar banco]. Pos-condicao: [estado final]
|
|
14
|
-
|
|
15
|
-
## 6.4 Cenarios de Erro
|
|
16
|
-
- [ ] **Cenario: [descricao]** — Trigger: [o que causa o erro]. Expected: [codigo de status, mensagem]. Camada: [handler/service/repo]
|
|
17
|
-
- [ ] **Cenario: [descricao]** — Trigger: [input invalido]. Expected: [codigo/status de validacao invalida, mensagem]
|
|
18
|
-
|
|
19
|
-
### Testes Existentes a Modificar
|
|
20
|
-
| Arquivo | Motivo da Modificacao |
|
|
21
|
-
|---------|----------------------|
|
|
22
|
-
| | |
|
|
23
|
-
|
|
24
|
-
> Se nenhum teste existente precisa ser modificado, indicar "Nenhum teste existente impactado."
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
# Estrategia de Testes
|
|
2
|
-
|
|
3
|
-
## 14.1 Testes Unitarios
|
|
4
|
-
|
|
5
|
-
### Apresentacao: [NomeComponente] (handler, controller, widget, page)
|
|
6
|
-
| Cenario | Metodo | Input | Resultado Esperado | Mock |
|
|
7
|
-
|---------|--------|-------|-------------------|------|
|
|
8
|
-
| Sucesso - criar recurso | CreateX | request valido | response com dados, status de sucesso | camada de negocio retorna sucesso |
|
|
9
|
-
| Erro - validacao campo obrigatorio | CreateX | request sem campo X | status de validacao invalida | — (falha antes da camada de negocio) |
|
|
10
|
-
| Erro - recurso nao encontrado | GetX | id inexistente | status not found | camada de negocio retorna erro not found |
|
|
11
|
-
| Erro - interno | CreateX | request valido | status de erro interno | camada de negocio retorna erro generico |
|
|
12
|
-
|
|
13
|
-
### Service: [NomeService]
|
|
14
|
-
| Cenario | Metodo | Input | Resultado Esperado | Mock |
|
|
15
|
-
|---------|--------|-------|-------------------|------|
|
|
16
|
-
| Sucesso - regra de negocio X | MetodoY | dados validos | resultado esperado | repo retorna dados |
|
|
17
|
-
| Erro - validacao de negocio | MetodoY | dados invalidos | ErrSpecifico | — |
|
|
18
|
-
| Erro - dependencia falha | MetodoY | dados validos | erro wrapeado | repo retorna erro |
|
|
19
|
-
|
|
20
|
-
### Dados: [NomeComponente] (repository, DAO, data source)
|
|
21
|
-
| Cenario | Metodo | Input | Resultado Esperado | Setup |
|
|
22
|
-
|---------|--------|-------|-------------------|-------|
|
|
23
|
-
| Sucesso - inserir registro | Create | params validos | entidade com ID gerado | banco limpo |
|
|
24
|
-
| Sucesso - buscar por ID | GetByID | id existente | entidade completa | inserir registro antes |
|
|
25
|
-
| Erro - registro duplicado | Create | dados duplicados (unique constraint) | erro de constraint | inserir registro antes |
|
|
26
|
-
| Erro - nao encontrado | GetByID | id inexistente | erro not found | banco limpo |
|
|
27
|
-
|
|
28
|
-
---
|
|
29
|
-
|
|
30
|
-
## 14.2 Testes de Integracao
|
|
31
|
-
|
|
32
|
-
### Integracao: [Camada A + Camada B]
|
|
33
|
-
- **Setup**: (banco in-memory ou de teste, migracoes/schema aplicados, fixtures)
|
|
34
|
-
- **Cenarios**:
|
|
35
|
-
| Cenario | Fluxo | Resultado Esperado |
|
|
36
|
-
|---------|-------|-------------------|
|
|
37
|
-
| CRUD completo | Create -> Get -> Update -> Delete | Cada operacao retorna resultado correto |
|
|
38
|
-
| Query com filtros | List com parametros | Resultados filtrados corretamente |
|
|
39
|
-
| Transacao com erro | Operacao que falha no meio | Rollback completo, estado consistente |
|
|
40
|
-
|
|
41
|
-
---
|
|
42
|
-
|
|
43
|
-
## 14.3 Testes End-to-End (E2E)
|
|
44
|
-
|
|
45
|
-
### Fluxo: [Nome do Fluxo Critico]
|
|
46
|
-
- **Pre-condicoes**: (estado inicial do sistema)
|
|
47
|
-
- **Passos**:
|
|
48
|
-
1. Cliente envia request X
|
|
49
|
-
2. Sistema processa e retorna Y
|
|
50
|
-
3. Verificar estado do banco
|
|
51
|
-
4. Cliente envia request Z
|
|
52
|
-
5. Sistema retorna W
|
|
53
|
-
- **Pos-condicoes**: (estado final esperado)
|
|
54
|
-
- **Validacoes**: (assertions sobre dados, logs, side effects)
|
|
55
|
-
|
|
56
|
-
---
|
|
57
|
-
|
|
58
|
-
## 14.4 Cenarios de Erro
|
|
59
|
-
|
|
60
|
-
| Cenario | Trigger | Comportamento Esperado | Codigo/Status | Log Esperado |
|
|
61
|
-
|---------|---------|----------------------|---------------|-------------|
|
|
62
|
-
| Timeout de banco | Conexao lenta | Erro interno com mensagem clara | [erro interno da stack] | "falha ao conectar..." |
|
|
63
|
-
| Dados duplicados | Insert com unique constraint | Erro de conflito | [erro de conflito da stack] | "registro ja existe..." |
|
|
64
|
-
| Auth invalida | Token expirado/invalido | Erro de autenticacao | [erro auth da stack] | "token invalido..." |
|
|
65
|
-
| Payload invalido | Campos fora do limite | Erro de validacao | [erro validacao da stack] | "erro de validacao..." |
|
|
66
|
-
| Recurso inexistente | ID nao encontrado | Erro not found | [erro not found da stack] | "recurso nao encontrado..." |
|
|
67
|
-
|
|
68
|
-
### Rastreabilidade: Criterios de Aceite -> Testes
|
|
69
|
-
|
|
70
|
-
| Criterio (CA-XX) | Testes Unitarios | Testes Integracao | Testes E2E |
|
|
71
|
-
|------------------|-----------------|------------------|------------|
|
|
72
|
-
| CA-01 | handler_test:TestCreate, service_test:TestCreateSuccess | repo_test:TestCRUD | e2e_test:TestFlowCompleto |
|
|
73
|
-
| CA-02 | | | |
|
|
74
|
-
|
|
75
|
-
> Cada CA-XX do PRD deve ter pelo menos um teste correspondente.
|
|
@@ -1,387 +0,0 @@
|
|
|
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
|