@thatix.io/context-first-agents-cli 0.1.1 → 0.2.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/README.md +25 -12
- package/dist/commands/create-orchestrator.js +4 -1
- package/dist/commands/doctor.js +21 -5
- package/dist/commands/init.js +3 -1
- package/dist/templates/commands/en/engineer/plan.md +301 -0
- package/dist/templates/commands/en/engineer/pr.md +194 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
- package/dist/templates/commands/en/engineer/start.md +285 -0
- package/dist/templates/commands/en/engineer/work.md +256 -0
- package/dist/templates/commands/en/products/check.md +237 -0
- package/dist/templates/commands/en/products/collect.md +170 -0
- package/dist/templates/commands/en/products/refine.md +231 -0
- package/dist/templates/commands/en/products/spec.md +273 -0
- package/dist/templates/commands/en/quality/metrics.md +266 -0
- package/dist/templates/commands/en/quality/observe.md +172 -0
- package/dist/templates/commands/en/warm-up.md +59 -0
- package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/dist/templates/commands/es/agents/implementer.md +27 -0
- package/dist/templates/commands/es/agents/integrator.md +24 -0
- package/dist/templates/commands/es/agents/reviewer.md +31 -0
- package/dist/templates/commands/es/agents/tester.md +22 -0
- package/dist/templates/commands/es/engineer/plan.md +335 -0
- package/dist/templates/commands/es/engineer/pr.md +228 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/es/engineer/start.md +318 -0
- package/dist/templates/commands/es/engineer/work.md +290 -0
- package/dist/templates/commands/es/orchestrate.md +125 -0
- package/dist/templates/commands/es/products/check.md +271 -0
- package/dist/templates/commands/es/products/collect.md +218 -0
- package/dist/templates/commands/es/products/refine.md +265 -0
- package/dist/templates/commands/es/products/spec.md +306 -0
- package/dist/templates/commands/es/quality/metrics.md +300 -0
- package/dist/templates/commands/es/quality/observe.md +205 -0
- package/dist/templates/commands/es/warm-up.md +59 -0
- package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
- package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
- package/dist/templates/commands/pt-BR/products/check.md +271 -0
- package/dist/templates/commands/pt-BR/products/collect.md +219 -0
- package/dist/templates/commands/pt-BR/products/refine.md +265 -0
- package/dist/templates/commands/pt-BR/products/spec.md +307 -0
- package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
- package/dist/templates/commands/pt-BR/warm-up.md +59 -0
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +301 -0
- package/templates/commands/en/engineer/pr.md +194 -0
- package/templates/commands/en/engineer/pre-pr.md +325 -0
- package/templates/commands/en/engineer/start.md +285 -0
- package/templates/commands/en/engineer/work.md +256 -0
- package/templates/commands/en/products/check.md +237 -0
- package/templates/commands/en/products/collect.md +170 -0
- package/templates/commands/en/products/refine.md +231 -0
- package/templates/commands/en/products/spec.md +273 -0
- package/templates/commands/en/quality/metrics.md +266 -0
- package/templates/commands/en/quality/observe.md +172 -0
- package/templates/commands/en/warm-up.md +59 -0
- package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
- package/templates/commands/es/agents/implementer.md +27 -0
- package/templates/commands/es/agents/integrator.md +24 -0
- package/templates/commands/es/agents/reviewer.md +31 -0
- package/templates/commands/es/agents/tester.md +22 -0
- package/templates/commands/es/engineer/plan.md +335 -0
- package/templates/commands/es/engineer/pr.md +228 -0
- package/templates/commands/es/engineer/pre-pr.md +359 -0
- package/templates/commands/es/engineer/start.md +318 -0
- package/templates/commands/es/engineer/work.md +290 -0
- package/templates/commands/es/orchestrate.md +125 -0
- package/templates/commands/es/products/check.md +271 -0
- package/templates/commands/es/products/collect.md +218 -0
- package/templates/commands/es/products/refine.md +265 -0
- package/templates/commands/es/products/spec.md +306 -0
- package/templates/commands/es/quality/metrics.md +300 -0
- package/templates/commands/es/quality/observe.md +205 -0
- package/templates/commands/es/warm-up.md +59 -0
- package/templates/commands/pt-BR/engineer/plan.md +335 -0
- package/templates/commands/pt-BR/engineer/pr.md +228 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
- package/templates/commands/pt-BR/engineer/start.md +319 -0
- package/templates/commands/pt-BR/engineer/work.md +290 -0
- package/templates/commands/pt-BR/products/check.md +271 -0
- package/templates/commands/pt-BR/products/collect.md +219 -0
- package/templates/commands/pt-BR/products/refine.md +265 -0
- package/templates/commands/pt-BR/products/spec.md +307 -0
- package/templates/commands/pt-BR/quality/metrics.md +300 -0
- package/templates/commands/pt-BR/quality/observe.md +206 -0
- package/templates/commands/pt-BR/warm-up.md +59 -0
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Recolección de Ideas y Requisitos
|
|
2
|
+
|
|
3
|
+
Eres un especialista en producto responsable de recopilar y documentar nuevas ideas, funcionalidades o bugs.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
6
|
+
|
|
7
|
+
**Este comando es SÓLO para planificación y documentación:**
|
|
8
|
+
- ✅ Recopilar y entender requisitos
|
|
9
|
+
- ✅ Crear issue en el gestor de tareas vía MCP
|
|
10
|
+
- ✅ Hacer preguntas de aclaración
|
|
11
|
+
- ✅ **LEER** archivos de los repositorios principales (solo lectura)
|
|
12
|
+
- ❌ **NO implementar código**
|
|
13
|
+
- ❌ **NO hacer ediciones en archivos de código**
|
|
14
|
+
- ❌ **NO hacer checkout de branches en los repositorios principales**
|
|
15
|
+
- ❌ **NO hacer commits**
|
|
16
|
+
|
|
17
|
+
**Próximo paso**: `/refine [ISSUE-ID]` para refinar los requisitos recopilados.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## 📋 Configuración del Proyecto
|
|
22
|
+
|
|
23
|
+
**⚠️ IMPORTANTE: ¡Siempre lee los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
24
|
+
|
|
25
|
+
### Archivos Obligatorios
|
|
26
|
+
|
|
27
|
+
1. **`context-manifest.json`** (raíz del orchestrator)
|
|
28
|
+
- Lista de repositorios del proyecto
|
|
29
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
30
|
+
- URLs y dependencias entre repositorios
|
|
31
|
+
|
|
32
|
+
2. **`ai.properties.md`** (raíz del orchestrator)
|
|
33
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
34
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
35
|
+
- Credenciales y configuraciones específicas
|
|
36
|
+
|
|
37
|
+
### Cómo Leer
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# 1. Leer context-manifest.json
|
|
41
|
+
cat context-manifest.json
|
|
42
|
+
|
|
43
|
+
# 2. Leer ai.properties.md
|
|
44
|
+
cat ai.properties.md
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Información Esencial
|
|
48
|
+
|
|
49
|
+
Después de leer los archivos, tendrás:
|
|
50
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
51
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
52
|
+
- ✅ Base path para localizar repositorios
|
|
53
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
54
|
+
- ✅ Configuraciones específicas del proyecto
|
|
55
|
+
|
|
56
|
+
**🛑 ¡NO continúes sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
|
|
57
|
+
|
|
58
|
+
## Contexto del Proyecto
|
|
59
|
+
|
|
60
|
+
Antes de iniciar, carga el contexto consultando:
|
|
61
|
+
|
|
62
|
+
1. **Localizar MetaSpecs automáticamente**:
|
|
63
|
+
- Lee `context-manifest.json` del orchestrator
|
|
64
|
+
- Encuentra el repositorio con `"role": "metaspecs"`
|
|
65
|
+
- Lee `ai.properties.md` para obtener el `base_path`
|
|
66
|
+
- El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
67
|
+
- Lee los archivos `index.md` como referencia
|
|
68
|
+
|
|
69
|
+
2. **Estructura del proyecto**:
|
|
70
|
+
- `context-manifest.json` - Lista de repositorios y sus roles
|
|
71
|
+
- `README.md` de los repositorios involucrados
|
|
72
|
+
|
|
73
|
+
## Tu Objetivo
|
|
74
|
+
|
|
75
|
+
Entender la solicitud del usuario y capturarla como issue en el gestor de tareas (vía MCP).
|
|
76
|
+
|
|
77
|
+
**En esta fase NO necesitas:**
|
|
78
|
+
- ❌ Escribir especificación completa
|
|
79
|
+
- ❌ Validar contra metaspecs (esto se hace en `/refine` o `/spec`)
|
|
80
|
+
- ❌ Detallar implementación técnica
|
|
81
|
+
|
|
82
|
+
Solo asegúrate de que la idea esté **adecuadamente comprendida**.
|
|
83
|
+
|
|
84
|
+
## Formato de la Issue
|
|
85
|
+
|
|
86
|
+
```markdown
|
|
87
|
+
# [Título Claro y Descriptivo]
|
|
88
|
+
|
|
89
|
+
## Descripción
|
|
90
|
+
[2-3 párrafos explicando qué es la feature/bug y por qué es importante]
|
|
91
|
+
|
|
92
|
+
## Tipo
|
|
93
|
+
- [ ] Nueva Feature
|
|
94
|
+
- [ ] Mejora de Feature Existente
|
|
95
|
+
- [ ] Bug
|
|
96
|
+
- [ ] Deuda Técnica
|
|
97
|
+
- [ ] Documentación
|
|
98
|
+
|
|
99
|
+
## Contexto Adicional
|
|
100
|
+
[Información relevante: dónde ocurre el bug, inspiración para la feature, etc.]
|
|
101
|
+
|
|
102
|
+
## Repositorios Afectados
|
|
103
|
+
[Lista de repositorios del proyecto que serán impactados]
|
|
104
|
+
|
|
105
|
+
## Prioridad Sugerida
|
|
106
|
+
- [ ] 🔴 Crítica
|
|
107
|
+
- [ ] 🟡 Alta
|
|
108
|
+
- [ ] 🟢 Media
|
|
109
|
+
- [ ] ⚪ Baja (Backlog)
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
## Proceso de Recolección
|
|
113
|
+
|
|
114
|
+
1. **Entendimiento Inicial**
|
|
115
|
+
- Haz preguntas de aclaración si es necesario
|
|
116
|
+
- Identifica: ¿Es feature nueva? ¿Mejora? ¿Bug?
|
|
117
|
+
- Identifica qué repositorios serán afectados
|
|
118
|
+
|
|
119
|
+
2. **Borrador de la Issue**
|
|
120
|
+
- Título claro (máximo 10 palabras)
|
|
121
|
+
- Descripción objetiva (2-3 párrafos)
|
|
122
|
+
- Contexto adicional relevante
|
|
123
|
+
- Repositorios afectados
|
|
124
|
+
- Prioridad sugerida
|
|
125
|
+
|
|
126
|
+
3. **Evaluación de Complejidad y Sugerencia de División**
|
|
127
|
+
|
|
128
|
+
Antes de finalizar, evalúa la complejidad de la issue:
|
|
129
|
+
|
|
130
|
+
**Si la implementación parece grande** (> 5 días de esfuerzo estimado):
|
|
131
|
+
- 🚨 **Sugiere dividir en múltiples issues más pequeñas**
|
|
132
|
+
- Explica la razón de la división (ej: "Esta feature involucra 3 áreas distintas: autenticación, procesamiento y notificación")
|
|
133
|
+
- Propón una división **lógica** (por funcionalidad, por repositorio, por capa, etc.)
|
|
134
|
+
- Ejemplo de división:
|
|
135
|
+
```
|
|
136
|
+
Issue Original: "Sistema de pagos completo"
|
|
137
|
+
|
|
138
|
+
División Sugerida:
|
|
139
|
+
- FIN-101: Integración con gateway de pago (backend)
|
|
140
|
+
- FIN-102: Interfaz de checkout (frontend)
|
|
141
|
+
- FIN-103: Webhook de confirmación y notificaciones (backend + jobs)
|
|
142
|
+
```
|
|
143
|
+
- **Importante**: La decisión final es del usuario - puede aceptar la división o mantener como issue única
|
|
144
|
+
|
|
145
|
+
**Si el usuario acepta la división**:
|
|
146
|
+
- Crea cada issue por separado usando el mismo proceso
|
|
147
|
+
- Añade referencias cruzadas entre las issues relacionadas
|
|
148
|
+
- Sugiere orden de implementación si hay dependencias
|
|
149
|
+
|
|
150
|
+
4. **Aprobación del Usuario**
|
|
151
|
+
- Presenta el borrador (o borradores, si hay división)
|
|
152
|
+
- Realiza ajustes según feedback
|
|
153
|
+
- Obtén aprobación final
|
|
154
|
+
|
|
155
|
+
5. **Guardado de la Issue**
|
|
156
|
+
|
|
157
|
+
**PRIORIDAD 1: Usar MCP (Model Context Protocol)**
|
|
158
|
+
|
|
159
|
+
Verifica si hay MCP configurado para el gestor de tareas:
|
|
160
|
+
- Lee `ai.properties.md` del orchestrator para identificar el `task_management_system`
|
|
161
|
+
- Si `task_management_system=jira`: Usa MCP de Jira para crear la issue
|
|
162
|
+
- Si `task_management_system=linear`: Usa MCP de Linear para crear la issue
|
|
163
|
+
- Si `task_management_system=github`: Usa MCP de GitHub para crear la issue
|
|
164
|
+
- Si `task_management_system=azure`: Usa MCP de Azure Boards para crear la issue
|
|
165
|
+
|
|
166
|
+
**Al usar MCP:**
|
|
167
|
+
- Crea la issue directamente en el gestor de tareas
|
|
168
|
+
- Obtén el ID de la issue creada (ej: FIN-123, LIN-456)
|
|
169
|
+
- Informa al usuario: "✅ Issue [ID] creada en [task manager]"
|
|
170
|
+
- **NO crees archivo .md**
|
|
171
|
+
|
|
172
|
+
**FALLBACK: Crear archivo .md sólo si MCP falla**
|
|
173
|
+
|
|
174
|
+
Si MCP no está disponible o falla:
|
|
175
|
+
- Crea archivo en `./.sessions/<ISSUE-ID>/collect.md`
|
|
176
|
+
- Usa formato de ID manual: `LOCAL-001`, `LOCAL-002`, etc.
|
|
177
|
+
- Incluye fecha, tipo y contenido completo
|
|
178
|
+
- Informa al usuario: "⚠️ Issue guardada localmente en .sessions/ (task manager no disponible)"
|
|
179
|
+
|
|
180
|
+
## Preguntas de Aclaración
|
|
181
|
+
|
|
182
|
+
**Para Features**:
|
|
183
|
+
- ¿Qué problema resuelve?
|
|
184
|
+
- ¿Quién se beneficia?
|
|
185
|
+
- ¿Es funcionalidad visible o infraestructura?
|
|
186
|
+
- ¿Tiene relación con alguna feature existente?
|
|
187
|
+
- ¿Qué repositorios necesitan modificarse?
|
|
188
|
+
|
|
189
|
+
**Para Bugs**:
|
|
190
|
+
- ¿Dónde ocurre el bug? (repositorio, componente, flujo)
|
|
191
|
+
- ¿Cómo reproducirlo?
|
|
192
|
+
- ¿Cuál es el comportamiento esperado vs actual?
|
|
193
|
+
- ¿Severidad del impacto?
|
|
194
|
+
|
|
195
|
+
**Para Mejoras**:
|
|
196
|
+
- ¿Qué está funcionando pero puede mejorar?
|
|
197
|
+
- ¿Qué métrica queremos impactar?
|
|
198
|
+
- ¿Es optimización técnica o de negocio?
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
**Argumentos proporcionados**:
|
|
203
|
+
|
|
204
|
+
```
|
|
205
|
+
#$ARGUMENTS
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
---
|
|
209
|
+
|
|
210
|
+
## 🎯 Próximo Paso
|
|
211
|
+
|
|
212
|
+
Después de la aprobación y guardado de la issue:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
/refine [ISSUE-ID]
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Este comando transformará la issue recopilada en requisitos refinados y validados.
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
# Refinamiento de Requisitos
|
|
2
|
+
|
|
3
|
+
Usted es un especialista en producto encargado de ayudar a refinar requisitos para el proyecto.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
6
|
+
|
|
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 gestor de tareas
|
|
12
|
+
- ❌ **NO implementar código**
|
|
13
|
+
- ❌ **NO hacer ediciones en archivos de código**
|
|
14
|
+
- ❌ **NO ejecutar pruebas o deploy**
|
|
15
|
+
|
|
16
|
+
**Próximo paso**: `/spec [ISSUE-ID]` para crear PRD completo basado en los requisitos refinados.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 Configuración del Proyecto
|
|
21
|
+
|
|
22
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
23
|
+
|
|
24
|
+
### Archivos Obligatorios
|
|
25
|
+
|
|
26
|
+
1. **`context-manifest.json`** (raíz del orchestrator)
|
|
27
|
+
- Lista de repositorios del proyecto
|
|
28
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
29
|
+
- URLs y dependencias entre repositorios
|
|
30
|
+
|
|
31
|
+
2. **`ai.properties.md`** (raíz del orchestrator)
|
|
32
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
33
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
34
|
+
- Credenciales y configuraciones específicas
|
|
35
|
+
|
|
36
|
+
### Cómo Leer
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# 1. Leer context-manifest.json
|
|
40
|
+
cat context-manifest.json
|
|
41
|
+
|
|
42
|
+
# 2. Leer ai.properties.md
|
|
43
|
+
cat ai.properties.md
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Información Esencial
|
|
47
|
+
|
|
48
|
+
Después de leer los archivos, usted tendrá:
|
|
49
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
50
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
51
|
+
- ✅ Base path para localizar repositorios
|
|
52
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
53
|
+
- ✅ Configuraciones específicas del proyecto
|
|
54
|
+
|
|
55
|
+
**🛑 NO continúe sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## Objetivo
|
|
59
|
+
|
|
60
|
+
Transformar un requisito inicial en especificación refinada y validada, lista para convertirse en un PRD completo.
|
|
61
|
+
|
|
62
|
+
## Proceso
|
|
63
|
+
|
|
64
|
+
### 1. Fase de Aclaración
|
|
65
|
+
|
|
66
|
+
Lea el requisito inicial y haga preguntas para alcanzar claridad total sobre:
|
|
67
|
+
- **Objetivo**: ¿Por qué construir esto?
|
|
68
|
+
- **Valor de Negocio**: ¿Qué métrica/persona impacta?
|
|
69
|
+
- **Alcance**: ¿Qué incluye y qué NO incluye?
|
|
70
|
+
- **Interacciones**: ¿Qué funcionalidades/componentes existentes se ven afectados?
|
|
71
|
+
|
|
72
|
+
Continúe haciendo preguntas hasta tener entendimiento completo.
|
|
73
|
+
|
|
74
|
+
### 2. Validación Contra Metaspecs
|
|
75
|
+
|
|
76
|
+
**IMPORTANTE**: Primero lea `ai.properties.md` para obtener el `base_path`. Los índices YA deben estar en contexto (usted ejecutó `/warm-up`). Consulte los índices y lea SÓLO los documentos relevantes para validar el requisito.
|
|
77
|
+
|
|
78
|
+
**Proceso de Validación**:
|
|
79
|
+
|
|
80
|
+
1. **Consulte los índices cargados** por `/warm-up`:
|
|
81
|
+
- Lea `context-manifest.json` para encontrar el repositorio con `role: "metaspecs"`
|
|
82
|
+
- Obtenga el `id` de ese repositorio (ej: "my-project-metaspecs")
|
|
83
|
+
- Lea `ai.properties.md` para obtener el `base_path`
|
|
84
|
+
- El repositorio de metaspecs está en: `{base_path}/{metaspecs-id}/`
|
|
85
|
+
- Consulte `{base_path}/{metaspecs-id}/index.md` - Visión general del proyecto
|
|
86
|
+
- Consulte índices específicos (ej: `specs/business/index.md`, `specs/technical/index.md`)
|
|
87
|
+
|
|
88
|
+
2. **Identifique documentos relevantes** para este requisito específico:
|
|
89
|
+
- En `specs/business/`: ¿Qué documentos de negocio son relevantes?
|
|
90
|
+
- En `specs/technical/`: ¿Qué documentos técnicos son relevantes?
|
|
91
|
+
|
|
92
|
+
3. **Lea SÓLO los documentos relevantes** identificados (¡no lea todo!)
|
|
93
|
+
|
|
94
|
+
4. **Valide el requisito** contra las metaspecs leídas:
|
|
95
|
+
- ✅ Alineación con estrategia y visión de producto
|
|
96
|
+
- ✅ Atiende necesidades de las personas correctas
|
|
97
|
+
- ✅ Compatible con stack tecnológico aprobado
|
|
98
|
+
- ✅ Respeta decisiones arquitectónicas (ADRs)
|
|
99
|
+
- ✅ Sigue reglas de negocio existentes
|
|
100
|
+
- ⚠️ Identifique conflictos o violaciones
|
|
101
|
+
|
|
102
|
+
**Si identifica violaciones**: 🛑 **PARE** y pida aclaración al usuario antes de continuar (Principio Jidoka).
|
|
103
|
+
|
|
104
|
+
### 3. Fase de Resumen y Aprobación
|
|
105
|
+
|
|
106
|
+
Una vez que haya recopilado información suficiente y validado contra metaspecs, presente un resumen estructurado con:
|
|
107
|
+
- **Feature**: Nombre de la funcionalidad
|
|
108
|
+
- **Objetivo**: Por qué construir (1-2 frases)
|
|
109
|
+
- **Valor de Negocio**: Métrica, persona, fase del roadmap (consulte metaspecs)
|
|
110
|
+
- **Alcance**: Qué INCLUYE y qué NO INCLUYE
|
|
111
|
+
- **Componentes Afectados**: Lista basada en la arquitectura actual (consulte metaspecs técnicas)
|
|
112
|
+
- **Validación contra Metaspecs**: ✅ Aprobado / ⚠️ Atención necesaria
|
|
113
|
+
- **Estimación de Esfuerzo**: Pequeño (< 1 día) / Medio (1-3 días) / Grande (3-5 días) / Muy Grande (> 5 días)
|
|
114
|
+
|
|
115
|
+
**Evaluación de Complejidad y Sugerencia de División**:
|
|
116
|
+
|
|
117
|
+
**Si la implementación parece grande** (> 5 días de esfuerzo estimado):
|
|
118
|
+
- 🚨 **Sugiera dividir en múltiples issues más pequeñas**
|
|
119
|
+
- Explique el razonamiento de la división (ej: "Esta feature involucra 3 áreas distintas que pueden implementarse independientemente")
|
|
120
|
+
- Proponga una división **lógica** basada en:
|
|
121
|
+
- Funcionalidades independientes
|
|
122
|
+
- Repositorios diferentes
|
|
123
|
+
- Capas de la aplicación (backend, frontend, infra)
|
|
124
|
+
- Fases de implementación (MVP, mejoras, optimizaciones)
|
|
125
|
+
- Ejemplo de división:
|
|
126
|
+
```
|
|
127
|
+
Issue Original: "Sistema de notificaciones multicanal"
|
|
128
|
+
|
|
129
|
+
División Sugerida:
|
|
130
|
+
- FIN-201: Infraestructura de colas y workers (backend)
|
|
131
|
+
- FIN-202: Notificaciones por email (backend + templates)
|
|
132
|
+
- FIN-203: Notificaciones push (backend + mobile)
|
|
133
|
+
- FIN-204: Preferencias de notificación (frontend + backend)
|
|
134
|
+
```
|
|
135
|
+
- **Importante**: La decisión final es del usuario - puede aceptar la división o mantener como issue única
|
|
136
|
+
|
|
137
|
+
**Si el usuario acepta la división**:
|
|
138
|
+
- Documente cada issue por separado
|
|
139
|
+
- Añada referencias cruzadas entre las issues relacionadas
|
|
140
|
+
- Sugiera orden de implementación si hay dependencias
|
|
141
|
+
- Cada issue dividida debe pasar por el mismo proceso de refinamiento
|
|
142
|
+
|
|
143
|
+
Solicite aprobación del usuario e incorpore feedback si es necesario.
|
|
144
|
+
|
|
145
|
+
**Consejo**: Puede investigar en el código base o internet antes de finalizar, si es necesario.
|
|
146
|
+
|
|
147
|
+
### 4. Guardado de los Requisitos Refinados
|
|
148
|
+
|
|
149
|
+
Una vez que el usuario apruebe, guarde los requisitos:
|
|
150
|
+
|
|
151
|
+
**IMPORTANTE**: Siempre cree backup local Y actualice el gestor de tareas (si está configurado).
|
|
152
|
+
|
|
153
|
+
**Proceso de Guardado**:
|
|
154
|
+
|
|
155
|
+
1. **SIEMPRE crear backup local primero**:
|
|
156
|
+
- Cree archivo completo en `./.sessions/<ISSUE-ID>/refined.md` (ej: `./.sessions/FIN-5/refined.md`)
|
|
157
|
+
- Donde `<ISSUE-ID>` es el ID de la issue (ej: FIN-5, FIN-123)
|
|
158
|
+
- Incluya TODOS los detalles del refinamiento (backup completo)
|
|
159
|
+
|
|
160
|
+
2. **Si el gestor de tareas está configurado** (lea `ai.properties.md` para identificar `task_management_system`):
|
|
161
|
+
- Identifique la herramienta MCP del gestor de tareas
|
|
162
|
+
- **Actualice el BODY (descripción) de la issue** con versión CONCISA de los requisitos refinados
|
|
163
|
+
- Para Jira: Use MCP de Jira con campo `description`
|
|
164
|
+
- Para Linear: Use MCP de Linear con campo `description`
|
|
165
|
+
- Para GitHub: Use MCP de GitHub con campo `body`
|
|
166
|
+
- Para Azure Boards: Use MCP de Azure Boards con campo `description`
|
|
167
|
+
- Incluya todo el contenido refinado en el campo description/body de la issue
|
|
168
|
+
- Si el contenido es muy extenso y hay error de API, considere crear versión resumida
|
|
169
|
+
- **SIEMPRE sobrescriba** el body existente (no añadir al final)
|
|
170
|
+
|
|
171
|
+
**Observación**:
|
|
172
|
+
- El backup local SIEMPRE está guardado y completo
|
|
173
|
+
- Si hay error de API, verifique manualmente si la issue fue actualizada en el gestor de tareas
|
|
174
|
+
|
|
175
|
+
**Plantilla de Salida**:
|
|
176
|
+
|
|
177
|
+
**IMPORTANTE**: La plantilla estándar para requisitos refinados puede estar documentada en el repositorio de metaspecs. Consulte `{base_path}/{metaspecs-id}/specs/refined/` o similar.
|
|
178
|
+
|
|
179
|
+
**Plantilla COMPLETA** (para backup local `.sessions/<ISSUE-ID>/refined.md`):
|
|
180
|
+
- **Metadatos**: Issue, ID, Task Manager, Proyecto, Fecha, Sprint, Prioridad
|
|
181
|
+
- **🎯 POR QUÉ**: Razones, valor de negocio, métrica, persona, alineamiento estratégico
|
|
182
|
+
- **📦 QUÉ**: Funcionalidades detalladas, componentes afectados, integraciones, alcance negativo completo
|
|
183
|
+
- **🔧 CÓMO**: Stack, patrones de código, estructura de archivos, dependencias, orden de implementación, modos de fallo, consideraciones de performance/costo/UX
|
|
184
|
+
- **✅ Validación contra Metaspecs**: Documentos consultados (business y technical), ADRs verificados, resultado de la validación
|
|
185
|
+
- **📊 Métricas de Éxito**: Técnicas, producto/UX, criterios de aceptación
|
|
186
|
+
- **🔄 Impacto en el Producto**: Alineamiento con objetivos, habilitadores, riesgos mitigados
|
|
187
|
+
- **⚠️ Limitaciones Conocidas**: Limitaciones del MVP
|
|
188
|
+
- **📝 Checklist de Implementación**: Tareas por área (backend, frontend, pruebas, seguridad, etc.)
|
|
189
|
+
|
|
190
|
+
**Plantilla para Gestor de Tareas**:
|
|
191
|
+
```markdown
|
|
192
|
+
# [Nombre Feature] - Requisitos Refinados
|
|
193
|
+
|
|
194
|
+
**Sprint X** | **Y días** | **Prioridad**
|
|
195
|
+
|
|
196
|
+
## Objetivo
|
|
197
|
+
[1-2 párrafos: qué es y por qué hacerlo]
|
|
198
|
+
|
|
199
|
+
## Alcance
|
|
200
|
+
|
|
201
|
+
### Principales Funcionalidades
|
|
202
|
+
- Funcionalidad 1: [resumen]
|
|
203
|
+
- Funcionalidad 2: [resumen]
|
|
204
|
+
- Validaciones/Guards: [resumen]
|
|
205
|
+
|
|
206
|
+
### Componentes Afectados
|
|
207
|
+
- Componente 1: [tipo de cambio]
|
|
208
|
+
- Componente 2: [tipo de cambio]
|
|
209
|
+
|
|
210
|
+
### Seguridad
|
|
211
|
+
✅ [item 1] ✅ [item 2] ✅ [item 3]
|
|
212
|
+
|
|
213
|
+
## Alcance Negativo
|
|
214
|
+
❌ [item 1] ❌ [item 2] ❌ [item 3]
|
|
215
|
+
|
|
216
|
+
## Stack
|
|
217
|
+
[Tech stack resumida por área]
|
|
218
|
+
|
|
219
|
+
## Estructura
|
|
220
|
+
[Árbol de archivos RESUMIDO - módulos principales solamente]
|
|
221
|
+
|
|
222
|
+
## Modos de Fallo (Evitar)
|
|
223
|
+
🔴 [crítico 1] 🔴 [crítico 2]
|
|
224
|
+
🟡 [medio 1] 🟡 [medio 2]
|
|
225
|
+
|
|
226
|
+
## Criterios de Aceptación
|
|
227
|
+
- [ ] [item 1]
|
|
228
|
+
- [ ] [item 2]
|
|
229
|
+
- [ ] [item 3]
|
|
230
|
+
|
|
231
|
+
## Validación
|
|
232
|
+
**ADRs**: [lista]
|
|
233
|
+
**Specs**: [principales]
|
|
234
|
+
**Estado**: ✅ Aprobado
|
|
235
|
+
|
|
236
|
+
**Impacto**: [resumen]
|
|
237
|
+
**Limitaciones**: [resumen]
|
|
238
|
+
|
|
239
|
+
---
|
|
240
|
+
📄 **Documento completo**: `.sessions/<ISSUE-ID>/refined.md`
|
|
241
|
+
```
|
|
242
|
+
|
|
243
|
+
**Audiencia**: Desarrollador IA con capacidades similares a las suyas. Sea conciso pero completo.
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
**Requisito para Refinar**:
|
|
248
|
+
|
|
249
|
+
```
|
|
250
|
+
#$ARGUMENTS
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 🎯 Próximo Paso
|
|
256
|
+
|
|
257
|
+
**Tras la aprobación del usuario y el guardado de los requisitos refinados**, el flujo natural es:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
/spec [ISSUE-ID]
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
**Ejemplo**: `/spec FIN-3`
|
|
264
|
+
|
|
265
|
+
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.
|