context-first-cli 2.0.3 → 2.0.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/dist/templates/commands/en/products/collect.md +64 -40
- package/dist/templates/commands/en/products/refine.md +171 -167
- package/dist/templates/commands/es/products/collect.md +71 -47
- package/dist/templates/commands/es/products/refine.md +171 -167
- package/dist/templates/commands/pt-BR/products/collect.md +27 -3
- package/dist/templates/commands/pt-BR/products/refine.md +171 -167
- package/package.json +1 -1
- package/templates/commands/en/products/collect.md +64 -40
- package/templates/commands/en/products/refine.md +171 -167
- package/templates/commands/es/products/collect.md +71 -47
- package/templates/commands/es/products/refine.md +171 -167
- package/templates/commands/pt-BR/products/collect.md +27 -3
- package/templates/commands/pt-BR/products/refine.md +171 -167
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# Recolección de Ideas y Requisitos
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Eres un especialista en producto responsable de recopilar y documentar nuevas ideas, funcionalidades o bugs.
|
|
4
4
|
|
|
5
5
|
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
6
6
|
|
|
7
|
-
**Este comando es
|
|
7
|
+
**Este comando es SÓLO para planificación y documentación:**
|
|
8
8
|
- ✅ Recopilar y entender requisitos
|
|
9
|
-
- ✅ Crear issue en el
|
|
9
|
+
- ✅ Crear issue en el gestor de tareas vía MCP
|
|
10
10
|
- ✅ Hacer preguntas de aclaración
|
|
11
11
|
- ✅ **LEER** archivos de los repositorios principales (solo lectura)
|
|
12
12
|
- ❌ **NO implementar código**
|
|
13
|
-
- ❌ **NO
|
|
13
|
+
- ❌ **NO hacer ediciones en archivos de código**
|
|
14
14
|
- ❌ **NO hacer checkout de branches en los repositorios principales**
|
|
15
15
|
- ❌ **NO hacer commits**
|
|
16
16
|
|
|
@@ -20,29 +20,29 @@ Usted es un experto en producto responsable de recopilar y documentar nuevas ide
|
|
|
20
20
|
|
|
21
21
|
## Contexto del Proyecto
|
|
22
22
|
|
|
23
|
-
Antes de
|
|
23
|
+
Antes de comenzar, carga el contexto consultando:
|
|
24
24
|
|
|
25
25
|
1. **Localizar MetaSpecs automáticamente**:
|
|
26
|
-
-
|
|
27
|
-
-
|
|
28
|
-
-
|
|
26
|
+
- Lee `context-manifest.json` del orquestador
|
|
27
|
+
- Encuentra el repositorio con `"role": "metaspecs"`
|
|
28
|
+
- Lee `ai.properties.md` para obtener el `base_path`
|
|
29
29
|
- El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
30
|
-
-
|
|
30
|
+
- Lee los archivos `index.md` como referencia
|
|
31
31
|
|
|
32
32
|
2. **Estructura del proyecto**:
|
|
33
33
|
- `context-manifest.json` - Lista de repositorios y sus funciones
|
|
34
34
|
- `README.md` de los repositorios involucrados
|
|
35
35
|
|
|
36
|
-
##
|
|
36
|
+
## Tu Objetivo
|
|
37
37
|
|
|
38
|
-
Entender la solicitud del usuario y capturarla como issue en el
|
|
38
|
+
Entender la solicitud del usuario y capturarla como issue en el gestor de tareas (vía MCP).
|
|
39
39
|
|
|
40
|
-
**En esta fase,
|
|
40
|
+
**En esta fase, NO necesitas:**
|
|
41
41
|
- ❌ Escribir especificación completa
|
|
42
42
|
- ❌ Validar contra metaspecs (esto se hace en `/refine` o `/spec`)
|
|
43
43
|
- ❌ Detallar implementación técnica
|
|
44
44
|
|
|
45
|
-
Solo
|
|
45
|
+
Solo asegúrate de que la idea esté **adecuadamente comprendida**.
|
|
46
46
|
|
|
47
47
|
## Formato de la Issue
|
|
48
48
|
|
|
@@ -50,20 +50,20 @@ Solo asegúrese de que la idea esté **adecuadamente comprendida**.
|
|
|
50
50
|
# [Título Claro y Descriptivo]
|
|
51
51
|
|
|
52
52
|
## Descripción
|
|
53
|
-
[2-3 párrafos explicando qué es la
|
|
53
|
+
[2-3 párrafos explicando qué es la funcionalidad/bug y por qué es importante]
|
|
54
54
|
|
|
55
55
|
## Tipo
|
|
56
|
-
- [ ] Nueva
|
|
57
|
-
- [ ] Mejora de
|
|
56
|
+
- [ ] Nueva Funcionalidad
|
|
57
|
+
- [ ] Mejora de Funcionalidad Existente
|
|
58
58
|
- [ ] Bug
|
|
59
|
-
- [ ]
|
|
59
|
+
- [ ] Deuda Técnica
|
|
60
60
|
- [ ] Documentación
|
|
61
61
|
|
|
62
62
|
## Contexto Adicional
|
|
63
|
-
[Información relevante: dónde ocurre el bug, inspiración para la
|
|
63
|
+
[Información relevante: dónde ocurre el bug, inspiración para la funcionalidad, etc.]
|
|
64
64
|
|
|
65
65
|
## Repositorios Afectados
|
|
66
|
-
[
|
|
66
|
+
[Lista de los repositorios del proyecto que serán impactados]
|
|
67
67
|
|
|
68
68
|
## Prioridad Sugerida
|
|
69
69
|
- [ ] 🔴 Crítica
|
|
@@ -75,9 +75,9 @@ Solo asegúrese de que la idea esté **adecuadamente comprendida**.
|
|
|
75
75
|
## Proceso de Recolección
|
|
76
76
|
|
|
77
77
|
1. **Entendimiento Inicial**
|
|
78
|
-
-
|
|
79
|
-
-
|
|
80
|
-
-
|
|
78
|
+
- Haz preguntas de aclaración si es necesario
|
|
79
|
+
- Identifica: ¿Es funcionalidad nueva? ¿Mejora? ¿Bug?
|
|
80
|
+
- Identifica qué repositorios serán afectados
|
|
81
81
|
|
|
82
82
|
2. **Borrador de la Issue**
|
|
83
83
|
- Título claro (máximo 10 palabras)
|
|
@@ -86,47 +86,71 @@ Solo asegúrese de que la idea esté **adecuadamente comprendida**.
|
|
|
86
86
|
- Repositorios afectados
|
|
87
87
|
- Prioridad sugerida
|
|
88
88
|
|
|
89
|
-
3. **
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
3. **Evaluación de Complejidad y Sugerencia de División**
|
|
90
|
+
|
|
91
|
+
Antes de finalizar, evalúa la complejidad de la issue:
|
|
92
|
+
|
|
93
|
+
**Si la implementación parece grande** (> 5 días de esfuerzo estimado):
|
|
94
|
+
- 🚨 **Sugiere dividir en múltiples issues más pequeñas**
|
|
95
|
+
- Explica la razón de la división (ej: "Esta funcionalidad involucra 3 áreas distintas: autenticación, procesamiento y notificación")
|
|
96
|
+
- Propón una división **lógica** (por funcionalidad, por repositorio, por capa, etc.)
|
|
97
|
+
- Ejemplo de división:
|
|
98
|
+
```
|
|
99
|
+
Issue Original: "Sistema completo de pagos"
|
|
100
|
+
|
|
101
|
+
División Sugerida:
|
|
102
|
+
- FIN-101: Integración con gateway de pago (backend)
|
|
103
|
+
- FIN-102: Interfaz de checkout (frontend)
|
|
104
|
+
- FIN-103: Webhook de confirmación y notificaciones (backend + jobs)
|
|
105
|
+
```
|
|
106
|
+
- **Importante**: La decisión final es del usuario - puede aceptar la división o mantener como issue única
|
|
107
|
+
|
|
108
|
+
**Si el usuario acepta la división**:
|
|
109
|
+
- Crea cada issue por separado usando el mismo proceso
|
|
110
|
+
- Añade referencias cruzadas entre las issues relacionadas
|
|
111
|
+
- Sugiere orden de implementación si hay dependencias
|
|
112
|
+
|
|
113
|
+
4. **Aprobación del Usuario**
|
|
114
|
+
- Presenta el borrador (o borradores, si hay división)
|
|
115
|
+
- Realiza ajustes según feedback
|
|
116
|
+
- Obtén aprobación final
|
|
93
117
|
|
|
94
|
-
|
|
118
|
+
5. **Guardado de la Issue**
|
|
95
119
|
|
|
96
120
|
**PRIORIDAD 1: Usar MCP (Model Context Protocol)**
|
|
97
121
|
|
|
98
|
-
|
|
99
|
-
-
|
|
100
|
-
- Si `task_management_system=jira`:
|
|
101
|
-
- Si `task_management_system=linear`:
|
|
102
|
-
- Si `task_management_system=github`:
|
|
122
|
+
Verifica si hay MCP configurado para el gestor de tareas:
|
|
123
|
+
- Lee `ai.properties.md` del orquestador para identificar el `task_management_system`
|
|
124
|
+
- Si `task_management_system=jira`: Usa MCP de Jira para crear la issue
|
|
125
|
+
- Si `task_management_system=linear`: Usa MCP de Linear para crear la issue
|
|
126
|
+
- Si `task_management_system=github`: Usa MCP de GitHub para crear la issue
|
|
103
127
|
|
|
104
128
|
**Al usar MCP:**
|
|
105
|
-
-
|
|
106
|
-
-
|
|
107
|
-
-
|
|
108
|
-
- **NO
|
|
129
|
+
- Crea la issue directamente en el gestor de tareas
|
|
130
|
+
- Obtén el ID de la issue creada (ej: FIN-123, LIN-456)
|
|
131
|
+
- Informa al usuario: "✅ Issue [ID] creada en [task manager]"
|
|
132
|
+
- **NO crees archivo .md**
|
|
109
133
|
|
|
110
|
-
**FALLBACK: Crear archivo .md
|
|
134
|
+
**FALLBACK: Crear archivo .md sólo si MCP falla**
|
|
111
135
|
|
|
112
|
-
Si
|
|
113
|
-
-
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
136
|
+
Si MCP no está disponible o falla:
|
|
137
|
+
- Crea archivo en `./.sessions/<ISSUE-ID>/collect.md`
|
|
138
|
+
- Usa formato de ID manual: `LOCAL-001`, `LOCAL-002`, etc.
|
|
139
|
+
- Incluye fecha, tipo y contenido completo
|
|
140
|
+
- Informa al usuario: "⚠️ Issue guardada localmente en .sessions/ (gestor de tareas no disponible)"
|
|
117
141
|
|
|
118
142
|
## Preguntas de Aclaración
|
|
119
143
|
|
|
120
|
-
**Para
|
|
144
|
+
**Para Funcionalidades**:
|
|
121
145
|
- ¿Qué problema resuelve?
|
|
122
146
|
- ¿Quién se beneficia?
|
|
123
147
|
- ¿Es funcionalidad visible o infraestructura?
|
|
124
|
-
- ¿Tiene relación con alguna
|
|
148
|
+
- ¿Tiene relación con alguna funcionalidad existente?
|
|
125
149
|
- ¿Qué repositorios necesitan ser modificados?
|
|
126
150
|
|
|
127
151
|
**Para Bugs**:
|
|
128
152
|
- ¿Dónde ocurre el bug? (repositorio, componente, flujo)
|
|
129
|
-
- ¿Cómo
|
|
153
|
+
- ¿Cómo reproducirlo?
|
|
130
154
|
- ¿Cuál es el comportamiento esperado vs actual?
|
|
131
155
|
- ¿Severidad del impacto?
|
|
132
156
|
|
|
@@ -147,10 +171,10 @@ Solo asegúrese de que la idea esté **adecuadamente comprendida**.
|
|
|
147
171
|
|
|
148
172
|
## 🎯 Próximo Paso
|
|
149
173
|
|
|
150
|
-
|
|
174
|
+
Tras la aprobación y guardado de la issue:
|
|
151
175
|
|
|
152
176
|
```bash
|
|
153
177
|
/refine [ISSUE-ID]
|
|
154
178
|
```
|
|
155
179
|
|
|
156
|
-
Este comando transformará la issue recopilada en requisitos refinados y validados.
|
|
180
|
+
Este comando transformará la issue recopilada en requisitos refinados y validados.
|
|
@@ -1,209 +1,211 @@
|
|
|
1
1
|
# Refinamiento de Requisitos
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Eres un especialista en producto encargado de ayudar a refinar requisitos para el proyecto.
|
|
4
4
|
|
|
5
5
|
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
6
6
|
|
|
7
|
-
**Este comando es
|
|
8
|
-
- ✅
|
|
9
|
-
- ✅
|
|
10
|
-
- ✅
|
|
7
|
+
**Este comando es SÓLO para planificación y documentación:**
|
|
8
|
+
- ✅ Validar requisitos contra metaspecs
|
|
9
|
+
- ✅ Crear especificación refinada
|
|
10
|
+
- ✅ Guardar documentación en `.sessions/`
|
|
11
|
+
- ✅ Actualizar issue en el task manager
|
|
11
12
|
- ❌ **NO implementar código**
|
|
12
13
|
- ❌ **NO hacer ediciones en archivos de código**
|
|
13
|
-
- ❌ **NO
|
|
14
|
-
- ❌ **NO hacer commits**
|
|
14
|
+
- ❌ **NO ejecutar pruebas o deploy**
|
|
15
15
|
|
|
16
|
-
**Próximo paso**: `/spec [ISSUE-ID]` para crear
|
|
16
|
+
**Próximo paso**: `/spec [ISSUE-ID]` para crear PRD completo basado en los requisitos refinados.
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Objetivo
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
- Contexto del proyecto se cargará automáticamente (ver sección "Cargar MetaSpecs" abajo)
|
|
22
|
+
Transformar un requisito inicial en especificación refinada y validada, lista para convertirse en PRD completo.
|
|
24
23
|
|
|
25
|
-
##
|
|
24
|
+
## Proceso
|
|
26
25
|
|
|
27
|
-
|
|
28
|
-
- Alcance exacto (qué entra y qué no entra)
|
|
29
|
-
- Criterios de aceptación claros
|
|
30
|
-
- Impacto en cada repositorio
|
|
31
|
-
- Dependencias técnicas
|
|
32
|
-
- Riesgos y restricciones
|
|
26
|
+
### 1. Fase de Aclaración
|
|
33
27
|
|
|
34
|
-
|
|
28
|
+
Lee el requisito inicial y haz preguntas para alcanzar claridad total sobre:
|
|
29
|
+
- **Objetivo**: ¿Por qué construir esto?
|
|
30
|
+
- **Valor de Negocio**: ¿Qué métrica/persona impacta?
|
|
31
|
+
- **Alcance**: ¿Qué incluye y qué NO incluye?
|
|
32
|
+
- **Interacciones**: ¿Qué features/componentes existentes se ven afectados?
|
|
35
33
|
|
|
36
|
-
|
|
34
|
+
Continúa haciendo preguntas hasta tener entendimiento completo.
|
|
37
35
|
|
|
38
|
-
|
|
36
|
+
### 2. Validación Contra Metaspecs
|
|
39
37
|
|
|
40
|
-
|
|
41
|
-
- Use el MCP apropiado para buscar la issue:
|
|
42
|
-
- `task_management_system=jira`: Use MCP de Jira
|
|
43
|
-
- `task_management_system=linear`: Use MCP de Linear
|
|
44
|
-
- `task_management_system=github`: Use MCP de GitHub
|
|
45
|
-
- Cargue todos los datos de la issue (título, descripción, labels, etc.)
|
|
38
|
+
**IMPORTANTE**: Primero lee `ai.properties.md` para obtener el `base_path`. Los índices YA deben estar en contexto (corriste `/warm-up`). Consulta los índices y lee SÓLO los documentos relevantes para validar el requisito.
|
|
46
39
|
|
|
47
|
-
**
|
|
48
|
-
|
|
49
|
-
- Lea `./.sessions/<ISSUE-ID>/collect.md`
|
|
50
|
-
- Si el archivo no existe, informe el error al usuario
|
|
51
|
-
|
|
52
|
-
### 2. Cargar MetaSpecs
|
|
53
|
-
|
|
54
|
-
**Localizar MetaSpecs automáticamente**:
|
|
55
|
-
1. Lea `context-manifest.json` del orchestrator
|
|
56
|
-
2. Encuentre el repositorio con `"role": "metaspecs"`
|
|
57
|
-
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
58
|
-
4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
59
|
-
5. Lea los archivos `index.md` relevantes para entender:
|
|
60
|
-
- Arquitectura del sistema
|
|
61
|
-
- Patrones de diseño
|
|
62
|
-
- Restricciones técnicas
|
|
63
|
-
- Convenciones del proyecto
|
|
64
|
-
|
|
65
|
-
### 3. Análisis de Alcance
|
|
66
|
-
|
|
67
|
-
Defina claramente:
|
|
68
|
-
|
|
69
|
-
**Qué ESTÁ en el alcance**:
|
|
70
|
-
- Funcionalidades específicas a implementar
|
|
71
|
-
- Repositorios que serán modificados
|
|
72
|
-
- Integraciones necesarias
|
|
73
|
-
|
|
74
|
-
**Qué NO ESTÁ en el alcance**:
|
|
75
|
-
- Funcionalidades relacionadas pero que quedan para después
|
|
76
|
-
- Optimizaciones futuras
|
|
77
|
-
- Features "nice to have"
|
|
78
|
-
|
|
79
|
-
### 4. Criterios de Aceptación
|
|
80
|
-
|
|
81
|
-
Defina criterios medibles y comprobables:
|
|
82
|
-
|
|
83
|
-
```markdown
|
|
84
|
-
## Criterios de Aceptación
|
|
85
|
-
|
|
86
|
-
### Funcional
|
|
87
|
-
- [ ] [Criterio 1 - específico y comprobable]
|
|
88
|
-
- [ ] [Criterio 2 - específico y comprobable]
|
|
89
|
-
|
|
90
|
-
### Técnico
|
|
91
|
-
- [ ] [Criterio técnico 1]
|
|
92
|
-
- [ ] [Criterio técnico 2]
|
|
93
|
-
|
|
94
|
-
### Calidad
|
|
95
|
-
- [ ] Pruebas unitarias implementadas
|
|
96
|
-
- [ ] Pruebas de integración implementadas
|
|
97
|
-
- [ ] Documentación actualizada
|
|
98
|
-
```
|
|
99
|
-
|
|
100
|
-
### 5. Análisis de Impacto
|
|
101
|
-
|
|
102
|
-
Para cada repositorio afectado:
|
|
40
|
+
**Proceso de Validación**:
|
|
103
41
|
|
|
42
|
+
1. **Consulta los índices cargados** por `/warm-up`:
|
|
43
|
+
- Lee `context-manifest.json` para encontrar el repositorio con `role: "metaspecs"`
|
|
44
|
+
- Obtén el `id` de ese repositorio (ej: "my-project-metaspecs")
|
|
45
|
+
- Lee `ai.properties.md` para obtener el `base_path`
|
|
46
|
+
- El repositorio de metaspecs está en: `{base_path}/{metaspecs-id}/`
|
|
47
|
+
- Consulta `{base_path}/{metaspecs-id}/index.md` - Visión general del proyecto
|
|
48
|
+
- Consulta índices específicos (ej: `specs/business/index.md`, `specs/technical/index.md`)
|
|
49
|
+
|
|
50
|
+
2. **Identifica documentos relevantes** para este requisito específico:
|
|
51
|
+
- En `specs/business/`: ¿Qué documentos de negocio son relevantes?
|
|
52
|
+
- En `specs/technical/`: ¿Qué documentos técnicos son relevantes?
|
|
53
|
+
|
|
54
|
+
3. **Lee SÓLO los documentos relevantes** identificados (¡no leas todo!)
|
|
55
|
+
|
|
56
|
+
4. **Valida el requisito** contra las metaspecs leídas:
|
|
57
|
+
- ✅ Alineación con estrategia y visión de producto
|
|
58
|
+
- ✅ Atiende necesidades de las personas correctas
|
|
59
|
+
- ✅ Compatible con stack tecnológico aprobado
|
|
60
|
+
- ✅ Respeta decisiones arquitecturales (ADRs)
|
|
61
|
+
- ✅ Sigue reglas de negocio existentes
|
|
62
|
+
- ⚠️ Identifica conflictos o violaciones
|
|
63
|
+
|
|
64
|
+
**Si identificas violaciones**: 🛑 **DETENTE** y pide aclaración al usuario antes de continuar (Principio Jidoka).
|
|
65
|
+
|
|
66
|
+
### 3. Fase de Resumen y Aprobación
|
|
67
|
+
|
|
68
|
+
Una vez que hayas recopilado información suficiente y validado contra metaspecs, presenta un resumen estructurado con:
|
|
69
|
+
- **Feature**: Nombre de la funcionalidad
|
|
70
|
+
- **Objetivo**: Por qué construir (1-2 frases)
|
|
71
|
+
- **Valor de Negocio**: Métrica, persona, fase del roadmap (consulta metaspecs)
|
|
72
|
+
- **Alcance**: Qué INCLUYE y qué NO INCLUYE
|
|
73
|
+
- **Componentes Afectados**: Lista basada en la arquitectura actual (consulta metaspecs técnicas)
|
|
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
|
|
104
|
+
|
|
105
|
+
Pide aprobación del usuario e incorpora feedback si es necesario.
|
|
106
|
+
|
|
107
|
+
**Consejo**: Puedes buscar en el código base o internet antes de finalizar, si es necesario.
|
|
108
|
+
|
|
109
|
+
### 4. Guardado de los Requisitos Refinados
|
|
110
|
+
|
|
111
|
+
Una vez que el usuario apruebe, guarda los requisitos:
|
|
112
|
+
|
|
113
|
+
**IMPORTANTE**: Siempre crea backup local Y actualiza el task manager (si está configurado).
|
|
114
|
+
|
|
115
|
+
**Proceso de Guardado**:
|
|
116
|
+
|
|
117
|
+
1. **SIEMPRE crear backup local primero**:
|
|
118
|
+
- Crea archivo completo en `./.sessions/<ISSUE-ID>/refined.md` (ej: `./.sessions/FIN-5/refined.md`)
|
|
119
|
+
- Donde `<ISSUE-ID>` es el ID de la issue (ej: FIN-5, FIN-123)
|
|
120
|
+
- Incluye TODOS los detalles del refinamiento (backup completo)
|
|
121
|
+
|
|
122
|
+
2. **Si el task manager está configurado** (lee `ai.properties.md` para identificar `task_management_system`):
|
|
123
|
+
- Identifica la herramienta MCP del task manager
|
|
124
|
+
- **Actualiza el BODY (description) de la issue** con versión CONCISA de los requisitos refinados
|
|
125
|
+
- Para Jira: Usa MCP de Jira con campo `description`
|
|
126
|
+
- Para Linear: Usa MCP de Linear con campo `description`
|
|
127
|
+
- Para GitHub: Usa MCP de GitHub con campo `body`
|
|
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)
|
|
131
|
+
|
|
132
|
+
**Observación**:
|
|
133
|
+
- El backup local SIEMPRE está guardado y completo
|
|
134
|
+
- Si hay error de API, verifica manualmente si la issue fue actualizada en el task manager
|
|
135
|
+
|
|
136
|
+
**Template de Salida**:
|
|
137
|
+
|
|
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.
|
|
139
|
+
|
|
140
|
+
**Template COMPLETO** (para backup local `.sessions/<ISSUE-ID>/refined.md`):
|
|
141
|
+
- **Metadatos**: Issue, ID, Task Manager, Proyecto, Fecha, Sprint, Prioridad
|
|
142
|
+
- **🎯 POR QUÉ**: Razones, valor de negocio, métrica, persona, alineamiento estratégico
|
|
143
|
+
- **📦 QUÉ**: Funcionalidades detalladas, componentes afectados, integraciones, alcance negativo completo
|
|
144
|
+
- **🔧 CÓMO**: Stack, patrones de código, estructura de archivos, dependencias, orden de implementación, failure modes, consideraciones de performance/costo/UX
|
|
145
|
+
- **✅ Validación contra Metaspecs**: Documentos consultados (business y technical), ADRs verificados, resultado de la validación
|
|
146
|
+
- **📊 Métricas de Éxito**: Técnicas, producto/UX, criterios de aceptación
|
|
147
|
+
- **🔄 Impacto en el Producto**: Alineamiento con objetivos, habilitadores, riesgos mitigados
|
|
148
|
+
- **⚠️ Limitaciones Conocidas**: Limitaciones del MVP
|
|
149
|
+
- **📝 Checklist de Implementación**: Tareas por área (backend, frontend, tests, seguridad, etc.)
|
|
150
|
+
|
|
151
|
+
**Template para Task Manager**:
|
|
104
152
|
```markdown
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
### <repo-1>
|
|
108
|
-
- **Componentes afectados**: [lista]
|
|
109
|
-
- **Tipo de cambio**: Nueva feature / Modificación / Refactorización
|
|
110
|
-
- **Complejidad estimada**: Baja / Media / Alta
|
|
111
|
-
- **Riesgos**: [riesgos específicos]
|
|
112
|
-
|
|
113
|
-
### <repo-2>
|
|
114
|
-
- **Componentes afectados**: [lista]
|
|
115
|
-
- **Tipo de cambio**: Nueva feature / Modificación / Refactorización
|
|
116
|
-
- **Complejidad estimada**: Baja / Media / Alta
|
|
117
|
-
- **Riesgos**: [riesgos específicos]
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
### 6. Dependencias y Restricciones
|
|
121
|
-
|
|
122
|
-
Identifique:
|
|
123
|
-
- Dependencias entre repositorios
|
|
124
|
-
- Dependencias de otras features/issues
|
|
125
|
-
- Restricciones técnicas
|
|
126
|
-
- Restricciones de negocio
|
|
127
|
-
- Bloqueadores conocidos
|
|
128
|
-
|
|
129
|
-
### 7. Estimación Inicial
|
|
153
|
+
# [Nombre Feature] - Requisitos Refinados
|
|
130
154
|
|
|
131
|
-
|
|
132
|
-
- **Pequeño**: < 1 día
|
|
133
|
-
- **Medio**: 1-3 días
|
|
134
|
-
- **Grande**: 3-5 días
|
|
135
|
-
- **Muy Grande**: > 5 días (considere dividir en issues más pequeñas)
|
|
155
|
+
**Sprint X** | **Y días** | **Prioridad**
|
|
136
156
|
|
|
137
|
-
|
|
157
|
+
## Objetivo
|
|
158
|
+
[1-2 párrafos: qué es y por qué hacerlo]
|
|
138
159
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
## 📄 Guardado del Refinamiento
|
|
160
|
+
## Alcance
|
|
142
161
|
|
|
143
|
-
|
|
162
|
+
### Funcionalidades Principales
|
|
163
|
+
- Funcionalidad 1: [resumen]
|
|
164
|
+
- Funcionalidad 2: [resumen]
|
|
165
|
+
- Validaciones/Guards: [resumen]
|
|
144
166
|
|
|
145
|
-
|
|
146
|
-
-
|
|
147
|
-
-
|
|
148
|
-
- Añada estimación si el task manager lo soporta
|
|
149
|
-
- Informe al usuario: "✅ Issue [ID] actualizada con refinamiento"
|
|
167
|
+
### Componentes Afectados
|
|
168
|
+
- Componente 1: [tipo de cambio]
|
|
169
|
+
- Componente 2: [tipo de cambio]
|
|
150
170
|
|
|
151
|
-
|
|
171
|
+
### Seguridad
|
|
172
|
+
✅ [ítem 1] ✅ [ítem 2] ✅ [ítem 3]
|
|
152
173
|
|
|
153
|
-
|
|
174
|
+
## Alcance Negativo
|
|
175
|
+
❌ [ítem 1] ❌ [ítem 2] ❌ [ítem 3]
|
|
154
176
|
|
|
155
|
-
|
|
156
|
-
|
|
177
|
+
## Stack
|
|
178
|
+
[Tech stack resumida por área]
|
|
157
179
|
|
|
158
|
-
##
|
|
180
|
+
## Estructura
|
|
181
|
+
[Árbol de archivos RESUMIDO - módulos principales solamente]
|
|
159
182
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
### Excluido
|
|
165
|
-
- [Ítem 1]
|
|
166
|
-
- [Ítem 2]
|
|
183
|
+
## Failure Modes (Evitar)
|
|
184
|
+
🔴 [crítico 1] 🔴 [crítico 2]
|
|
185
|
+
🟡 [medio 1] 🟡 [medio 2]
|
|
167
186
|
|
|
168
187
|
## Criterios de Aceptación
|
|
169
|
-
[
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
[Según sección 4 arriba]
|
|
173
|
-
|
|
174
|
-
## Dependencias
|
|
175
|
-
- [Dependencia 1]
|
|
176
|
-
- [Dependencia 2]
|
|
177
|
-
|
|
178
|
-
## Restricciones
|
|
179
|
-
- [Restricción 1]
|
|
180
|
-
- [Restricción 2]
|
|
188
|
+
- [ ] [ítem 1]
|
|
189
|
+
- [ ] [ítem 2]
|
|
190
|
+
- [ ] [ítem 3]
|
|
181
191
|
|
|
182
|
-
##
|
|
183
|
-
|
|
192
|
+
## Validación
|
|
193
|
+
**ADRs**: [lista]
|
|
194
|
+
**Specs**: [principales]
|
|
195
|
+
**Estado**: ✅ Aprobado
|
|
184
196
|
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
2. [Pregunta 2]
|
|
197
|
+
**Impacto**: [resumen]
|
|
198
|
+
**Limitaciones**: [resumen]
|
|
188
199
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
- [Riesgo 2 y mitigación]
|
|
200
|
+
---
|
|
201
|
+
📄 **Documento completo**: `.sessions/<ISSUE-ID>/refined.md`
|
|
192
202
|
```
|
|
193
203
|
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
## 🔍 Validación
|
|
197
|
-
|
|
198
|
-
Valide el refinamiento contra:
|
|
199
|
-
- Estrategia del producto (si está documentada)
|
|
200
|
-
- Arquitectura técnica (si está documentada)
|
|
201
|
-
- Capacidad del equipo
|
|
202
|
-
- Prioridades del roadmap
|
|
204
|
+
**Audiencia**: Desarrollador IA con capacidades similares a las tuyas. Sé conciso pero completo.
|
|
203
205
|
|
|
204
206
|
---
|
|
205
207
|
|
|
206
|
-
**
|
|
208
|
+
**Requisito para Refinar**:
|
|
207
209
|
|
|
208
210
|
```
|
|
209
211
|
#$ARGUMENTS
|
|
@@ -213,10 +215,12 @@ Valide el refinamiento contra:
|
|
|
213
215
|
|
|
214
216
|
## 🎯 Próximo Paso
|
|
215
217
|
|
|
216
|
-
|
|
218
|
+
**Tras la aprobación del usuario y guardado de los requisitos refinados**, el flujo natural es:
|
|
217
219
|
|
|
218
220
|
```bash
|
|
219
221
|
/spec [ISSUE-ID]
|
|
220
222
|
```
|
|
221
223
|
|
|
222
|
-
|
|
224
|
+
**Ejemplo**: `/spec FIN-3`
|
|
225
|
+
|
|
226
|
+
Este comando creará un PRD (Product Requirements Document) completo basado en los requisitos refinados, detallando funcionalidades, user stories, criterios de aceptación y validaciones finales.
|
|
@@ -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
|
|