context-first-cli 2.3.2 → 2.3.5
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/README.md +108 -6
- package/dist/commands/feature.d.ts.map +1 -1
- package/dist/commands/feature.js +25 -26
- package/dist/commands/feature.js.map +1 -1
- package/package.json +1 -1
- package/dist/templates/commands/pt-BR/commands/engineer/plan.md +0 -301
- package/dist/templates/commands/pt-BR/commands/engineer/pr.md +0 -194
- package/dist/templates/commands/pt-BR/commands/engineer/pre-pr.md +0 -325
- package/dist/templates/commands/pt-BR/commands/engineer/start.md +0 -285
- package/dist/templates/commands/pt-BR/commands/engineer/work.md +0 -256
- package/dist/templates/commands/pt-BR/commands/products/check.md +0 -237
- package/dist/templates/commands/pt-BR/commands/products/collect.md +0 -170
- package/dist/templates/commands/pt-BR/commands/products/refine.md +0 -231
- package/dist/templates/commands/pt-BR/commands/products/spec.md +0 -271
- package/dist/templates/commands/pt-BR/commands/quality/metrics.md +0 -266
- package/dist/templates/commands/pt-BR/commands/quality/observe.md +0 -172
- package/dist/templates/commands/pt-BR/commands/warm-up.md +0 -59
|
@@ -1,237 +0,0 @@
|
|
|
1
|
-
# Validação contra Metaspecs
|
|
2
|
-
|
|
3
|
-
Este comando valida requisitos, decisões ou implementações contra as metaspecs do projeto.
|
|
4
|
-
|
|
5
|
-
## ⚠️ IMPORTANTE: Modo de Operação
|
|
6
|
-
|
|
7
|
-
**Este comando é para VALIDAÇÃO:**
|
|
8
|
-
- ✅ Validar contra metaspecs
|
|
9
|
-
- ✅ **LER** arquivos dos repositórios (read-only)
|
|
10
|
-
- ✅ Gerar relatório de validação
|
|
11
|
-
- ❌ **NÃO fazer checkout de branches nos repositórios principais**
|
|
12
|
-
- ❌ **NÃO modificar código**
|
|
13
|
-
- ❌ **NÃO modificar `context.md` ou `architecture.md`**
|
|
14
|
-
|
|
15
|
-
## Configuração
|
|
16
|
-
|
|
17
|
-
Leia `context-manifest.json` e `ai.properties.md` do orchestrator para obter repositórios, base_path e task_management_system.
|
|
18
|
-
|
|
19
|
-
## Objetivo
|
|
20
|
-
|
|
21
|
-
Garantir alinhamento com:
|
|
22
|
-
- Estratégia de produto
|
|
23
|
-
- Arquitetura técnica
|
|
24
|
-
- Padrões e convenções
|
|
25
|
-
- ADRs (Architecture Decision Records)
|
|
26
|
-
|
|
27
|
-
## 📋 Quando Usar
|
|
28
|
-
|
|
29
|
-
Execute este comando:
|
|
30
|
-
- Após `/spec` - validar PRD
|
|
31
|
-
- Após `/plan` - validar plano técnico
|
|
32
|
-
- Durante `/work` - validar decisões de implementação
|
|
33
|
-
- Antes de `/pr` - validação final
|
|
34
|
-
|
|
35
|
-
## 📚 Carregar MetaSpecs
|
|
36
|
-
|
|
37
|
-
**Localizar MetaSpecs automaticamente**:
|
|
38
|
-
1. Leia `context-manifest.json` do orchestrator
|
|
39
|
-
2. Encontre o repositório com `"role": "metaspecs"`
|
|
40
|
-
3. Leia `ai.properties.md` para obter o `base_path`
|
|
41
|
-
4. O metaspecs está em: `{base_path}/{metaspecs-repo-id}/`
|
|
42
|
-
|
|
43
|
-
## 🔍 Processo de Validação
|
|
44
|
-
|
|
45
|
-
### 1. Identificar Metaspecs Disponíveis
|
|
46
|
-
|
|
47
|
-
Navegue até o diretório de metaspecs e identifique quais metaspecs existem:
|
|
48
|
-
|
|
49
|
-
```bash
|
|
50
|
-
ls -la {base_path}/{metaspecs-repo-id}/
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
### 2. Validação de Negócio
|
|
54
|
-
|
|
55
|
-
Se existirem metaspecs de negócio (`repositório de MetaSpecs (seção de negócio)`):
|
|
56
|
-
|
|
57
|
-
```markdown
|
|
58
|
-
## Validação de Negócio
|
|
59
|
-
|
|
60
|
-
### Estratégia de Produto
|
|
61
|
-
- **Arquivo**: `repositório de MetaSpecs (seção de negócio)PRODUCT_STRATEGY.md`
|
|
62
|
-
- **Validação**: [Esta feature está alinhada com a estratégia?]
|
|
63
|
-
- **Status**: ✅ Alinhado / ⚠️ Parcialmente / ❌ Desalinhado
|
|
64
|
-
- **Notas**: [Observações]
|
|
65
|
-
|
|
66
|
-
### Personas
|
|
67
|
-
- **Arquivo**: `repositório de MetaSpecs (seção de negócio)CUSTOMER_PERSONAS.md`
|
|
68
|
-
- **Validação**: [Atende a persona correta?]
|
|
69
|
-
- **Status**: ✅ Alinhado / ⚠️ Parcialmente / ❌ Desalinhado
|
|
70
|
-
- **Notas**: [Observações]
|
|
71
|
-
|
|
72
|
-
### Métricas
|
|
73
|
-
- **Arquivo**: `repositório de MetaSpecs (seção de negócio)PRODUCT_METRICS.md`
|
|
74
|
-
- **Validação**: [Métrica de sucesso está documentada?]
|
|
75
|
-
- **Status**: ✅ Alinhado / ⚠️ Parcialmente / ❌ Desalinhado
|
|
76
|
-
- **Notas**: [Observações]
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### 3. Validação Técnica
|
|
80
|
-
|
|
81
|
-
Se existirem metaspecs técnicas (`repositório de MetaSpecs (seção técnica)`):
|
|
82
|
-
|
|
83
|
-
```markdown
|
|
84
|
-
## Validação Técnica
|
|
85
|
-
|
|
86
|
-
### Stack Tecnológica
|
|
87
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)meta/stack.md`
|
|
88
|
-
- **Validação**: [Usa apenas tecnologias aprovadas?]
|
|
89
|
-
- **Status**: ✅ Conforme / ⚠️ Exceção justificada / ❌ Não conforme
|
|
90
|
-
- **Notas**: [Tecnologias usadas e justificativas]
|
|
91
|
-
|
|
92
|
-
### Arquitetura
|
|
93
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)ARCHITECTURE.md`
|
|
94
|
-
- **Validação**: [Segue padrões arquiteturais?]
|
|
95
|
-
- **Status**: ✅ Conforme / ⚠️ Parcialmente / ❌ Não conforme
|
|
96
|
-
- **Notas**: [Observações]
|
|
97
|
-
|
|
98
|
-
### ADRs (Architecture Decision Records)
|
|
99
|
-
- **Diretório**: `repositório de MetaSpecs (seção técnica)adr/`
|
|
100
|
-
- **Validação**: [Respeita decisões arquiteturais documentadas?]
|
|
101
|
-
- **ADRs Relevantes**: [Lista de ADRs verificados]
|
|
102
|
-
- **Status**: ✅ Conforme / ⚠️ Conflito menor / ❌ Conflito crítico
|
|
103
|
-
- **Notas**: [Observações]
|
|
104
|
-
|
|
105
|
-
### Regras de Negócio
|
|
106
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)BUSINESS_LOGIC.md`
|
|
107
|
-
- **Validação**: [Implementa regras de negócio corretamente?]
|
|
108
|
-
- **Status**: ✅ Conforme / ⚠️ Parcialmente / ❌ Não conforme
|
|
109
|
-
- **Notas**: [Observações]
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
### 4. Validação de Padrões
|
|
113
|
-
|
|
114
|
-
```markdown
|
|
115
|
-
## Validação de Padrões
|
|
116
|
-
|
|
117
|
-
### Código
|
|
118
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)CODE_STANDARDS.md`
|
|
119
|
-
- **Validação**: [Segue padrões de código?]
|
|
120
|
-
- **Status**: ✅ Conforme / ⚠️ Pequenos desvios / ❌ Não conforme
|
|
121
|
-
|
|
122
|
-
### Testes
|
|
123
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)TEST_STANDARDS.md`
|
|
124
|
-
- **Validação**: [Estratégia de testes adequada?]
|
|
125
|
-
- **Status**: ✅ Conforme / ⚠️ Parcialmente / ❌ Não conforme
|
|
126
|
-
|
|
127
|
-
### Documentação
|
|
128
|
-
- **Arquivo**: `repositório de MetaSpecs (seção técnica)DOC_STANDARDS.md`
|
|
129
|
-
- **Validação**: [Documentação adequada?]
|
|
130
|
-
- **Status**: ✅ Conforme / ⚠️ Parcialmente / ❌ Não conforme
|
|
131
|
-
```
|
|
132
|
-
|
|
133
|
-
### 5. Identificação de Conflitos
|
|
134
|
-
|
|
135
|
-
Se houver conflitos ou desalinhamentos:
|
|
136
|
-
|
|
137
|
-
```markdown
|
|
138
|
-
## Conflitos Identificados
|
|
139
|
-
|
|
140
|
-
### Conflito 1: [Descrição]
|
|
141
|
-
- **Severidade**: Crítico / Alto / Médio / Baixo
|
|
142
|
-
- **Metaspec**: [Arquivo que está sendo violado]
|
|
143
|
-
- **Descrição**: [Detalhe do conflito]
|
|
144
|
-
- **Recomendação**: [Como resolver]
|
|
145
|
-
|
|
146
|
-
### Conflito 2: [Descrição]
|
|
147
|
-
[Mesmo formato acima]
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### 6. Exceções Justificadas
|
|
151
|
-
|
|
152
|
-
Se houver desvios justificados:
|
|
153
|
-
|
|
154
|
-
```markdown
|
|
155
|
-
## Exceções Justificadas
|
|
156
|
-
|
|
157
|
-
### Exceção 1: [Descrição]
|
|
158
|
-
- **Metaspec**: [Arquivo que está sendo desviado]
|
|
159
|
-
- **Desvio**: [O que está diferente]
|
|
160
|
-
- **Justificativa**: [Por que é necessário]
|
|
161
|
-
- **Aprovação**: [Quem aprovou]
|
|
162
|
-
- **Documentação**: [Onde foi documentado]
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
## 📄 Salvamento do Relatório de Validação
|
|
166
|
-
|
|
167
|
-
**PRIORIDADE 1: Usar MCP (Model Context Protocol)**
|
|
168
|
-
|
|
169
|
-
- Leia `ai.properties.md` do orchestrator para identificar o `task_management_system`
|
|
170
|
-
- Use o MCP apropriado para adicionar o relatório à issue:
|
|
171
|
-
- Adicione como comentário na issue
|
|
172
|
-
- Atualize labels/tags conforme resultado (ex: "validated", "needs-adjustment", "blocked")
|
|
173
|
-
- Se houver conflitos críticos, atualize status da issue
|
|
174
|
-
- Informe ao usuário: "✅ Relatório de validação adicionado à issue [ID]"
|
|
175
|
-
|
|
176
|
-
**FALLBACK: Criar arquivo .md apenas se MCP falhar**
|
|
177
|
-
|
|
178
|
-
Se o MCP não estiver disponível ou falhar, crie `./.sessions/<ISSUE-ID>/check-report.md`:
|
|
179
|
-
|
|
180
|
-
```markdown
|
|
181
|
-
# Relatório de Validação - [ISSUE-ID]
|
|
182
|
-
|
|
183
|
-
**Data**: [data/hora]
|
|
184
|
-
**Fase**: [spec/plan/work/pre-pr]
|
|
185
|
-
|
|
186
|
-
## Status Geral
|
|
187
|
-
✅ Validado / ⚠️ Validado com ressalvas / ❌ Não validado
|
|
188
|
-
|
|
189
|
-
## Validações Realizadas
|
|
190
|
-
- Negócio: ✅ / ⚠️ / ❌
|
|
191
|
-
- Técnica: ✅ / ⚠️ / ❌
|
|
192
|
-
- Padrões: ✅ / ⚠️ / ❌
|
|
193
|
-
|
|
194
|
-
## Conflitos
|
|
195
|
-
[Lista de conflitos, se houver]
|
|
196
|
-
|
|
197
|
-
## Exceções
|
|
198
|
-
[Lista de exceções justificadas, se houver]
|
|
199
|
-
|
|
200
|
-
## Recomendações
|
|
201
|
-
1. [Recomendação 1]
|
|
202
|
-
2. [Recomendação 2]
|
|
203
|
-
|
|
204
|
-
## Aprovação
|
|
205
|
-
- [ ] Aprovado para prosseguir
|
|
206
|
-
- [ ] Requer ajustes
|
|
207
|
-
- [ ] Bloqueado
|
|
208
|
-
```
|
|
209
|
-
|
|
210
|
-
Informe ao usuário: "⚠️ Relatório salvo localmente em .sessions/ (task manager não disponível)"
|
|
211
|
-
|
|
212
|
-
## 🚨 Ação em Caso de Conflitos
|
|
213
|
-
|
|
214
|
-
Se conflitos críticos forem encontrados:
|
|
215
|
-
1. 🛑 **PARE** o processo atual
|
|
216
|
-
2. 📝 **DOCUMENTE** todos os conflitos
|
|
217
|
-
3. 💬 **ALERTE** o usuário e stakeholders
|
|
218
|
-
4. **Via MCP**: Atualize status da issue para "Bloqueado" ou "Requer Ajustes"
|
|
219
|
-
5. 🔄 **AJUSTE** o plano/implementação conforme necessário
|
|
220
|
-
6. ✅ **REVALIDE** após ajustes
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
**Argumentos fornecidos**:
|
|
225
|
-
|
|
226
|
-
```
|
|
227
|
-
#$ARGUMENTS
|
|
228
|
-
```
|
|
229
|
-
|
|
230
|
-
---
|
|
231
|
-
|
|
232
|
-
## 🎯 Resultado
|
|
233
|
-
|
|
234
|
-
Após validação:
|
|
235
|
-
- Se ✅: Prossiga para próxima fase
|
|
236
|
-
- Se ⚠️: Documente ressalvas e prossiga com aprovação
|
|
237
|
-
- Se ❌: Corrija conflitos antes de prosseguir
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
# Coleta de Ideias e Requisitos
|
|
2
|
-
|
|
3
|
-
Você é um especialista em produto responsável por coletar e documentar novas ideias, features ou bugs.
|
|
4
|
-
|
|
5
|
-
## ⚠️ IMPORTANTE: Este Comando NÃO Implementa Código
|
|
6
|
-
|
|
7
|
-
**Este comando é APENAS para planejamento e documentação:**
|
|
8
|
-
- ✅ Coletar e entender requisitos
|
|
9
|
-
- ✅ Criar issue no task manager via MCP
|
|
10
|
-
- ✅ Fazer perguntas de esclarecimento
|
|
11
|
-
- ✅ **LER** arquivos dos repositórios principais (read-only)
|
|
12
|
-
- ❌ **NÃO implementar código**
|
|
13
|
-
- ❌ **NÃO fazer edits em arquivos de código**
|
|
14
|
-
- ❌ **NÃO fazer checkout de branches nos repositórios principais**
|
|
15
|
-
- ❌ **NÃO fazer commits**
|
|
16
|
-
|
|
17
|
-
**Próximo passo**: `/refine [ISSUE-ID]` para refinar os requisitos coletados.
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Configuração
|
|
22
|
-
|
|
23
|
-
Leia `context-manifest.json` e `ai.properties.md` do orchestrator para obter repositórios, base_path e task_management_system.
|
|
24
|
-
|
|
25
|
-
## Objetivo
|
|
26
|
-
|
|
27
|
-
Entender a solicitação do usuário e capturá-la como issue no task manager (via MCP).
|
|
28
|
-
|
|
29
|
-
**Nesta fase, você NÃO precisa:**
|
|
30
|
-
- ❌ Escrever especificação completa
|
|
31
|
-
- ❌ Validar contra metaspecs (isso é feito no `/refine` ou `/spec`)
|
|
32
|
-
- ❌ Detalhar implementação técnica
|
|
33
|
-
|
|
34
|
-
Apenas certifique-se de que a ideia esteja **adequadamente compreendida**.
|
|
35
|
-
|
|
36
|
-
## Formato da Issue
|
|
37
|
-
|
|
38
|
-
```markdown
|
|
39
|
-
# [Título Claro e Descritivo]
|
|
40
|
-
|
|
41
|
-
## Descrição
|
|
42
|
-
[2-3 parágrafos explicando o que é a feature/bug e por que é importante]
|
|
43
|
-
|
|
44
|
-
## Tipo
|
|
45
|
-
- [ ] Nova Feature
|
|
46
|
-
- [ ] Melhoria de Feature Existente
|
|
47
|
-
- [ ] Bug
|
|
48
|
-
- [ ] Tech Debt
|
|
49
|
-
- [ ] Documentação
|
|
50
|
-
|
|
51
|
-
## Contexto Adicional
|
|
52
|
-
[Informações relevantes: onde o bug ocorre, inspiração para a feature, etc.]
|
|
53
|
-
|
|
54
|
-
## Repositórios Afetados
|
|
55
|
-
[Liste quais repositórios do projeto serão impactados]
|
|
56
|
-
|
|
57
|
-
## Prioridade Sugerida
|
|
58
|
-
- [ ] 🔴 Crítica
|
|
59
|
-
- [ ] 🟡 Alta
|
|
60
|
-
- [ ] 🟢 Média
|
|
61
|
-
- [ ] ⚪ Baixa (Backlog)
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
## Processo de Coleta
|
|
65
|
-
|
|
66
|
-
1. **Entendimento Inicial**
|
|
67
|
-
- Faça perguntas de esclarecimento se necessário
|
|
68
|
-
- Identifique: É feature nova? Melhoria? Bug?
|
|
69
|
-
- Identifique quais repositórios serão afetados
|
|
70
|
-
|
|
71
|
-
2. **Rascunho da Issue**
|
|
72
|
-
- Título claro (máximo 10 palavras)
|
|
73
|
-
- Descrição objetiva (2-3 parágrafos)
|
|
74
|
-
- Contexto adicional relevante
|
|
75
|
-
- Repositórios afetados
|
|
76
|
-
- Prioridade sugerida
|
|
77
|
-
|
|
78
|
-
3. **Avaliação de Complexidade e Sugestão de Quebra**
|
|
79
|
-
|
|
80
|
-
Antes de finalizar, avalie a complexidade da issue:
|
|
81
|
-
|
|
82
|
-
**Se a implementação parecer grande** (> 5 dias de esforço estimado):
|
|
83
|
-
- 🚨 **Sugira quebrar em múltiplas issues menores**
|
|
84
|
-
- Explique o racional da quebra (ex: "Esta feature envolve 3 áreas distintas: autenticação, processamento e notificação")
|
|
85
|
-
- Proponha uma quebra **lógica** (por funcionalidade, por repositório, por camada, etc.)
|
|
86
|
-
- Exemplo de quebra:
|
|
87
|
-
```
|
|
88
|
-
Issue Original: "Sistema de pagamentos completo"
|
|
89
|
-
|
|
90
|
-
Quebra Sugerida:
|
|
91
|
-
- FIN-101: Integração com gateway de pagamento (backend)
|
|
92
|
-
- FIN-102: Interface de checkout (frontend)
|
|
93
|
-
- FIN-103: Webhook de confirmação e notificações (backend + jobs)
|
|
94
|
-
```
|
|
95
|
-
- **Importante**: A decisão final é do usuário - ele pode aceitar a quebra ou manter como issue única
|
|
96
|
-
|
|
97
|
-
**Se o usuário aceitar a quebra**:
|
|
98
|
-
- Crie cada issue separadamente usando o mesmo processo
|
|
99
|
-
- Adicione referências cruzadas entre as issues relacionadas
|
|
100
|
-
- Sugira ordem de implementação se houver dependências
|
|
101
|
-
|
|
102
|
-
4. **Aprovação do Usuário**
|
|
103
|
-
- Apresente o rascunho (ou rascunhos, se houver quebra)
|
|
104
|
-
- Faça ajustes conforme feedback
|
|
105
|
-
- Obtenha aprovação final
|
|
106
|
-
|
|
107
|
-
5. **Salvamento da Issue**
|
|
108
|
-
|
|
109
|
-
**PRIORIDADE 1: Usar MCP (Model Context Protocol)**
|
|
110
|
-
|
|
111
|
-
Verifique se há MCP configurado para task manager:
|
|
112
|
-
- Leia `ai.properties.md` do orchestrator para identificar o `task_management_system`
|
|
113
|
-
- Se `task_management_system=jira`: Use MCP do Jira para criar a issue
|
|
114
|
-
- Se `task_management_system=linear`: Use MCP do Linear para criar a issue
|
|
115
|
-
- Se `task_management_system=github`: Use MCP do GitHub para criar a issue
|
|
116
|
-
- Se `task_management_system=azure`: Use MCP do Azure Boards para criar a issue
|
|
117
|
-
|
|
118
|
-
**Ao usar MCP:**
|
|
119
|
-
- Crie a issue diretamente no task manager
|
|
120
|
-
- Obtenha o ID da issue criada (ex: FIN-123, LIN-456)
|
|
121
|
-
- Informe ao usuário: "✅ Issue [ID] criada no [task manager]"
|
|
122
|
-
- **NÃO crie arquivo .md**
|
|
123
|
-
|
|
124
|
-
**FALLBACK: Criar arquivo .md apenas se MCP falhar**
|
|
125
|
-
|
|
126
|
-
Se o MCP não estiver disponível ou falhar:
|
|
127
|
-
- Crie arquivo em `./.sessions/<ISSUE-ID>/collect.md`
|
|
128
|
-
- Use formato de ID manual: `LOCAL-001`, `LOCAL-002`, etc.
|
|
129
|
-
- Inclua data, tipo e conteúdo completo
|
|
130
|
-
- Informe ao usuário: "⚠️ Issue salva localmente em .sessions/ (task manager não disponível)"
|
|
131
|
-
|
|
132
|
-
## Perguntas de Esclarecimento
|
|
133
|
-
|
|
134
|
-
**Para Features**:
|
|
135
|
-
- Que problema resolve?
|
|
136
|
-
- Quem se beneficia?
|
|
137
|
-
- É funcionalidade visível ou infraestrutura?
|
|
138
|
-
- Tem relação com alguma feature existente?
|
|
139
|
-
- Quais repositórios precisam ser modificados?
|
|
140
|
-
|
|
141
|
-
**Para Bugs**:
|
|
142
|
-
- Onde o bug ocorre? (repositório, componente, fluxo)
|
|
143
|
-
- Como reproduzir?
|
|
144
|
-
- Qual comportamento esperado vs atual?
|
|
145
|
-
- Severidade do impacto?
|
|
146
|
-
|
|
147
|
-
**Para Melhorias**:
|
|
148
|
-
- O que está funcionando mas pode melhorar?
|
|
149
|
-
- Qual métrica queremos impactar?
|
|
150
|
-
- É otimização técnica ou de negócio?
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
**Argumentos fornecidos**:
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
#$ARGUMENTS
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## 🎯 Próximo Passo
|
|
163
|
-
|
|
164
|
-
Após aprovação e salvamento da issue:
|
|
165
|
-
|
|
166
|
-
```bash
|
|
167
|
-
/refine [ISSUE-ID]
|
|
168
|
-
```
|
|
169
|
-
|
|
170
|
-
Este comando irá transformar a issue coletada em requisitos refinados e validados.
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
# Refinamento de Requisitos
|
|
2
|
-
|
|
3
|
-
Você é um especialista em produto encarregado de ajudar a refinar requisitos para o projeto.
|
|
4
|
-
|
|
5
|
-
## ⚠️ IMPORTANTE: Este Comando NÃO Implementa Código
|
|
6
|
-
|
|
7
|
-
**Este comando é APENAS para planejamento e documentação:**
|
|
8
|
-
- ✅ Validar requisitos contra metaspecs
|
|
9
|
-
- ✅ Criar especificação refinada
|
|
10
|
-
- ✅ Salvar documentação em `.sessions/`
|
|
11
|
-
- ✅ Atualizar issue no task manager
|
|
12
|
-
- ❌ **NÃO implementar código**
|
|
13
|
-
- ❌ **NÃO fazer edits em arquivos de código**
|
|
14
|
-
- ❌ **NÃO executar testes ou deploy**
|
|
15
|
-
|
|
16
|
-
**Próximo passo**: `/spec [ISSUE-ID]` para criar PRD completo baseado nos requisitos refinados.
|
|
17
|
-
|
|
18
|
-
---
|
|
19
|
-
|
|
20
|
-
## Configuração
|
|
21
|
-
|
|
22
|
-
Leia `context-manifest.json` e `ai.properties.md` do orchestrator para obter repositórios, base_path e task_management_system.
|
|
23
|
-
|
|
24
|
-
## Objetivo
|
|
25
|
-
|
|
26
|
-
Transformar um requisito inicial em especificação refinada e validada, pronta para se tornar PRD completo.
|
|
27
|
-
|
|
28
|
-
## Processo
|
|
29
|
-
|
|
30
|
-
### 1. Fase de Esclarecimento
|
|
31
|
-
|
|
32
|
-
Leia o requisito inicial e faça perguntas para alcançar clareza total sobre:
|
|
33
|
-
- **Objetivo**: Por que construir isso?
|
|
34
|
-
- **Valor de Negócio**: Qual métrica/persona impacta?
|
|
35
|
-
- **Escopo**: O que inclui e o que NÃO inclui?
|
|
36
|
-
- **Interações**: Quais features/componentes existentes são afetados?
|
|
37
|
-
|
|
38
|
-
Continue fazendo perguntas até ter entendimento completo.
|
|
39
|
-
|
|
40
|
-
### 2. Validação Contra Metaspecs
|
|
41
|
-
|
|
42
|
-
**IMPORTANTE**: Primeiro leia `ai.properties.md` para obter o `base_path`. Os índices JÁ devem estar em contexto (você rodou `/warm-up`). Consulte os índices e leia APENAS os documentos relevantes para validar o requisito.
|
|
43
|
-
|
|
44
|
-
**Processo de Validação**:
|
|
45
|
-
|
|
46
|
-
1. **Consulte os índices carregados** pelo `/warm-up`:
|
|
47
|
-
- Leia `context-manifest.json` para encontrar o repositório com `role: "metaspecs"`
|
|
48
|
-
- Obtenha o `id` desse repositório (ex: "my-project-metaspecs")
|
|
49
|
-
- Leia `ai.properties.md` para obter o `base_path`
|
|
50
|
-
- O repositório de metaspecs está em: `{base_path}/{metaspecs-id}/`
|
|
51
|
-
- Consulte `{base_path}/{metaspecs-id}/index.md` - Visão geral do projeto
|
|
52
|
-
- Consulte índices específicos (ex: `specs/business/index.md`, `specs/technical/index.md`)
|
|
53
|
-
|
|
54
|
-
2. **Identifique documentos relevantes** para este requisito específico:
|
|
55
|
-
- Em `specs/business/`: Quais documentos de negócio são relevantes?
|
|
56
|
-
- Em `specs/technical/`: Quais documentos técnicos são relevantes?
|
|
57
|
-
|
|
58
|
-
3. **Leia APENAS os documentos relevantes** identificados (não leia tudo!)
|
|
59
|
-
|
|
60
|
-
4. **Valide o requisito** contra as metaspecs lidas:
|
|
61
|
-
- ✅ Alinhamento com estratégia e visão de produto
|
|
62
|
-
- ✅ Atende necessidades das personas corretas
|
|
63
|
-
- ✅ Compatível com stack tecnológica aprovada
|
|
64
|
-
- ✅ Respeita decisões arquiteturais (ADRs)
|
|
65
|
-
- ✅ Segue regras de negócio existentes
|
|
66
|
-
- ⚠️ Identifique conflitos ou violações
|
|
67
|
-
|
|
68
|
-
**Se identificar violações**: 🛑 **PARE** e peça esclarecimento ao usuário antes de prosseguir (Princípio Jidoka).
|
|
69
|
-
|
|
70
|
-
### 3. Fase de Resumo e Aprovação
|
|
71
|
-
|
|
72
|
-
Uma vez que tenha coletado informações suficientes e validado contra metaspecs, apresente um resumo estruturado com:
|
|
73
|
-
- **Feature**: Nome da funcionalidade
|
|
74
|
-
- **Objetivo**: Por que construir (1-2 frases)
|
|
75
|
-
- **Valor de Negócio**: Métrica, persona, fase do roadmap (consulte metaspecs)
|
|
76
|
-
- **Escopo**: O que INCLUI e o que NÃO INCLUI
|
|
77
|
-
- **Componentes Afetados**: Lista baseada na arquitetura atual (consulte metaspecs técnicas)
|
|
78
|
-
- **Validação contra Metaspecs**: ✅ Aprovado / ⚠️ Atenção necessária
|
|
79
|
-
- **Estimativa de Esforço**: Pequeno (< 1 dia) / Médio (1-3 dias) / Grande (3-5 dias) / Muito Grande (> 5 dias)
|
|
80
|
-
|
|
81
|
-
**Avaliação de Complexidade e Sugestão de Quebra**:
|
|
82
|
-
|
|
83
|
-
**Se a implementação parecer grande** (> 5 dias de esforço estimado):
|
|
84
|
-
- 🚨 **Sugira quebrar em múltiplas issues menores**
|
|
85
|
-
- Explique o racional da quebra (ex: "Esta feature envolve 3 áreas distintas que podem ser implementadas independentemente")
|
|
86
|
-
- Proponha uma quebra **lógica** baseada em:
|
|
87
|
-
- Funcionalidades independentes
|
|
88
|
-
- Repositórios diferentes
|
|
89
|
-
- Camadas da aplicação (backend, frontend, infra)
|
|
90
|
-
- Fases de implementação (MVP, melhorias, otimizações)
|
|
91
|
-
- Exemplo de quebra:
|
|
92
|
-
```
|
|
93
|
-
Issue Original: "Sistema de notificações multi-canal"
|
|
94
|
-
|
|
95
|
-
Quebra Sugerida:
|
|
96
|
-
- FIN-201: Infraestrutura de filas e workers (backend)
|
|
97
|
-
- FIN-202: Notificações por email (backend + templates)
|
|
98
|
-
- FIN-203: Notificações push (backend + mobile)
|
|
99
|
-
- FIN-204: Preferências de notificação (frontend + backend)
|
|
100
|
-
```
|
|
101
|
-
- **Importante**: A decisão final é do usuário - ele pode aceitar a quebra ou manter como issue única
|
|
102
|
-
|
|
103
|
-
**Se o usuário aceitar a quebra**:
|
|
104
|
-
- Documente cada issue separadamente
|
|
105
|
-
- Adicione referências cruzadas entre as issues relacionadas
|
|
106
|
-
- Sugira ordem de implementação se houver dependências
|
|
107
|
-
- Cada issue quebrada deve passar pelo mesmo processo de refinamento
|
|
108
|
-
|
|
109
|
-
Peça aprovação do usuário e incorpore feedback se necessário.
|
|
110
|
-
|
|
111
|
-
**Dica**: Você pode pesquisar no código-base ou internet antes de finalizar, se necessário.
|
|
112
|
-
|
|
113
|
-
### 4. Salvamento dos Requisitos Refinados
|
|
114
|
-
|
|
115
|
-
Uma vez que o usuário aprove, salve os requisitos:
|
|
116
|
-
|
|
117
|
-
**IMPORTANTE**: Sempre crie backup local E atualize o task manager (se configurado).
|
|
118
|
-
|
|
119
|
-
**Processo de Salvamento**:
|
|
120
|
-
|
|
121
|
-
1. **SEMPRE criar backup local primeiro**:
|
|
122
|
-
- Crie arquivo completo em `./.sessions/<ISSUE-ID>/refined.md` (ex: `./.sessions/FIN-5/refined.md`)
|
|
123
|
-
- Onde `<ISSUE-ID>` é o ID da issue (ex: FIN-5, FIN-123)
|
|
124
|
-
- Inclua TODOS os detalhes do refinamento (backup completo)
|
|
125
|
-
|
|
126
|
-
2. **Se task manager estiver configurado** (leia `ai.properties.md` para identificar `task_management_system`):
|
|
127
|
-
- Identifique a ferramenta MCP do task manager
|
|
128
|
-
- **Atualize o BODY (description) da issue** com versão CONCISA dos requisitos refinados
|
|
129
|
-
- Para Jira: Use MCP do Jira com campo `description`
|
|
130
|
-
- Para Linear: Use MCP do Linear com campo `description`
|
|
131
|
-
- Para GitHub: Use MCP do GitHub com campo `body`
|
|
132
|
-
- Para Azure Boards: Use MCP do Azure Boards com campo `description`
|
|
133
|
-
- Inclua todo o conteúdo refinado no campo description/body da issue
|
|
134
|
-
- Se o conteúdo for muito extenso e houver erro de API, considere criar versão resumida
|
|
135
|
-
- **SEMPRE sobrescrever** o body existente (não adicionar ao final)
|
|
136
|
-
|
|
137
|
-
**Observação**:
|
|
138
|
-
- O backup local SEMPRE está salvo e completo
|
|
139
|
-
- Se houver erro de API, verifique manualmente se a issue foi atualizada no task manager
|
|
140
|
-
|
|
141
|
-
**Template de Saída**:
|
|
142
|
-
|
|
143
|
-
**IMPORTANTE**: O template padrão para requisitos refinados pode estar documentado no repositório de metaspecs. Consulte `{base_path}/{metaspecs-id}/specs/refined/` ou similar.
|
|
144
|
-
|
|
145
|
-
**Template COMPLETO** (para backup local `.sessions/<ISSUE-ID>/refined.md`):
|
|
146
|
-
- **Metadados**: Issue, ID, Task Manager, Projeto, Data, Sprint, Prioridade
|
|
147
|
-
- **🎯 POR QUE**: Razões, valor de negócio, métrica, persona, alinhamento estratégico
|
|
148
|
-
- **📦 O QUE**: Funcionalidades detalhadas, componentes afetados, integrações, escopo negativo completo
|
|
149
|
-
- **🔧 COMO**: Stack, padrões de código, estrutura de arquivos, dependências, ordem de implementação, failure modes, considerações de performance/custo/UX
|
|
150
|
-
- **✅ Validação contra Metaspecs**: Documentos consultados (business e technical), ADRs verificados, resultado da validação
|
|
151
|
-
- **📊 Métricas de Sucesso**: Técnicas, produto/UX, critérios de aceitação
|
|
152
|
-
- **🔄 Impacto no Produto**: Alinhamento com objetivos, habilitadores, riscos mitigados
|
|
153
|
-
- **⚠️ Limitações Conhecidas**: Limitações do MVP
|
|
154
|
-
- **📝 Checklist de Implementação**: Tarefas por área (backend, frontend, testes, segurança, etc.)
|
|
155
|
-
|
|
156
|
-
**Template para Task Manager**:
|
|
157
|
-
```markdown
|
|
158
|
-
# [Nome Feature] - Requisitos Refinados
|
|
159
|
-
|
|
160
|
-
**Sprint X** | **Y dias** | **Prioridade**
|
|
161
|
-
|
|
162
|
-
## Objetivo
|
|
163
|
-
[1-2 parágrafos: o que é e por que fazer]
|
|
164
|
-
|
|
165
|
-
## Escopo
|
|
166
|
-
|
|
167
|
-
### Principais Funcionalidades
|
|
168
|
-
- Funcionalidade 1: [resumo]
|
|
169
|
-
- Funcionalidade 2: [resumo]
|
|
170
|
-
- Validações/Guards: [resumo]
|
|
171
|
-
|
|
172
|
-
### Componentes Afetados
|
|
173
|
-
- Componente 1: [tipo de mudança]
|
|
174
|
-
- Componente 2: [tipo de mudança]
|
|
175
|
-
|
|
176
|
-
### Segurança
|
|
177
|
-
✅ [item 1] ✅ [item 2] ✅ [item 3]
|
|
178
|
-
|
|
179
|
-
## Escopo Negativo
|
|
180
|
-
❌ [item 1] ❌ [item 2] ❌ [item 3]
|
|
181
|
-
|
|
182
|
-
## Stack
|
|
183
|
-
[Tech stack resumida por área]
|
|
184
|
-
|
|
185
|
-
## Estrutura
|
|
186
|
-
[Árvore de arquivos RESUMIDA - principais módulos apenas]
|
|
187
|
-
|
|
188
|
-
## Failure Modes (Evitar)
|
|
189
|
-
🔴 [crítico 1] 🔴 [crítico 2]
|
|
190
|
-
🟡 [médio 1] 🟡 [médio 2]
|
|
191
|
-
|
|
192
|
-
## Critérios de Aceitação
|
|
193
|
-
- [ ] [item 1]
|
|
194
|
-
- [ ] [item 2]
|
|
195
|
-
- [ ] [item 3]
|
|
196
|
-
|
|
197
|
-
## Validação
|
|
198
|
-
**ADRs**: [lista]
|
|
199
|
-
**Specs**: [principais]
|
|
200
|
-
**Status**: ✅ Aprovado
|
|
201
|
-
|
|
202
|
-
**Impacto**: [resumo]
|
|
203
|
-
**Limitações**: [resumo]
|
|
204
|
-
|
|
205
|
-
---
|
|
206
|
-
📄 **Documento completo**: `.sessions/<ISSUE-ID>/refined.md`
|
|
207
|
-
```
|
|
208
|
-
|
|
209
|
-
**Audiência**: Desenvolvedor IA com capacidades similares às suas. Seja conciso mas completo.
|
|
210
|
-
|
|
211
|
-
---
|
|
212
|
-
|
|
213
|
-
**Requisito para Refinar**:
|
|
214
|
-
|
|
215
|
-
```
|
|
216
|
-
#$ARGUMENTS
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
---
|
|
220
|
-
|
|
221
|
-
## 🎯 Próximo Passo
|
|
222
|
-
|
|
223
|
-
**Após aprovação do usuário e salvamento dos requisitos refinados**, o fluxo natural é:
|
|
224
|
-
|
|
225
|
-
```bash
|
|
226
|
-
/spec [ISSUE-ID]
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
**Exemplo**: `/spec FIN-3`
|
|
230
|
-
|
|
231
|
-
Este comando irá criar um PRD (Product Requirements Document) completo baseado nos requisitos refinados, detalhando funcionalidades, user stories, critérios de aceitação e validações finais.
|