context-first-cli 2.0.4 → 2.0.6
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/dist/commands/add-repo-metaspec.d.ts.map +1 -1
- package/dist/commands/add-repo-metaspec.js +17 -2
- package/dist/commands/add-repo-metaspec.js.map +1 -1
- package/dist/templates/commands/en/products/collect.md +64 -40
- package/dist/templates/commands/en/products/refine.md +43 -14
- package/dist/templates/commands/es/products/collect.md +71 -47
- package/dist/templates/commands/es/products/refine.md +50 -21
- package/dist/templates/commands/pt-BR/products/collect.md +27 -3
- package/dist/templates/commands/pt-BR/products/refine.md +32 -3
- package/package.json +1 -1
- package/templates/commands/en/products/collect.md +64 -40
- package/templates/commands/en/products/refine.md +43 -14
- package/templates/commands/es/products/collect.md +71 -47
- package/templates/commands/es/products/refine.md +50 -21
- package/templates/commands/pt-BR/products/collect.md +27 -3
- package/templates/commands/pt-BR/products/refine.md +32 -3
|
@@ -11,7 +11,7 @@ Eres un especialista en producto encargado de ayudar a refinar requisitos para e
|
|
|
11
11
|
- ✅ Actualizar issue en el task manager
|
|
12
12
|
- ❌ **NO implementar código**
|
|
13
13
|
- ❌ **NO hacer ediciones en archivos de código**
|
|
14
|
-
- ❌ **NO ejecutar pruebas
|
|
14
|
+
- ❌ **NO ejecutar pruebas o deploy**
|
|
15
15
|
|
|
16
16
|
**Próximo paso**: `/spec [ISSUE-ID]` para crear PRD completo basado en los requisitos refinados.
|
|
17
17
|
|
|
@@ -56,7 +56,7 @@ Continúa haciendo preguntas hasta tener entendimiento completo.
|
|
|
56
56
|
4. **Valida el requisito** contra las metaspecs leídas:
|
|
57
57
|
- ✅ Alineación con estrategia y visión de producto
|
|
58
58
|
- ✅ Atiende necesidades de las personas correctas
|
|
59
|
-
- ✅ Compatible con stack
|
|
59
|
+
- ✅ Compatible con stack tecnológico aprobado
|
|
60
60
|
- ✅ Respeta decisiones arquitecturales (ADRs)
|
|
61
61
|
- ✅ Sigue reglas de negocio existentes
|
|
62
62
|
- ⚠️ Identifica conflictos o violaciones
|
|
@@ -72,10 +72,39 @@ Una vez que hayas recopilado información suficiente y validado contra metaspecs
|
|
|
72
72
|
- **Alcance**: Qué INCLUYE y qué NO INCLUYE
|
|
73
73
|
- **Componentes Afectados**: Lista basada en la arquitectura actual (consulta metaspecs técnicas)
|
|
74
74
|
- **Validación contra Metaspecs**: ✅ Aprobado / ⚠️ Atención necesaria
|
|
75
|
+
- **Estimación de Esfuerzo**: Pequeño (< 1 día) / Medio (1-3 días) / Grande (3-5 días) / Muy Grande (> 5 días)
|
|
76
|
+
|
|
77
|
+
**Evaluación de Complejidad y Sugerencia de División**:
|
|
78
|
+
|
|
79
|
+
**Si la implementación parece grande** (> 5 días de esfuerzo estimado):
|
|
80
|
+
- 🚨 **Sugiere dividir en múltiples issues menores**
|
|
81
|
+
- Explica el racional de la división (ej: "Esta feature involucra 3 áreas distintas que pueden implementarse independientemente")
|
|
82
|
+
- Propón una división **lógica** basada en:
|
|
83
|
+
- Funcionalidades independientes
|
|
84
|
+
- Repositorios diferentes
|
|
85
|
+
- Capas de la aplicación (backend, frontend, infra)
|
|
86
|
+
- Fases de implementación (MVP, mejoras, optimizaciones)
|
|
87
|
+
- Ejemplo de división:
|
|
88
|
+
```
|
|
89
|
+
Issue Original: "Sistema de notificaciones multi-canal"
|
|
90
|
+
|
|
91
|
+
División Sugerida:
|
|
92
|
+
- FIN-201: Infraestructura de colas y workers (backend)
|
|
93
|
+
- FIN-202: Notificaciones por email (backend + templates)
|
|
94
|
+
- FIN-203: Notificaciones push (backend + mobile)
|
|
95
|
+
- FIN-204: Preferencias de notificación (frontend + backend)
|
|
96
|
+
```
|
|
97
|
+
- **Importante**: La decisión final es del usuario - puede aceptar la división o mantener como issue única
|
|
98
|
+
|
|
99
|
+
**Si el usuario acepta la división**:
|
|
100
|
+
- Documenta cada issue por separado
|
|
101
|
+
- Añade referencias cruzadas entre las issues relacionadas
|
|
102
|
+
- Sugiere orden de implementación si hay dependencias
|
|
103
|
+
- Cada issue dividida debe pasar por el mismo proceso de refinamiento
|
|
75
104
|
|
|
76
105
|
Pide aprobación del usuario e incorpora feedback si es necesario.
|
|
77
106
|
|
|
78
|
-
**Consejo**: Puedes
|
|
107
|
+
**Consejo**: Puedes buscar en el código base o internet antes de finalizar, si es necesario.
|
|
79
108
|
|
|
80
109
|
### 4. Guardado de los Requisitos Refinados
|
|
81
110
|
|
|
@@ -92,34 +121,34 @@ Una vez que el usuario apruebe, guarda los requisitos:
|
|
|
92
121
|
|
|
93
122
|
2. **Si el task manager está configurado** (lee `ai.properties.md` para identificar `task_management_system`):
|
|
94
123
|
- Identifica la herramienta MCP del task manager
|
|
95
|
-
- **Actualiza el BODY (
|
|
124
|
+
- **Actualiza el BODY (description) de la issue** con versión CONCISA de los requisitos refinados
|
|
96
125
|
- Para Jira: Usa MCP de Jira con campo `description`
|
|
97
126
|
- Para Linear: Usa MCP de Linear con campo `description`
|
|
98
127
|
- Para GitHub: Usa MCP de GitHub con campo `body`
|
|
99
|
-
-
|
|
100
|
-
-
|
|
101
|
-
- **SIEMPRE sobrescribe** el body existente (no
|
|
128
|
+
- Incluye todo el contenido refinado en el campo description/body de la issue
|
|
129
|
+
- Si el contenido es muy extenso y hay error de API, considera crear versión resumida
|
|
130
|
+
- **SIEMPRE sobrescribe** el body existente (no agregar al final)
|
|
102
131
|
|
|
103
132
|
**Observación**:
|
|
104
133
|
- El backup local SIEMPRE está guardado y completo
|
|
105
134
|
- Si hay error de API, verifica manualmente si la issue fue actualizada en el task manager
|
|
106
135
|
|
|
107
|
-
**
|
|
136
|
+
**Template de Salida**:
|
|
108
137
|
|
|
109
|
-
**IMPORTANTE**:
|
|
138
|
+
**IMPORTANTE**: El template estándar para requisitos refinados puede estar documentado en el repositorio de metaspecs. Consulta `{base_path}/{metaspecs-id}/specs/refined/` o similar.
|
|
110
139
|
|
|
111
|
-
**
|
|
140
|
+
**Template COMPLETO** (para backup local `.sessions/<ISSUE-ID>/refined.md`):
|
|
112
141
|
- **Metadatos**: Issue, ID, Task Manager, Proyecto, Fecha, Sprint, Prioridad
|
|
113
142
|
- **🎯 POR QUÉ**: Razones, valor de negocio, métrica, persona, alineamiento estratégico
|
|
114
143
|
- **📦 QUÉ**: Funcionalidades detalladas, componentes afectados, integraciones, alcance negativo completo
|
|
115
|
-
- **🔧 CÓMO**: Stack, patrones de código, estructura de archivos, dependencias, orden de implementación,
|
|
144
|
+
- **🔧 CÓMO**: Stack, patrones de código, estructura de archivos, dependencias, orden de implementación, failure modes, consideraciones de performance/costo/UX
|
|
116
145
|
- **✅ Validación contra Metaspecs**: Documentos consultados (business y technical), ADRs verificados, resultado de la validación
|
|
117
146
|
- **📊 Métricas de Éxito**: Técnicas, producto/UX, criterios de aceptación
|
|
118
147
|
- **🔄 Impacto en el Producto**: Alineamiento con objetivos, habilitadores, riesgos mitigados
|
|
119
148
|
- **⚠️ Limitaciones Conocidas**: Limitaciones del MVP
|
|
120
|
-
- **📝 Checklist de Implementación**: Tareas por área (backend, frontend,
|
|
149
|
+
- **📝 Checklist de Implementación**: Tareas por área (backend, frontend, tests, seguridad, etc.)
|
|
121
150
|
|
|
122
|
-
**
|
|
151
|
+
**Template para Task Manager**:
|
|
123
152
|
```markdown
|
|
124
153
|
# [Nombre Feature] - Requisitos Refinados
|
|
125
154
|
|
|
@@ -140,25 +169,25 @@ Una vez que el usuario apruebe, guarda los requisitos:
|
|
|
140
169
|
- Componente 2: [tipo de cambio]
|
|
141
170
|
|
|
142
171
|
### Seguridad
|
|
143
|
-
✅ [
|
|
172
|
+
✅ [ítem 1] ✅ [ítem 2] ✅ [ítem 3]
|
|
144
173
|
|
|
145
174
|
## Alcance Negativo
|
|
146
|
-
❌ [
|
|
175
|
+
❌ [ítem 1] ❌ [ítem 2] ❌ [ítem 3]
|
|
147
176
|
|
|
148
177
|
## Stack
|
|
149
178
|
[Tech stack resumida por área]
|
|
150
179
|
|
|
151
180
|
## Estructura
|
|
152
|
-
[Árbol de archivos RESUMIDO - principales
|
|
181
|
+
[Árbol de archivos RESUMIDO - módulos principales solamente]
|
|
153
182
|
|
|
154
|
-
##
|
|
183
|
+
## Failure Modes (Evitar)
|
|
155
184
|
🔴 [crítico 1] 🔴 [crítico 2]
|
|
156
185
|
🟡 [medio 1] 🟡 [medio 2]
|
|
157
186
|
|
|
158
187
|
## Criterios de Aceptación
|
|
159
|
-
- [ ] [
|
|
160
|
-
- [ ] [
|
|
161
|
-
- [ ] [
|
|
188
|
+
- [ ] [ítem 1]
|
|
189
|
+
- [ ] [ítem 2]
|
|
190
|
+
- [ ] [ítem 3]
|
|
162
191
|
|
|
163
192
|
## Validación
|
|
164
193
|
**ADRs**: [lista]
|
|
@@ -186,7 +215,7 @@ Una vez que el usuario apruebe, guarda los requisitos:
|
|
|
186
215
|
|
|
187
216
|
## 🎯 Próximo Paso
|
|
188
217
|
|
|
189
|
-
**Tras aprobación del usuario y guardado de los requisitos refinados**, el flujo natural es:
|
|
218
|
+
**Tras la aprobación del usuario y guardado de los requisitos refinados**, el flujo natural es:
|
|
190
219
|
|
|
191
220
|
```bash
|
|
192
221
|
/spec [ISSUE-ID]
|
|
@@ -86,12 +86,36 @@ Apenas certifique-se de que a ideia esteja **adequadamente compreendida**.
|
|
|
86
86
|
- Repositórios afetados
|
|
87
87
|
- Prioridade sugerida
|
|
88
88
|
|
|
89
|
-
3. **
|
|
90
|
-
|
|
89
|
+
3. **Avaliação de Complexidade e Sugestão de Quebra**
|
|
90
|
+
|
|
91
|
+
Antes de finalizar, avalie a complexidade da issue:
|
|
92
|
+
|
|
93
|
+
**Se a implementação parecer grande** (> 5 dias de esforço estimado):
|
|
94
|
+
- 🚨 **Sugira quebrar em múltiplas issues menores**
|
|
95
|
+
- Explique o racional da quebra (ex: "Esta feature envolve 3 áreas distintas: autenticação, processamento e notificação")
|
|
96
|
+
- Proponha uma quebra **lógica** (por funcionalidade, por repositório, por camada, etc.)
|
|
97
|
+
- Exemplo de quebra:
|
|
98
|
+
```
|
|
99
|
+
Issue Original: "Sistema de pagamentos completo"
|
|
100
|
+
|
|
101
|
+
Quebra Sugerida:
|
|
102
|
+
- FIN-101: Integração com gateway de pagamento (backend)
|
|
103
|
+
- FIN-102: Interface de checkout (frontend)
|
|
104
|
+
- FIN-103: Webhook de confirmação e notificações (backend + jobs)
|
|
105
|
+
```
|
|
106
|
+
- **Importante**: A decisão final é do usuário - ele pode aceitar a quebra ou manter como issue única
|
|
107
|
+
|
|
108
|
+
**Se o usuário aceitar a quebra**:
|
|
109
|
+
- Crie cada issue separadamente usando o mesmo processo
|
|
110
|
+
- Adicione referências cruzadas entre as issues relacionadas
|
|
111
|
+
- Sugira ordem de implementação se houver dependências
|
|
112
|
+
|
|
113
|
+
4. **Aprovação do Usuário**
|
|
114
|
+
- Apresente o rascunho (ou rascunhos, se houver quebra)
|
|
91
115
|
- Faça ajustes conforme feedback
|
|
92
116
|
- Obtenha aprovação final
|
|
93
117
|
|
|
94
|
-
|
|
118
|
+
5. **Salvamento da Issue**
|
|
95
119
|
|
|
96
120
|
**PRIORIDADE 1: Usar MCP (Model Context Protocol)**
|
|
97
121
|
|
|
@@ -72,6 +72,35 @@ Uma vez que tenha coletado informações suficientes e validado contra metaspecs
|
|
|
72
72
|
- **Escopo**: O que INCLUI e o que NÃO INCLUI
|
|
73
73
|
- **Componentes Afetados**: Lista baseada na arquitetura atual (consulte metaspecs técnicas)
|
|
74
74
|
- **Validação contra Metaspecs**: ✅ Aprovado / ⚠️ Atenção necessária
|
|
75
|
+
- **Estimativa de Esforço**: Pequeno (< 1 dia) / Médio (1-3 dias) / Grande (3-5 dias) / Muito Grande (> 5 dias)
|
|
76
|
+
|
|
77
|
+
**Avaliação de Complexidade e Sugestão de Quebra**:
|
|
78
|
+
|
|
79
|
+
**Se a implementação parecer grande** (> 5 dias de esforço estimado):
|
|
80
|
+
- 🚨 **Sugira quebrar em múltiplas issues menores**
|
|
81
|
+
- Explique o racional da quebra (ex: "Esta feature envolve 3 áreas distintas que podem ser implementadas independentemente")
|
|
82
|
+
- Proponha uma quebra **lógica** baseada em:
|
|
83
|
+
- Funcionalidades independentes
|
|
84
|
+
- Repositórios diferentes
|
|
85
|
+
- Camadas da aplicação (backend, frontend, infra)
|
|
86
|
+
- Fases de implementação (MVP, melhorias, otimizações)
|
|
87
|
+
- Exemplo de quebra:
|
|
88
|
+
```
|
|
89
|
+
Issue Original: "Sistema de notificações multi-canal"
|
|
90
|
+
|
|
91
|
+
Quebra Sugerida:
|
|
92
|
+
- FIN-201: Infraestrutura de filas e workers (backend)
|
|
93
|
+
- FIN-202: Notificações por email (backend + templates)
|
|
94
|
+
- FIN-203: Notificações push (backend + mobile)
|
|
95
|
+
- FIN-204: Preferências de notificação (frontend + backend)
|
|
96
|
+
```
|
|
97
|
+
- **Importante**: A decisão final é do usuário - ele pode aceitar a quebra ou manter como issue única
|
|
98
|
+
|
|
99
|
+
**Se o usuário aceitar a quebra**:
|
|
100
|
+
- Documente cada issue separadamente
|
|
101
|
+
- Adicione referências cruzadas entre as issues relacionadas
|
|
102
|
+
- Sugira ordem de implementação se houver dependências
|
|
103
|
+
- Cada issue quebrada deve passar pelo mesmo processo de refinamento
|
|
75
104
|
|
|
76
105
|
Peça aprovação do usuário e incorpore feedback se necessário.
|
|
77
106
|
|
|
@@ -96,8 +125,8 @@ Uma vez que o usuário aprove, salve os requisitos:
|
|
|
96
125
|
- Para Jira: Use MCP do Jira com campo `description`
|
|
97
126
|
- Para Linear: Use MCP do Linear com campo `description`
|
|
98
127
|
- Para GitHub: Use MCP do GitHub com campo `body`
|
|
99
|
-
-
|
|
100
|
-
-
|
|
128
|
+
- Inclua todo o conteúdo refinado no campo description/body da issue
|
|
129
|
+
- Se o conteúdo for muito extenso e houver erro de API, considere criar versão resumida
|
|
101
130
|
- **SEMPRE sobrescrever** o body existente (não adicionar ao final)
|
|
102
131
|
|
|
103
132
|
**Observação**:
|
|
@@ -119,7 +148,7 @@ Uma vez que o usuário aprove, salve os requisitos:
|
|
|
119
148
|
- **⚠️ Limitações Conhecidas**: Limitações do MVP
|
|
120
149
|
- **📝 Checklist de Implementação**: Tarefas por área (backend, frontend, testes, segurança, etc.)
|
|
121
150
|
|
|
122
|
-
**Template
|
|
151
|
+
**Template para Task Manager**:
|
|
123
152
|
```markdown
|
|
124
153
|
# [Nome Feature] - Requisitos Refinados
|
|
125
154
|
|
package/package.json
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
# Idea and Requirements
|
|
1
|
+
# Idea and Requirements Gathering
|
|
2
2
|
|
|
3
|
-
You are a product
|
|
3
|
+
You are a product specialist responsible for collecting and documenting new ideas, features, or bugs.
|
|
4
4
|
|
|
5
|
-
## ⚠️ IMPORTANT: This Command
|
|
5
|
+
## ⚠️ IMPORTANT: This Command DOES NOT Implement Code
|
|
6
6
|
|
|
7
7
|
**This command is ONLY for planning and documentation:**
|
|
8
8
|
- ✅ Collect and understand requirements
|
|
9
|
-
- ✅ Create issue in task manager via MCP
|
|
10
|
-
- ✅ Ask
|
|
9
|
+
- ✅ Create issue in the task manager via MCP
|
|
10
|
+
- ✅ Ask clarification questions
|
|
11
11
|
- ✅ **READ** files from main repositories (read-only)
|
|
12
12
|
- ❌ **DO NOT implement code**
|
|
13
13
|
- ❌ **DO NOT edit code files**
|
|
14
14
|
- ❌ **DO NOT checkout branches in main repositories**
|
|
15
|
-
- ❌ **DO NOT
|
|
15
|
+
- ❌ **DO NOT commit**
|
|
16
16
|
|
|
17
17
|
**Next step**: `/refine [ISSUE-ID]` to refine the collected requirements.
|
|
18
18
|
|
|
@@ -22,27 +22,27 @@ You are a product expert responsible for collecting and documenting new ideas, f
|
|
|
22
22
|
|
|
23
23
|
Before starting, load the context by consulting:
|
|
24
24
|
|
|
25
|
-
1. **Locate MetaSpecs
|
|
26
|
-
- Read `context-manifest.json` from orchestrator
|
|
25
|
+
1. **Automatically Locate MetaSpecs**:
|
|
26
|
+
- Read `context-manifest.json` from the orchestrator
|
|
27
27
|
- Find the repository with `"role": "metaspecs"`
|
|
28
28
|
- Read `ai.properties.md` to get the `base_path`
|
|
29
|
-
-
|
|
30
|
-
- Read `index.md` files as reference
|
|
29
|
+
- The metaspecs are at: `{base_path}/{metaspecs-repo-id}/`
|
|
30
|
+
- Read the `index.md` files as reference
|
|
31
31
|
|
|
32
|
-
2. **Project
|
|
33
|
-
- `context-manifest.json` - List of repositories and their
|
|
34
|
-
- `README.md` of involved repositories
|
|
32
|
+
2. **Project Structure**:
|
|
33
|
+
- `context-manifest.json` - List of repositories and their roles
|
|
34
|
+
- `README.md` of the involved repositories
|
|
35
35
|
|
|
36
|
-
## Your
|
|
36
|
+
## Your Goal
|
|
37
37
|
|
|
38
38
|
Understand the user's request and capture it as an issue in the task manager (via MCP).
|
|
39
39
|
|
|
40
40
|
**At this stage, you DO NOT need to:**
|
|
41
|
-
- ❌ Write complete specification
|
|
41
|
+
- ❌ Write a complete specification
|
|
42
42
|
- ❌ Validate against metaspecs (this is done in `/refine` or `/spec`)
|
|
43
43
|
- ❌ Detail technical implementation
|
|
44
44
|
|
|
45
|
-
Just
|
|
45
|
+
Just ensure the idea is **adequately understood**.
|
|
46
46
|
|
|
47
47
|
## Issue Format
|
|
48
48
|
|
|
@@ -50,7 +50,7 @@ Just make sure the idea is **adequately understood**.
|
|
|
50
50
|
# [Clear and Descriptive Title]
|
|
51
51
|
|
|
52
52
|
## Description
|
|
53
|
-
[2-3 paragraphs explaining what the feature/bug is and why it
|
|
53
|
+
[2-3 paragraphs explaining what the feature/bug is and why it is important]
|
|
54
54
|
|
|
55
55
|
## Type
|
|
56
56
|
- [ ] New Feature
|
|
@@ -60,7 +60,7 @@ Just make sure the idea is **adequately understood**.
|
|
|
60
60
|
- [ ] Documentation
|
|
61
61
|
|
|
62
62
|
## Additional Context
|
|
63
|
-
[Relevant information: where the bug occurs, feature
|
|
63
|
+
[Relevant information: where the bug occurs, inspiration for the feature, etc.]
|
|
64
64
|
|
|
65
65
|
## Affected Repositories
|
|
66
66
|
[List which project repositories will be impacted]
|
|
@@ -75,65 +75,89 @@ Just make sure the idea is **adequately understood**.
|
|
|
75
75
|
## Collection Process
|
|
76
76
|
|
|
77
77
|
1. **Initial Understanding**
|
|
78
|
-
- Ask
|
|
78
|
+
- Ask clarification questions if needed
|
|
79
79
|
- Identify: Is it a new feature? Improvement? Bug?
|
|
80
80
|
- Identify which repositories will be affected
|
|
81
81
|
|
|
82
82
|
2. **Issue Draft**
|
|
83
|
-
- Clear title (
|
|
83
|
+
- Clear title (max 10 words)
|
|
84
84
|
- Objective description (2-3 paragraphs)
|
|
85
85
|
- Relevant additional context
|
|
86
86
|
- Affected repositories
|
|
87
87
|
- Suggested priority
|
|
88
88
|
|
|
89
|
-
3. **
|
|
90
|
-
|
|
89
|
+
3. **Complexity Assessment and Suggestion to Split**
|
|
90
|
+
|
|
91
|
+
Before finalizing, assess the issue complexity:
|
|
92
|
+
|
|
93
|
+
**If the implementation seems large** (> 5 days estimated effort):
|
|
94
|
+
- 🚨 **Suggest splitting into multiple smaller issues**
|
|
95
|
+
- Explain the rationale for splitting (e.g., "This feature involves 3 distinct areas: authentication, processing, and notification")
|
|
96
|
+
- Propose a **logical** split (by functionality, repository, layer, etc.)
|
|
97
|
+
- Example of splitting:
|
|
98
|
+
```
|
|
99
|
+
Original Issue: "Complete payment system"
|
|
100
|
+
|
|
101
|
+
Suggested Split:
|
|
102
|
+
- FIN-101: Payment gateway integration (backend)
|
|
103
|
+
- FIN-102: Checkout interface (frontend)
|
|
104
|
+
- FIN-103: Confirmation webhook and notifications (backend + jobs)
|
|
105
|
+
```
|
|
106
|
+
- **Important**: The final decision is the user's - they can accept the split or keep it as a single issue
|
|
107
|
+
|
|
108
|
+
**If the user accepts the split**:
|
|
109
|
+
- Create each issue separately using the same process
|
|
110
|
+
- Add cross-references between related issues
|
|
111
|
+
- Suggest implementation order if dependencies exist
|
|
112
|
+
|
|
113
|
+
4. **User Approval**
|
|
114
|
+
- Present the draft (or drafts, if split)
|
|
91
115
|
- Make adjustments based on feedback
|
|
92
116
|
- Obtain final approval
|
|
93
117
|
|
|
94
|
-
|
|
118
|
+
5. **Saving the Issue**
|
|
95
119
|
|
|
96
120
|
**PRIORITY 1: Use MCP (Model Context Protocol)**
|
|
97
121
|
|
|
98
|
-
Check if
|
|
99
|
-
- Read `ai.properties.md` from orchestrator to identify the `task_management_system`
|
|
122
|
+
Check if MCP is configured for the task manager:
|
|
123
|
+
- Read `ai.properties.md` from the orchestrator to identify the `task_management_system`
|
|
100
124
|
- If `task_management_system=jira`: Use Jira MCP to create the issue
|
|
101
125
|
- If `task_management_system=linear`: Use Linear MCP to create the issue
|
|
102
126
|
- If `task_management_system=github`: Use GitHub MCP to create the issue
|
|
103
127
|
|
|
104
128
|
**When using MCP:**
|
|
105
129
|
- Create the issue directly in the task manager
|
|
106
|
-
-
|
|
130
|
+
- Obtain the created issue ID (e.g., FIN-123, LIN-456)
|
|
107
131
|
- Inform the user: "✅ Issue [ID] created in [task manager]"
|
|
108
|
-
- **DO NOT create .md file**
|
|
132
|
+
- **DO NOT create a .md file**
|
|
109
133
|
|
|
110
134
|
**FALLBACK: Create .md file only if MCP fails**
|
|
111
135
|
|
|
112
|
-
If MCP is
|
|
113
|
-
- Create file at `./.sessions/<ISSUE-ID>/collect.md`
|
|
136
|
+
If MCP is unavailable or fails:
|
|
137
|
+
- Create a file at `./.sessions/<ISSUE-ID>/collect.md`
|
|
114
138
|
- Use manual ID format: `LOCAL-001`, `LOCAL-002`, etc.
|
|
115
|
-
- Include date, type, and
|
|
139
|
+
- Include date, type, and full content
|
|
116
140
|
- Inform the user: "⚠️ Issue saved locally in .sessions/ (task manager not available)"
|
|
117
141
|
|
|
118
|
-
##
|
|
142
|
+
## Clarification Questions
|
|
119
143
|
|
|
120
144
|
**For Features**:
|
|
121
145
|
- What problem does it solve?
|
|
122
146
|
- Who benefits?
|
|
123
|
-
- Is it visible functionality or infrastructure?
|
|
147
|
+
- Is it a visible functionality or infrastructure?
|
|
124
148
|
- Is it related to any existing feature?
|
|
125
|
-
- Which repositories need
|
|
149
|
+
- Which repositories need modification?
|
|
126
150
|
|
|
127
151
|
**For Bugs**:
|
|
128
152
|
- Where does the bug occur? (repository, component, flow)
|
|
129
153
|
- How to reproduce?
|
|
130
|
-
-
|
|
131
|
-
-
|
|
154
|
+
- Expected vs current behavior?
|
|
155
|
+
- Severity of impact?
|
|
132
156
|
|
|
133
157
|
**For Improvements**:
|
|
134
|
-
- What is working but can
|
|
135
|
-
-
|
|
136
|
-
- Is it technical or business optimization?
|
|
158
|
+
- What is working but can be improved?
|
|
159
|
+
- What metric do we want to impact?
|
|
160
|
+
- Is it a technical or business optimization?
|
|
137
161
|
|
|
138
162
|
---
|
|
139
163
|
|
|
@@ -147,10 +171,10 @@ Just make sure the idea is **adequately understood**.
|
|
|
147
171
|
|
|
148
172
|
## 🎯 Next Step
|
|
149
173
|
|
|
150
|
-
After approval and issue
|
|
174
|
+
After approval and saving the issue:
|
|
151
175
|
|
|
152
176
|
```bash
|
|
153
177
|
/refine [ISSUE-ID]
|
|
154
178
|
```
|
|
155
179
|
|
|
156
|
-
This command will transform the collected issue into refined and validated requirements.
|
|
180
|
+
This command will transform the collected issue into refined and validated requirements.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Requirements Refinement
|
|
2
2
|
|
|
3
|
-
You are a product expert
|
|
3
|
+
You are a product expert tasked with helping to refine requirements for the project.
|
|
4
4
|
|
|
5
5
|
## ⚠️ IMPORTANT: This Command DOES NOT Implement Code
|
|
6
6
|
|
|
@@ -31,7 +31,7 @@ Read the initial requirement and ask questions to achieve full clarity about:
|
|
|
31
31
|
- **Scope**: What is included and what is NOT included?
|
|
32
32
|
- **Interactions**: Which existing features/components are affected?
|
|
33
33
|
|
|
34
|
-
Keep asking questions until you have
|
|
34
|
+
Keep asking questions until you have complete understanding.
|
|
35
35
|
|
|
36
36
|
### 2. Validation Against Metaspecs
|
|
37
37
|
|
|
@@ -39,7 +39,7 @@ Keep asking questions until you have full understanding.
|
|
|
39
39
|
|
|
40
40
|
**Validation Process**:
|
|
41
41
|
|
|
42
|
-
1. **Consult the indexes
|
|
42
|
+
1. **Consult the loaded indexes** from `/warm-up`:
|
|
43
43
|
- Read `context-manifest.json` to find the repository with `role: "metaspecs"`
|
|
44
44
|
- Obtain the `id` of that repository (e.g., "my-project-metaspecs")
|
|
45
45
|
- Read `ai.properties.md` to get the `base_path`
|
|
@@ -61,7 +61,7 @@ Keep asking questions until you have full understanding.
|
|
|
61
61
|
- ✅ Follows existing business rules
|
|
62
62
|
- ⚠️ Identify conflicts or violations
|
|
63
63
|
|
|
64
|
-
**If
|
|
64
|
+
**If you identify violations**: 🛑 **STOP** and ask the user for clarification before proceeding (Jidoka Principle).
|
|
65
65
|
|
|
66
66
|
### 3. Summary and Approval Phase
|
|
67
67
|
|
|
@@ -69,13 +69,42 @@ Once you have gathered sufficient information and validated against metaspecs, p
|
|
|
69
69
|
- **Feature**: Feature name
|
|
70
70
|
- **Objective**: Why build it (1-2 sentences)
|
|
71
71
|
- **Business Value**: Metric, persona, roadmap phase (consult metaspecs)
|
|
72
|
-
- **Scope**: What INCLUDES and what DOES NOT INCLUDE
|
|
72
|
+
- **Scope**: What it INCLUDES and what it DOES NOT INCLUDE
|
|
73
73
|
- **Affected Components**: List based on current architecture (consult technical metaspecs)
|
|
74
74
|
- **Validation against Metaspecs**: ✅ Approved / ⚠️ Attention needed
|
|
75
|
+
- **Effort Estimate**: Small (< 1 day) / Medium (1-3 days) / Large (3-5 days) / Very Large (> 5 days)
|
|
76
|
+
|
|
77
|
+
**Complexity Assessment and Suggestion to Break Down**:
|
|
78
|
+
|
|
79
|
+
**If the implementation seems large** (> 5 days estimated effort):
|
|
80
|
+
- 🚨 **Suggest breaking into multiple smaller issues**
|
|
81
|
+
- Explain the rationale for the breakdown (e.g., "This feature involves 3 distinct areas that can be implemented independently")
|
|
82
|
+
- Propose a **logical** breakdown based on:
|
|
83
|
+
- Independent functionalities
|
|
84
|
+
- Different repositories
|
|
85
|
+
- Application layers (backend, frontend, infra)
|
|
86
|
+
- Implementation phases (MVP, improvements, optimizations)
|
|
87
|
+
- Example breakdown:
|
|
88
|
+
```
|
|
89
|
+
Original Issue: "Multi-channel notification system"
|
|
90
|
+
|
|
91
|
+
Suggested Breakdown:
|
|
92
|
+
- FIN-201: Queue and worker infrastructure (backend)
|
|
93
|
+
- FIN-202: Email notifications (backend + templates)
|
|
94
|
+
- FIN-203: Push notifications (backend + mobile)
|
|
95
|
+
- FIN-204: Notification preferences (frontend + backend)
|
|
96
|
+
```
|
|
97
|
+
- **Important**: The final decision is the user's - they may accept the breakdown or keep it as a single issue
|
|
98
|
+
|
|
99
|
+
**If the user accepts the breakdown**:
|
|
100
|
+
- Document each issue separately
|
|
101
|
+
- Add cross-references between related issues
|
|
102
|
+
- Suggest implementation order if dependencies exist
|
|
103
|
+
- Each broken-down issue must go through the same refinement process
|
|
75
104
|
|
|
76
105
|
Request user approval and incorporate feedback if necessary.
|
|
77
106
|
|
|
78
|
-
**Tip**: You may
|
|
107
|
+
**Tip**: You may search the codebase or internet before finalizing, if needed.
|
|
79
108
|
|
|
80
109
|
### 4. Saving the Refined Requirements
|
|
81
110
|
|
|
@@ -88,7 +117,7 @@ Once the user approves, save the requirements:
|
|
|
88
117
|
1. **ALWAYS create local backup first**:
|
|
89
118
|
- Create a complete file at `./.sessions/<ISSUE-ID>/refined.md` (e.g., `./.sessions/FIN-5/refined.md`)
|
|
90
119
|
- Where `<ISSUE-ID>` is the issue ID (e.g., FIN-5, FIN-123)
|
|
91
|
-
- Include ALL refinement details (
|
|
120
|
+
- Include ALL refinement details (full backup)
|
|
92
121
|
|
|
93
122
|
2. **If task manager is configured** (read `ai.properties.md` to identify `task_management_system`):
|
|
94
123
|
- Identify the MCP tool of the task manager
|
|
@@ -96,8 +125,8 @@ Once the user approves, save the requirements:
|
|
|
96
125
|
- For Jira: Use Jira MCP with `description` field
|
|
97
126
|
- For Linear: Use Linear MCP with `description` field
|
|
98
127
|
- For GitHub: Use GitHub MCP with `body` field
|
|
99
|
-
-
|
|
100
|
-
-
|
|
128
|
+
- Include all refined content in the issue description/body field
|
|
129
|
+
- If content is too long and API errors occur, consider creating a summarized version
|
|
101
130
|
- **ALWAYS overwrite** the existing body (do not append)
|
|
102
131
|
|
|
103
132
|
**Note**:
|
|
@@ -106,7 +135,7 @@ Once the user approves, save the requirements:
|
|
|
106
135
|
|
|
107
136
|
**Output Template**:
|
|
108
137
|
|
|
109
|
-
**IMPORTANT**: The
|
|
138
|
+
**IMPORTANT**: The standard template for refined requirements may be documented in the metaspecs repository. Check `{base_path}/{metaspecs-id}/specs/refined/` or similar.
|
|
110
139
|
|
|
111
140
|
**FULL Template** (for local backup `.sessions/<ISSUE-ID>/refined.md`):
|
|
112
141
|
- **Metadata**: Issue, ID, Task Manager, Project, Date, Sprint, Priority
|
|
@@ -115,18 +144,18 @@ Once the user approves, save the requirements:
|
|
|
115
144
|
- **🔧 HOW**: Stack, coding standards, file structure, dependencies, implementation order, failure modes, performance/cost/UX considerations
|
|
116
145
|
- **✅ Validation against Metaspecs**: Consulted documents (business and technical), verified ADRs, validation result
|
|
117
146
|
- **📊 Success Metrics**: Technical, product/UX, acceptance criteria
|
|
118
|
-
- **🔄 Product Impact**: Alignment with
|
|
147
|
+
- **🔄 Product Impact**: Alignment with objectives, enablers, mitigated risks
|
|
119
148
|
- **⚠️ Known Limitations**: MVP limitations
|
|
120
149
|
- **📝 Implementation Checklist**: Tasks by area (backend, frontend, testing, security, etc.)
|
|
121
150
|
|
|
122
|
-
**
|
|
151
|
+
**Task Manager Template**:
|
|
123
152
|
```markdown
|
|
124
153
|
# [Feature Name] - Refined Requirements
|
|
125
154
|
|
|
126
155
|
**Sprint X** | **Y days** | **Priority**
|
|
127
156
|
|
|
128
157
|
## Objective
|
|
129
|
-
[1-2 paragraphs: what it is and why
|
|
158
|
+
[1-2 paragraphs: what it is and why]
|
|
130
159
|
|
|
131
160
|
## Scope
|
|
132
161
|
|
|
@@ -146,7 +175,7 @@ Once the user approves, save the requirements:
|
|
|
146
175
|
❌ [item 1] ❌ [item 2] ❌ [item 3]
|
|
147
176
|
|
|
148
177
|
## Stack
|
|
149
|
-
[Tech stack
|
|
178
|
+
[Tech stack summary by area]
|
|
150
179
|
|
|
151
180
|
## Structure
|
|
152
181
|
[SUMMARIZED file tree - main modules only]
|