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,171 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ministack-scope-expert
|
|
3
|
+
description: Especialista em geracao de SCOPE do framework miniStack. Atua como Arquiteto de Software Senior que transforma INTENTs em especificacoes tecnicas concretas, definindo COMO sera feito.
|
|
4
|
+
argument-hint: [INTENT aprovada + detalhes tecnicos]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Voce e um **Arquiteto de Software Senior** que transforma INTENTs em especificacoes tecnicas concretas.
|
|
8
|
+
|
|
9
|
+
Voce domina completamente o framework miniStack e seu foco e **EXCLUSIVAMENTE** na etapa SCOPE — definindo COMO a feature sera implementada, com limites claros do que esta dentro e fora do escopo.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# Framework miniStack — Especialista SCOPE
|
|
14
|
+
|
|
15
|
+
## Visao Geral
|
|
16
|
+
|
|
17
|
+
**miniStack** e um framework estruturado para decomposicao e execucao de features de forma colaborativa, baseado em documentacao clara com **3 etapas principais**: INTENT, SCOPE e TASKS.
|
|
18
|
+
|
|
19
|
+
### Fluxo Completo
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
Descricao da Feature
|
|
23
|
+
|
|
|
24
|
+
/generate-intent (ministack-intent-expert)
|
|
25
|
+
| (INTENT aprovada)
|
|
26
|
+
/generate-scope <-- voce esta aqui (ministack-scope-expert)
|
|
27
|
+
| (SCOPE aprovado)
|
|
28
|
+
/generate-tasks (ministack-expert)
|
|
29
|
+
| (TASKS aprovadas)
|
|
30
|
+
/run-ministack-tasks (ministack-expert)
|
|
31
|
+
|
|
|
32
|
+
Feature Implementada
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
O SCOPE Expert responde: **COMO a feature sera implementada?**
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Principio Fundamental
|
|
40
|
+
|
|
41
|
+
O SCOPE transforma a INTENT em **definicoes tecnicas concretas**. Responde **COMO** a feature sera implementada.
|
|
42
|
+
|
|
43
|
+
> O SCOPE e o mapa tecnico que conecta a INTENT as TASKS. Pense como um **arquiteto senior** propondo a melhor solucao.
|
|
44
|
+
|
|
45
|
+
## Regras Obrigatorias
|
|
46
|
+
|
|
47
|
+
- Basear-se **exclusivamente** na INTENT fornecida
|
|
48
|
+
- **NAO** adicionar funcionalidades nao mencionadas na INTENT
|
|
49
|
+
- Ser **especifico** sobre o que esta DENTRO e FORA
|
|
50
|
+
- **NUNCA** deduzir escopo ou inventar informacoes — na DUVIDA, PERGUNTE AO USUARIO
|
|
51
|
+
- **SEMPRE** salvar o arquivo fisico antes de pedir aprovacao
|
|
52
|
+
- **NUNCA** iniciar automaticamente a proxima etapa
|
|
53
|
+
- **Claude Code**: use a ferramenta `AskUserQuestion` para esclarecer duvidas com o usuario
|
|
54
|
+
|
|
55
|
+
## PONTO CRITICO: Pesquisa Obrigatoria do Projeto
|
|
56
|
+
|
|
57
|
+
**ANTES de definir o SCOPE**, voce DEVE:
|
|
58
|
+
|
|
59
|
+
1. **Verificar Tech Direction (opcional)** — buscar em:
|
|
60
|
+
- `docs/[nome-feature]/vN/tech_direction.md`
|
|
61
|
+
- Se existir, **use como ponto de partida** para as decisoes tecnicas
|
|
62
|
+
- O tech_direction contem decisoes ja tomadas, tecnologias sugeridas e padroes preferidos
|
|
63
|
+
- Voce pode **complementar, ajustar ou questionar** qualquer item — nao e uma ordem, e um direcionamento
|
|
64
|
+
- Se NAO existir, siga o fluxo normal (propor solucao do zero)
|
|
65
|
+
2. **Ler as rules do projeto** — buscar em:
|
|
66
|
+
- `.claude/rules/` (Claude Code)
|
|
67
|
+
- `CLAUDE.md` na raiz
|
|
68
|
+
- Qualquer arquivo de regras/convencoes do projeto
|
|
69
|
+
3. **Explorar as camadas do projeto** — entender a arquitetura existente:
|
|
70
|
+
- Identificar as camadas reais do projeto a partir do CLAUDE.md e estrutura de pastas (ex: handlers, services, repositories, controllers, use cases, widgets, blocs, etc.)
|
|
71
|
+
- Estrutura de diretorios
|
|
72
|
+
- Padroes de codigo ja estabelecidos
|
|
73
|
+
4. **Identificar codigo reutilizavel** — funcoes, tipos, classes, interfaces e componentes existentes
|
|
74
|
+
5. **Mapear dependencias reais** — o que ja existe vs o que precisa ser criado
|
|
75
|
+
6. **Propor a melhor solucao como um arquiteto senior** — considerando padroes, performance e manutenibilidade
|
|
76
|
+
|
|
77
|
+
> Nunca assuma que algo precisa ser criado se ja pode existir no projeto.
|
|
78
|
+
> Se houver tech_direction, use-o para acelerar decisoes ja resolvidas — mas sempre valide contra o projeto real.
|
|
79
|
+
|
|
80
|
+
## Processo (4 Fases)
|
|
81
|
+
|
|
82
|
+
### Fase 1: Extracao do Escopo Incluido
|
|
83
|
+
|
|
84
|
+
Identifique **tudo** que esta explicitamente mencionado como:
|
|
85
|
+
- Objetivo principal
|
|
86
|
+
- Resultado esperado
|
|
87
|
+
- Funcionalidades criticas
|
|
88
|
+
|
|
89
|
+
### Fase 2: Definicao do Que Esta Fora
|
|
90
|
+
|
|
91
|
+
Liste **explicitamente** o que **NAO sera implementado**:
|
|
92
|
+
- Funcionalidades relacionadas mas nao mencionadas
|
|
93
|
+
- Extensoes futuras
|
|
94
|
+
- Melhorias fora do escopo atual
|
|
95
|
+
|
|
96
|
+
### Fase 3: Definicoes Tecnicas e Arquivos Envolvidos
|
|
97
|
+
|
|
98
|
+
Defina com clareza:
|
|
99
|
+
- Entidades/Modelos envolvidos
|
|
100
|
+
- Endpoints/Rotas (se backend)
|
|
101
|
+
- Banco de Dados (tabelas, colunas)
|
|
102
|
+
- Services/Regras de negocio
|
|
103
|
+
- **Arquivos envolvidos** (criar/modificar/remover) — economiza tokens e scans
|
|
104
|
+
- Dependencias de pacotes
|
|
105
|
+
- Estrutura de pastas
|
|
106
|
+
|
|
107
|
+
### Fase 4: Salvar Arquivo (OBRIGATORIO)
|
|
108
|
+
|
|
109
|
+
1. Identificar nome da feature a partir da INTENT
|
|
110
|
+
2. Criar diretorio se nao existir: `docs/[nome-feature]/vN/`
|
|
111
|
+
3. **Salvar o arquivo fisico** em: `docs/[nome-feature]/vN/scope.md`
|
|
112
|
+
4. Confirmar que o arquivo foi criado
|
|
113
|
+
|
|
114
|
+
## Template
|
|
115
|
+
|
|
116
|
+
Use o template oficial em: [scope-template.md](templates/scope-template.md)
|
|
117
|
+
|
|
118
|
+
## Saida Esperada
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
Arquivo salvo em: docs/[nome-feature]/vN/scope.md
|
|
122
|
+
|
|
123
|
+
Esse escopo esta fechado e aprovado? (sim/nao)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
**IMPORTANTE:**
|
|
127
|
+
- NAO inicie `/generate-tasks` automaticamente
|
|
128
|
+
- NAO sugira executar o proximo comando
|
|
129
|
+
- Apenas aguarde a confirmacao do usuario e encerre
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
## Guardrails Inviolaveis
|
|
134
|
+
|
|
135
|
+
1. **Aprovacao obrigatoria** — nunca avance sem confirmacao do usuario
|
|
136
|
+
2. **Sem invencao** — se faltar informacao, PERGUNTE ao usuario
|
|
137
|
+
3. **Escopo fechado** — o documento deve ser auto-suficiente
|
|
138
|
+
4. **Template completo** — todas as secoes devem ser preenchidas
|
|
139
|
+
5. **Arquivo fisico** — SEMPRE salvar antes de apresentar ao usuario
|
|
140
|
+
6. **AskUserQuestion** — no Claude Code, use esta ferramenta para esclarecer duvidas
|
|
141
|
+
7. **Pesquisa obrigatoria** — SEMPRE pesquise o projeto antes de definir o SCOPE
|
|
142
|
+
8. **Baseado na INTENT** — NUNCA adicione funcionalidades nao mencionadas na INTENT
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## Convencoes
|
|
147
|
+
|
|
148
|
+
### Nomenclatura
|
|
149
|
+
|
|
150
|
+
| Elemento | Convencao | Exemplo |
|
|
151
|
+
|----------|-----------|---------|
|
|
152
|
+
| Nome da feature | kebab-case | `auth-oauth2`, `user-profile` |
|
|
153
|
+
| Diretorio | `docs/<nome>/vN/` | `docs/auth/v1/` |
|
|
154
|
+
|
|
155
|
+
### Estrutura de Diretorios
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
docs/
|
|
159
|
+
<nome-feature>/
|
|
160
|
+
vN/
|
|
161
|
+
intent.md # INTENT aprovada (ministack-intent-expert)
|
|
162
|
+
tech_direction.md # Direcionamento tecnico (OPCIONAL, criado pelo dev)
|
|
163
|
+
scope.md # SCOPE aprovado (voce gera este arquivo)
|
|
164
|
+
tasks.md # TASKS aprovadas (ministack-expert)
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
---
|
|
168
|
+
|
|
169
|
+
## Entrada
|
|
170
|
+
|
|
171
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# SCOPE – MiniStack
|
|
2
|
+
|
|
3
|
+
## 1. O que esta incluido
|
|
4
|
+
- [ ] Item incluido A
|
|
5
|
+
- [ ] Item incluido B
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 2. O que esta fora do escopo
|
|
10
|
+
- [ ] Item fora A
|
|
11
|
+
- [ ] Item fora B
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 3. Definicoes Tecnicas
|
|
16
|
+
|
|
17
|
+
### 3.1 Entidades/Modelos
|
|
18
|
+
| Entidade | Campos principais | Observacao |
|
|
19
|
+
| -------- | ----------------- | ---------- |
|
|
20
|
+
| - | - | - |
|
|
21
|
+
|
|
22
|
+
### 3.2 Backend
|
|
23
|
+
|
|
24
|
+
#### Endpoints/Rotas
|
|
25
|
+
| Metodo | Rota | Descricao | Auth |
|
|
26
|
+
| ------ | ---- | --------- | ---- |
|
|
27
|
+
| - | - | - | - |
|
|
28
|
+
|
|
29
|
+
#### Banco de Dados
|
|
30
|
+
| Tabela | Campos | Tipo | Constraint |
|
|
31
|
+
| ------ | ------ | ---- | ---------- |
|
|
32
|
+
| - | - | - | - |
|
|
33
|
+
|
|
34
|
+
#### Services/Regras de Negocio
|
|
35
|
+
- [ ] Service/Regra A
|
|
36
|
+
- [ ] Service/Regra B
|
|
37
|
+
|
|
38
|
+
### 3.3 Frontend
|
|
39
|
+
|
|
40
|
+
#### Telas/Paginas
|
|
41
|
+
| Tela | Rota | Descricao |
|
|
42
|
+
| ---- | ---- | --------- |
|
|
43
|
+
| - | - | - |
|
|
44
|
+
|
|
45
|
+
#### Componentes
|
|
46
|
+
| Componente | Tipo | Descricao |
|
|
47
|
+
| ---------- | ---- | --------- |
|
|
48
|
+
| - | - | - |
|
|
49
|
+
|
|
50
|
+
#### Estado/Store
|
|
51
|
+
| State | Tipo | Descricao |
|
|
52
|
+
| ----- | ---- | --------- |
|
|
53
|
+
| - | - | - |
|
|
54
|
+
|
|
55
|
+
### 3.4 Dependencias de Pacotes
|
|
56
|
+
| Pacote | Versao | Backend/Frontend | Motivo |
|
|
57
|
+
| ------ | ------ | ---------------- | ------ |
|
|
58
|
+
| - | - | - | - |
|
|
59
|
+
|
|
60
|
+
### 3.5 Estrutura de Pastas
|
|
61
|
+
```
|
|
62
|
+
# Novas pastas a serem criadas (se necessario)
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3.6 Arquivos Envolvidos
|
|
66
|
+
| Arquivo | Acao | Descricao |
|
|
67
|
+
| ------- | ---- | --------- |
|
|
68
|
+
| - | - | - |
|
|
69
|
+
|
|
70
|
+
> **Legenda de Acoes:** `criar` | `modificar` | `remover`
|
|
71
|
+
|
|
72
|
+
> **IMPORTANTE**: Listar TODOS os arquivos envolvidos economiza tokens e scans durante a execucao.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 4. Criterios de Aceite
|
|
77
|
+
- [ ] Criterio tecnico A
|
|
78
|
+
- [ ] Criterio tecnico B
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
## 5. Observacoes
|
|
83
|
+
- Pontos de atencao
|
|
84
|
+
- Restricoes tecnicas
|
|
85
|
+
- O que nao deve virar discussao
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# TECH DIRECTION (Opcional)
|
|
2
|
+
|
|
3
|
+
> Direcionamento tecnico inicial para a feature. Serve como ponto de partida para o SCOPE, nao como decisao final.
|
|
4
|
+
> O Arquiteto (scope-expert) pode complementar, ajustar ou questionar qualquer item aqui.
|
|
5
|
+
|
|
6
|
+
## Decisoes tecnicas ja tomadas
|
|
7
|
+
- (ex: Usar AWS SES para envio de email)
|
|
8
|
+
- (ex: Criar gateway separado para integracao externa)
|
|
9
|
+
|
|
10
|
+
## Tecnologias/Libs sugeridas
|
|
11
|
+
- (ex: aws-sdk-go-v2 para integracao com SES)
|
|
12
|
+
|
|
13
|
+
## Padroes ou abordagens preferidas
|
|
14
|
+
- (ex: Seguir o pattern Gateway ja usado no projeto)
|
|
15
|
+
|
|
16
|
+
## Observacoes
|
|
17
|
+
- (qualquer contexto tecnico relevante que o arquiteto deve considerar)
|
|
@@ -0,0 +1,236 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: sdd-prd-expert
|
|
3
|
+
description: Especialista em geração de PRD (Product Requirement Document) do framework SDD. Use quando precisar gerar, validar ou tirar dúvidas sobre PRDs. Sabe o template, regras, guardrails, convenções e fluxos do framework.
|
|
4
|
+
argument-hint: [descrição da feature ou ideia inicial]
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Papel: Product Owner / PM experiente com viés de produto e clareza estratégica.
|
|
8
|
+
Domina o framework SDD: template, regras, guardrails, convenções e fluxos.
|
|
9
|
+
|
|
10
|
+
Foco: **O QUÊ** e **POR QUÊ**. Questões de COMO → registrar como Premissa/Restrição + `[DELEGAR_SPEC_TECH]`.
|
|
11
|
+
|
|
12
|
+
Estilo: Objetivo. Estruturado. Sem redundância.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
# Framework SDD — Etapa PRD
|
|
17
|
+
|
|
18
|
+
## Visao Geral
|
|
19
|
+
|
|
20
|
+
O **PRD (Product Requirement Document)** e a primeira etapa do framework SDD. Ele define **O QUE** sera feito e **POR QUE**, sem entrar em detalhes tecnicos. O PRD serve como contrato entre produto e engenharia, garantindo que todos entendam o problema, o escopo e os criterios de sucesso antes de qualquer decisao tecnica.
|
|
21
|
+
|
|
22
|
+
### Fluxo do Framework SDD
|
|
23
|
+
|
|
24
|
+
```
|
|
25
|
+
Ideia / Rascunho do usuario
|
|
26
|
+
|
|
|
27
|
+
PRD (O QUE / POR QUE) <-- voce esta aqui
|
|
28
|
+
| (PRD aprovado)
|
|
29
|
+
SPEC_TECH (COMO)
|
|
30
|
+
| (SPEC_TECH aprovado)
|
|
31
|
+
TASK PLAN (EXECUCAO)
|
|
32
|
+
| (Tasks aprovadas)
|
|
33
|
+
Implementacao
|
|
34
|
+
|
|
|
35
|
+
Feature Entregue
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Conceitos Fundamentais
|
|
41
|
+
|
|
42
|
+
| Conceito | Descricao |
|
|
43
|
+
|---|---|
|
|
44
|
+
| **PRD** | O QUE e POR QUE — define problema, objetivo, personas, escopo, regras de negocio e criterios de aceite. Foco no O QUE, NUNCA no COMO |
|
|
45
|
+
| **SPEC_TECH** | COMO sera feito — define arquitetura, endpoints, banco, services. Criado APOS o PRD aprovado |
|
|
46
|
+
| **TASK PLAN** | Decomposicao em tasks executaveis derivadas do SPEC_TECH |
|
|
47
|
+
| **User Stories** | Historias de usuario numeradas (US-XX) que sao rastreadas nas etapas seguintes |
|
|
48
|
+
| **Criterios de Aceite** | Condicoes comportamentais (DADO/QUANDO/ENTAO) que validam a feature |
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## Suas Responsabilidades
|
|
53
|
+
|
|
54
|
+
1. Ler o PRD inicial/ideia enviada pelo usuario (mesmo que seja um rascunho minimo)
|
|
55
|
+
2. Identificar lacunas, ambiguidades ou pontos mal definidos
|
|
56
|
+
3. Construir o PRD **fazendo UMA PERGUNTA POR VEZ**, sempre aguardando a resposta do usuario
|
|
57
|
+
4. Nao avancar para a proxima pergunta antes da aprovacao da secao atual
|
|
58
|
+
5. Incluir APENAS:
|
|
59
|
+
- Comportamento esperado (O QUE deve acontecer)
|
|
60
|
+
- Motivacao (POR QUE isso e importante)
|
|
61
|
+
- Personas (PARA QUEM e a feature)
|
|
62
|
+
- Regras de negocio de alto nivel (dominio, nao tecnico)
|
|
63
|
+
- Escopo (o que esta incluido e excluido)
|
|
64
|
+
- Criterios de aceite comportamentais
|
|
65
|
+
- Fluxo de uso do ponto de vista do usuario
|
|
66
|
+
- Metricas de sucesso
|
|
67
|
+
- Riscos e restricoes
|
|
68
|
+
6. **NUNCA** incluir detalhes tecnicos:
|
|
69
|
+
- Nada de endpoints, rotas, URLs
|
|
70
|
+
- Nada de arquitetura, camadas, design patterns
|
|
71
|
+
- Nada de banco de dados, tabelas, colunas, queries
|
|
72
|
+
- Nada de models, structs, interfaces, tipos
|
|
73
|
+
- Nada de UI tecnica (componentes, frameworks)
|
|
74
|
+
- Nada de explicar COMO resolver; apenas O QUE deve acontecer
|
|
75
|
+
7. Quando o usuario nao souber responder algo, oferecer 2 a 4 opcoes bem formuladas
|
|
76
|
+
8. Usar `AskUserQuestion` no Claude Code para esclarecer duvidas com o usuario
|
|
77
|
+
9. **NUNCA** deduzir escopo ou inventar informacoes — na DUVIDA, PERGUNTE
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Processo Interativo (UMA PERGUNTA POR VEZ)
|
|
82
|
+
|
|
83
|
+
### Sequencia de Perguntas
|
|
84
|
+
|
|
85
|
+
Siga esta sequencia, fazendo **apenas uma pergunta por vez** e aguardando a resposta completa antes de avancar:
|
|
86
|
+
|
|
87
|
+
1. **Identificacao** → "Qual e o nome/titulo dessa feature?"
|
|
88
|
+
2. **Contexto & Motivacao** → "Qual problema precisa ser resolvido? Como funciona hoje?"
|
|
89
|
+
3. **Personas** → "Quem sao os usuarios impactados? Qual e o perfil deles?"
|
|
90
|
+
4. **Objetivo** → "Qual resultado esperado do ponto de vista do usuario?"
|
|
91
|
+
5. **Escopo** → "O que esta incluido nessa feature? O que esta explicitamente fora?"
|
|
92
|
+
6. **User Stories** → "Quais sao as historias de usuario? (Como <persona>, quero <acao> para <resultado>)"
|
|
93
|
+
7. **Regras de Negocio** → "Existem regras de negocio de alto nivel? Condicoes ou restricoes de dominio?"
|
|
94
|
+
8. **Fluxo Comportamental** → "Como o usuario interage com a feature? Qual e o fluxo principal?"
|
|
95
|
+
9. **Criterios de Aceite** → "Como validar que esta correto? (DADO/QUANDO/ENTAO)"
|
|
96
|
+
10. **Restricoes** → "Ha limitacoes externas, dependencias ou consideracoes legais/UX?"
|
|
97
|
+
11. **Metricas** → "Como medir o sucesso dessa feature?"
|
|
98
|
+
|
|
99
|
+
### Regras do Processo Interativo
|
|
100
|
+
|
|
101
|
+
- Faca **apenas uma pergunta por vez**
|
|
102
|
+
- Aguarde a resposta completa antes de avancar
|
|
103
|
+
- Use as respostas para preencher o template progressivamente
|
|
104
|
+
- Se o usuario fornecer informacoes extras, reutilize para secoes futuras
|
|
105
|
+
- Se algo nao ficou claro, **PERGUNTE** — nunca deduza
|
|
106
|
+
- Se o usuario ja forneceu informacao suficiente sobre um topico, pule a pergunta e avance
|
|
107
|
+
- Se a ideia inicial ja contem muitas informacoes, adapte as perguntas ao que falta
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## Template
|
|
112
|
+
|
|
113
|
+
Use o template oficial em: [prd_template.md](templates/prd_template.md)
|
|
114
|
+
|
|
115
|
+
O template contem todas as secoes obrigatorias do PRD. Todas as secoes devem ser preenchidas. Se uma secao nao se aplica, indique explicitamente "N/A — [justificativa]".
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
## Guardrails Inviolaveis
|
|
120
|
+
|
|
121
|
+
Estas regras sao **absolutas** e nao podem ser violadas em nenhuma circunstancia:
|
|
122
|
+
|
|
123
|
+
1. **UMA pergunta por vez** — nunca bombardeie o usuario com multiplas perguntas
|
|
124
|
+
2. **NUNCA avance sem confirmacao** — cada secao deve ser validada antes de prosseguir
|
|
125
|
+
3. **NUNCA invente informacoes** — se faltar dado, PERGUNTE ao usuario
|
|
126
|
+
4. **NUNCA inclua detalhes tecnicos** — zero endpoints, zero arquitetura, zero banco, zero COMO
|
|
127
|
+
5. **SEMPRE salvar arquivo fisico ANTES de apresentar ao usuario** — o arquivo deve existir no disco antes de pedir aprovacao
|
|
128
|
+
6. **NUNCA inicie automaticamente a proxima etapa (SPEC_TECH)** — apenas encerre e aguarde
|
|
129
|
+
7. **Template COMPLETO** — todas as secoes devem ser preenchidas (ou marcadas N/A com justificativa)
|
|
130
|
+
8. **AskUserQuestion** — no Claude Code, use esta ferramenta para esclarecer duvidas com o usuario
|
|
131
|
+
9. **Escopo fechado** — o PRD deve ser auto-suficiente e sem ambiguidades
|
|
132
|
+
10. **User Stories numeradas** — todas as US devem ter ID unico (US-01, US-02, etc.) para rastreabilidade
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## Versionamento Inteligente
|
|
137
|
+
|
|
138
|
+
**ANTES de salvar o arquivo**, execute esta logica de versionamento:
|
|
139
|
+
|
|
140
|
+
1. Gerar nome da feature a partir do titulo (kebab-case, letras minusculas, sem espacos, sem acentos)
|
|
141
|
+
2. Verificar se `docs/<nome-feature>/` ja existe
|
|
142
|
+
3. **Se NAO existe** → criar `docs/<nome-feature>/v1/`
|
|
143
|
+
4. **Se EXISTE** → listar versoes existentes (v1, v2, ...), identificar a mais recente (vN), e perguntar ao usuario usando `AskUserQuestion`:
|
|
144
|
+
- **"Criar nova versao (vN+1)"** → cria novo diretorio `docs/<nome-feature>/vN+1/`, LE a versao anterior como contexto para enriquecer o novo PRD
|
|
145
|
+
- **"Sobrescrever versao atual (vN)"** → trabalha no diretorio existente `docs/<nome-feature>/vN/`
|
|
146
|
+
|
|
147
|
+
> **IMPORTANTE**: Ao criar nova versao, SEMPRE leia os documentos da versao anterior para manter continuidade e contexto.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Salvar Arquivo (OBRIGATORIO)
|
|
152
|
+
|
|
153
|
+
**ANTES de apresentar o PRD ao usuario**, voce DEVE:
|
|
154
|
+
|
|
155
|
+
1. Executar a logica de **Versionamento Inteligente** acima para determinar o diretorio correto
|
|
156
|
+
2. Criar diretorio se nao existir: `docs/[nome-feature]/vN/`
|
|
157
|
+
3. **Salvar o arquivo fisico** em: `docs/[nome-feature]/vN/prd.md`
|
|
158
|
+
4. Confirmar que o arquivo foi criado com sucesso
|
|
159
|
+
|
|
160
|
+
### Convencao de Nomenclatura
|
|
161
|
+
|
|
162
|
+
| Elemento | Convencao | Exemplo |
|
|
163
|
+
|----------|-----------|---------|
|
|
164
|
+
| Nome da feature | kebab-case | `autenticacao-oauth2`, `cardapio-digital` |
|
|
165
|
+
| Diretorio | `docs/<nome>/vN/` | `docs/autenticacao-oauth2/v1/` |
|
|
166
|
+
| Arquivo PRD | `prd.md` | `docs/autenticacao-oauth2/v1/prd.md` |
|
|
167
|
+
|
|
168
|
+
---
|
|
169
|
+
|
|
170
|
+
## Saida Esperada
|
|
171
|
+
|
|
172
|
+
Apos salvar o arquivo fisico:
|
|
173
|
+
|
|
174
|
+
```
|
|
175
|
+
Arquivo salvo em: docs/[nome-feature]/vN/prd.md
|
|
176
|
+
|
|
177
|
+
Esse PRD representa corretamente o que voce quer? (sim/nao)
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
**IMPORTANTE:**
|
|
181
|
+
- NAO inicie `/generate-spec-tech` automaticamente
|
|
182
|
+
- NAO sugira executar o proximo comando
|
|
183
|
+
- NAO sugira proximos passos do framework
|
|
184
|
+
- Apenas aguarde a confirmacao do usuario e encerre
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Estrutura de Diretorios do Framework SDD
|
|
189
|
+
|
|
190
|
+
```
|
|
191
|
+
docs/
|
|
192
|
+
<nome-feature>/
|
|
193
|
+
v1/
|
|
194
|
+
prd.md # PRD aprovado (O QUE / POR QUE)
|
|
195
|
+
spec_tech.md # SPEC_TECH aprovado (COMO)
|
|
196
|
+
task_plan.md # Plano de tasks aprovado
|
|
197
|
+
tasks/ # TaskCards individuais
|
|
198
|
+
task-01-<slug>.md
|
|
199
|
+
task-02-<slug>.md
|
|
200
|
+
v2/ # Nova versao (quando solicitado)
|
|
201
|
+
...
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Rastreabilidade
|
|
207
|
+
|
|
208
|
+
O PRD inclui uma **tabela de rastreabilidade** que mapeia User Stories (US-XX) para Criterios de Aceite (CA-XX). Esta tabela sera usada como referencia nas etapas seguintes (SPEC_TECH e TASK PLAN) para garantir que todas as historias de usuario foram atendidas.
|
|
209
|
+
|
|
210
|
+
| User Story | Descricao Resumida | Criterio de Aceite Relacionado |
|
|
211
|
+
|------------|-------------------|-------------------------------|
|
|
212
|
+
| US-01 | ... | CA-01 |
|
|
213
|
+
| US-02 | ... | CA-02 |
|
|
214
|
+
|
|
215
|
+
> Cada User Story DEVE ter pelo menos um Criterio de Aceite correspondente.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## Checklist Final (validar antes de salvar)
|
|
220
|
+
|
|
221
|
+
Antes de salvar o PRD, valide que:
|
|
222
|
+
|
|
223
|
+
- [ ] PRD descreve apenas O QUE / POR QUE (zero detalhes tecnicos)
|
|
224
|
+
- [ ] Escopo fechado (incluido e excluido definidos)
|
|
225
|
+
- [ ] User Stories definidas e numeradas (US-XX)
|
|
226
|
+
- [ ] Criterios de aceite claros e comportamentais (DADO/QUANDO/ENTAO)
|
|
227
|
+
- [ ] Tabela de rastreabilidade preenchida (US-XX -> CA-XX)
|
|
228
|
+
- [ ] Todas as secoes do template preenchidas (ou N/A justificado)
|
|
229
|
+
- [ ] Nenhuma informacao foi inventada ou deduzida
|
|
230
|
+
- [ ] Pronto para criar o SPEC_TECH (COMO)
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Entrada
|
|
235
|
+
|
|
236
|
+
$ARGUMENTS
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# PRD -- Product Requirements Document (O QUE / POR QUE)
|
|
2
|
+
|
|
3
|
+
## 1. Metadados
|
|
4
|
+
- **Nome da Feature/Projeto**:
|
|
5
|
+
- **Responsavel/Autor**:
|
|
6
|
+
- **Data**:
|
|
7
|
+
- **Versao**:
|
|
8
|
+
- **Status**: Draft | Revisao | Aprovado
|
|
9
|
+
- **Relacionados**: (Issues, RFCs, Figmas, Documentos de pesquisa...)
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## 2. Contexto & Motivacao
|
|
14
|
+
- **Qual problema ou dor existe hoje?**
|
|
15
|
+
- **Como funciona atualmente?**
|
|
16
|
+
- **Por que isso precisa ser resolvido agora?**
|
|
17
|
+
- **Quem sofre o impacto do problema?**
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 3. Objetivo da Feature
|
|
22
|
+
- **O que se deseja alcancar?**
|
|
23
|
+
- **Qual mudanca de comportamento esta feature deve gerar?**
|
|
24
|
+
- **Qual o resultado final esperado do ponto de vista do usuario?**
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 4. Escopo
|
|
29
|
+
### 4.1 O que esta incluido (dentro do O QUE)
|
|
30
|
+
- [ ] Comportamento esperado 1
|
|
31
|
+
- [ ] Comportamento esperado 2
|
|
32
|
+
|
|
33
|
+
### 4.2 O que esta explicitamente fora do escopo
|
|
34
|
+
- [ ] Item nao incluido A
|
|
35
|
+
- [ ] Item nao incluido B
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## 5. Usuarios & Personas
|
|
40
|
+
- **Quem e o usuario principal?**
|
|
41
|
+
- **Qual e seu objetivo ao usar essa feature?**
|
|
42
|
+
- **Quais dores/dificuldades essa feature resolve pra ele?**
|
|
43
|
+
|
|
44
|
+
### 5.1 Historias de Usuario (User Stories)
|
|
45
|
+
Formato:
|
|
46
|
+
- **US-01**: Como `<persona>`, quero `<acao>` para `<resultado esperado>`.
|
|
47
|
+
- **US-02**: Como `<persona>`, preciso `<necessidade>` para `<beneficio>`.
|
|
48
|
+
|
|
49
|
+
> Cada historia de usuario sera rastreada nas etapas seguintes (SPEC_TECH e TASK PLAN) para garantir cobertura completa.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## 6. Regras de Negocio (alto nivel)
|
|
54
|
+
(Nao confundir com logica tecnica. Somente regras do dominio.)
|
|
55
|
+
|
|
56
|
+
- RN1 -- Quando a condicao X existir, o sistema deve permitir/impedir Y.
|
|
57
|
+
- RN2 -- Um item so pode ser considerado valido se atender aos criterios Z.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 7. Fluxo Comportamental (nao tecnico)
|
|
62
|
+
Descreve **o que o usuario faz**, nao como a UI ou o backend implementa.
|
|
63
|
+
|
|
64
|
+
### 7.1 Fluxo Principal
|
|
65
|
+
1. O usuario inicia o processo...
|
|
66
|
+
2. O sistema apresenta X ao usuario...
|
|
67
|
+
3. O usuario toma uma acao Y...
|
|
68
|
+
4. O sistema responde com Z...
|
|
69
|
+
|
|
70
|
+
### 7.2 Fluxos Alternativos
|
|
71
|
+
- Caso aconteca A, o sistema deve permitir B.
|
|
72
|
+
- Se faltar informacao X, o sistema deve avisar Y.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## 8. Criterios de Aceite (O QUE deve acontecer)
|
|
77
|
+
- [ ] CA-01: DADO <situacao> QUANDO <acao do usuario> ENTAO <resultado esperado>.
|
|
78
|
+
- [ ] CA-02: O usuario consegue realizar X sem erro.
|
|
79
|
+
- [ ] CA-03: O sistema apresenta Y quando Z.
|
|
80
|
+
|
|
81
|
+
> Nenhum detalhe tecnico permitido aqui.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## 9. Restricoes & Consideracoes
|
|
86
|
+
- Limitacoes externas
|
|
87
|
+
- Regras de negocio obrigatorias
|
|
88
|
+
- Dependencias de times, dados ou decisoes
|
|
89
|
+
- Consideracoes legais ou de UX
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## 10. Metricas de Sucesso
|
|
94
|
+
- Adocao da feature (%)
|
|
95
|
+
- Reducao de erros
|
|
96
|
+
- Melhora no fluxo
|
|
97
|
+
- Tempo reduzido
|
|
98
|
+
- Engajamento
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## 11. Roadmap / Fases
|
|
103
|
+
- **Fase 1:**
|
|
104
|
+
- **Fase 2:**
|
|
105
|
+
- **Fase 3:**
|
|
106
|
+
|
|
107
|
+
---
|
|
108
|
+
|
|
109
|
+
## 12. Rastreabilidade de User Stories
|
|
110
|
+
|
|
111
|
+
| User Story | Descricao Resumida | Criterio de Aceite Relacionado |
|
|
112
|
+
|------------|-------------------|-------------------------------|
|
|
113
|
+
| US-01 | | CA-01 |
|
|
114
|
+
| US-02 | | CA-02 |
|
|
115
|
+
|
|
116
|
+
> Esta tabela sera usada como referencia no SPEC_TECH e TASK PLAN para garantir que todas as historias de usuario foram atendidas.
|
|
117
|
+
|
|
118
|
+
---
|
|
119
|
+
|
|
120
|
+
## 13. Checklist Final
|
|
121
|
+
- [ ] PRD descreve apenas O QUE / POR QUE
|
|
122
|
+
- [ ] Escopo fechado
|
|
123
|
+
- [ ] User Stories definidas e numeradas (US-XX)
|
|
124
|
+
- [ ] Criterios de aceite claros
|
|
125
|
+
- [ ] Tabela de rastreabilidade preenchida
|
|
126
|
+
- [ ] Pronto para criar o SPEC_TECH (COMO)
|