@thatix.io/context-first-agents-cli 0.1.0 → 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 +189 -7
- 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 +7 -3
- 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,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.
|
|
@@ -0,0 +1,306 @@
|
|
|
1
|
+
# Creación de Especificación (PRD)
|
|
2
|
+
|
|
3
|
+
Este comando crea la especificación completa (Product Requirements Document) de la funcionalidad.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
6
|
+
|
|
7
|
+
**Este comando es SÓLO para documentación de requisitos:**
|
|
8
|
+
- ✅ Crear PRD (Product Requirements Document)
|
|
9
|
+
- ✅ Actualizar issue en el gestor de tareas vía MCP
|
|
10
|
+
- ✅ **LEER** archivos de los repositorios principales (solo lectura)
|
|
11
|
+
- ❌ **NO implementar código**
|
|
12
|
+
- ❌ **NO hacer ediciones en archivos de código**
|
|
13
|
+
- ❌ **NO hacer checkout de branches en los repositorios principales**
|
|
14
|
+
- ❌ **NO hacer commits**
|
|
15
|
+
|
|
16
|
+
**Próximo paso**: `/orchestrate <ISSUE-ID>` para derivar el grafo de agentes y ejecutar (recomendado). `/start` queda como escape hatch manual.
|
|
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 orquestador)
|
|
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 orquestador)
|
|
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, tendrás:
|
|
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
|
+
## 📋 Pre-requisitos
|
|
58
|
+
|
|
59
|
+
- Issue refinada vía `/refine`
|
|
60
|
+
- Aprobación para continuar con la funcionalidad
|
|
61
|
+
|
|
62
|
+
## 📚 Cargar MetaSpecs
|
|
63
|
+
|
|
64
|
+
**Localizar MetaSpecs automáticamente**:
|
|
65
|
+
1. Lea `context-manifest.json` del orquestador
|
|
66
|
+
2. Encuentre el repositorio con `"role": "metaspecs"`
|
|
67
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
68
|
+
4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
69
|
+
5. Lea los archivos `index.md` relevantes para asegurar conformidad con:
|
|
70
|
+
- Arquitectura del sistema
|
|
71
|
+
- Patrones de diseño
|
|
72
|
+
- Restricciones técnicas
|
|
73
|
+
- Convenciones del proyecto
|
|
74
|
+
|
|
75
|
+
## 🎯 Objetivo
|
|
76
|
+
|
|
77
|
+
Crear un PRD completo que servirá como fuente única de verdad para la implementación.
|
|
78
|
+
|
|
79
|
+
## 📝 Estructura del PRD
|
|
80
|
+
|
|
81
|
+
### 1. Visión General
|
|
82
|
+
|
|
83
|
+
```markdown
|
|
84
|
+
# [Título de la Funcionalidad]
|
|
85
|
+
|
|
86
|
+
## Contexto
|
|
87
|
+
[¿Por qué estamos construyendo esto? ¿Qué problema resuelve?]
|
|
88
|
+
|
|
89
|
+
## Objetivo
|
|
90
|
+
[¿Qué queremos lograr con esta funcionalidad?]
|
|
91
|
+
|
|
92
|
+
## Métricas de Éxito
|
|
93
|
+
- [Métrica 1]: [Cómo medir]
|
|
94
|
+
- [Métrica 2]: [Cómo medir]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
### 2. Requisitos Funcionales
|
|
98
|
+
|
|
99
|
+
```markdown
|
|
100
|
+
## Requisitos Funcionales
|
|
101
|
+
|
|
102
|
+
### RF-01: [Nombre del Requisito]
|
|
103
|
+
**Descripción**: [Descripción detallada]
|
|
104
|
+
**Prioridad**: Must Have / Should Have / Could Have
|
|
105
|
+
**Repositorios**: [repos afectados]
|
|
106
|
+
|
|
107
|
+
### RF-02: [Nombre del Requisito]
|
|
108
|
+
**Descripción**: [Descripción detallada]
|
|
109
|
+
**Prioridad**: Must Have / Should Have / Could Have
|
|
110
|
+
**Repositorios**: [repos afectados]
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
### 3. Requisitos No Funcionales
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
## Requisitos No Funcionales
|
|
117
|
+
|
|
118
|
+
### Performance
|
|
119
|
+
- [Requisito de performance]
|
|
120
|
+
|
|
121
|
+
### Seguridad
|
|
122
|
+
- [Requisito de seguridad]
|
|
123
|
+
|
|
124
|
+
### Accesibilidad
|
|
125
|
+
- [Requisito de accesibilidad]
|
|
126
|
+
|
|
127
|
+
### Escalabilidad
|
|
128
|
+
- [Requisito de escalabilidad]
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### 4. Flujos de Usuario
|
|
132
|
+
|
|
133
|
+
```markdown
|
|
134
|
+
## Flujos de Usuario
|
|
135
|
+
|
|
136
|
+
### Flujo Principal
|
|
137
|
+
1. [Paso 1]
|
|
138
|
+
2. [Paso 2]
|
|
139
|
+
3. [Paso 3]
|
|
140
|
+
|
|
141
|
+
### Flujos Alternativos
|
|
142
|
+
**Escenario**: [Nombre del escenario]
|
|
143
|
+
1. [Paso 1]
|
|
144
|
+
2. [Paso 2]
|
|
145
|
+
|
|
146
|
+
### Manejo de Errores
|
|
147
|
+
**Error**: [Tipo de error]
|
|
148
|
+
**Comportamiento**: [Cómo debe reaccionar el sistema]
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### 5. Especificación Técnica
|
|
152
|
+
|
|
153
|
+
```markdown
|
|
154
|
+
## Especificación Técnica
|
|
155
|
+
|
|
156
|
+
### Arquitectura
|
|
157
|
+
|
|
158
|
+
#### <repo-1>
|
|
159
|
+
- **Componentes nuevos**: [lista]
|
|
160
|
+
- **Componentes modificados**: [lista]
|
|
161
|
+
- **APIs**: [endpoints nuevos/modificados]
|
|
162
|
+
|
|
163
|
+
#### <repo-2>
|
|
164
|
+
- **Componentes nuevos**: [lista]
|
|
165
|
+
- **Componentes modificados**: [lista]
|
|
166
|
+
- **APIs**: [endpoints nuevos/modificados]
|
|
167
|
+
|
|
168
|
+
### Integraciones
|
|
169
|
+
- **Entre repos**: [cómo se comunican los repos]
|
|
170
|
+
- **Externas**: [APIs externas, si las hay]
|
|
171
|
+
|
|
172
|
+
### Modelo de Datos
|
|
173
|
+
[Describa cambios en el modelo de datos, si los hay]
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
### 6. Criterios de Aceptación
|
|
177
|
+
|
|
178
|
+
```markdown
|
|
179
|
+
## Criterios de Aceptación
|
|
180
|
+
|
|
181
|
+
### Funcional
|
|
182
|
+
- [ ] [Criterio específico y comprobable]
|
|
183
|
+
- [ ] [Criterio específico y comprobable]
|
|
184
|
+
|
|
185
|
+
### Técnico
|
|
186
|
+
- [ ] Pruebas unitarias con cobertura >= X%
|
|
187
|
+
- [ ] Pruebas de integración implementadas
|
|
188
|
+
- [ ] Performance dentro de los requisitos
|
|
189
|
+
- [ ] Documentación actualizada
|
|
190
|
+
|
|
191
|
+
### Calidad
|
|
192
|
+
- [ ] Code review aprobado
|
|
193
|
+
- [ ] Sin regresiones
|
|
194
|
+
- [ ] Accesibilidad validada
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 7. Fuera del Alcance
|
|
198
|
+
|
|
199
|
+
```markdown
|
|
200
|
+
## Fuera del Alcance
|
|
201
|
+
|
|
202
|
+
Funcionalidades que NO serán implementadas en esta versión:
|
|
203
|
+
- [Ítem 1]
|
|
204
|
+
- [Ítem 2]
|
|
205
|
+
|
|
206
|
+
Justificación: [Por qué quedan para después]
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 8. Riesgos y Mitigaciones
|
|
210
|
+
|
|
211
|
+
```markdown
|
|
212
|
+
## Riesgos y Mitigaciones
|
|
213
|
+
|
|
214
|
+
### Riesgo 1: [Descripción]
|
|
215
|
+
- **Probabilidad**: Alta / Media / Baja
|
|
216
|
+
- **Impacto**: Alto / Medio / Bajo
|
|
217
|
+
- **Mitigación**: [Cómo mitigar]
|
|
218
|
+
|
|
219
|
+
### Riesgo 2: [Descripción]
|
|
220
|
+
- **Probabilidad**: Alta / Media / Baja
|
|
221
|
+
- **Impacto**: Alto / Medio / Bajo
|
|
222
|
+
- **Mitigación**: [Cómo mitigar]
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
### 9. Dependencias
|
|
226
|
+
|
|
227
|
+
```markdown
|
|
228
|
+
## Dependencias
|
|
229
|
+
|
|
230
|
+
### Técnicas
|
|
231
|
+
- [Dependencia técnica 1]
|
|
232
|
+
- [Dependencia técnica 2]
|
|
233
|
+
|
|
234
|
+
### De Negocio
|
|
235
|
+
- [Dependencia de negocio 1]
|
|
236
|
+
- [Dependencia de negocio 2]
|
|
237
|
+
|
|
238
|
+
### Bloqueadores
|
|
239
|
+
- [Bloqueador 1 y plan para resolver]
|
|
240
|
+
```
|
|
241
|
+
|
|
242
|
+
### 10. Plan de Pruebas
|
|
243
|
+
|
|
244
|
+
```markdown
|
|
245
|
+
## Plan de Pruebas
|
|
246
|
+
|
|
247
|
+
### Pruebas Unitarias
|
|
248
|
+
- [Área 1 a probar]
|
|
249
|
+
- [Área 2 a probar]
|
|
250
|
+
|
|
251
|
+
### Pruebas de Integración
|
|
252
|
+
- [Escenario 1]
|
|
253
|
+
- [Escenario 2]
|
|
254
|
+
|
|
255
|
+
### Pruebas Manuales
|
|
256
|
+
- [Escenario 1]
|
|
257
|
+
- [Escenario 2]
|
|
258
|
+
```
|
|
259
|
+
|
|
260
|
+
## 📄 Guardado del PRD
|
|
261
|
+
|
|
262
|
+
**PRIORIDAD 1: Usar MCP (Model Context Protocol)**
|
|
263
|
+
|
|
264
|
+
- Lea `ai.properties.md` del orquestador para identificar el `task_management_system`
|
|
265
|
+
- Use el MCP apropiado para actualizar la issue con el PRD:
|
|
266
|
+
- Añada el PRD completo como comentario en la issue
|
|
267
|
+
- O adjunte como archivo (si el gestor de tareas lo soporta)
|
|
268
|
+
- Actualice estado/etiquetas (ej: "spec-ready", "ready-for-dev")
|
|
269
|
+
- Informe al usuario: "✅ PRD añadido a la issue [ID]"
|
|
270
|
+
|
|
271
|
+
**FALLBACK: Crear archivo .md sólo si MCP falla**
|
|
272
|
+
|
|
273
|
+
Si MCP no está disponible o falla:
|
|
274
|
+
- Guarde en `./.sessions/<ISSUE-ID>/prd.md`
|
|
275
|
+
- Informe al usuario: "⚠️ PRD guardado localmente en .sessions/ (gestor de tareas no disponible)"
|
|
276
|
+
|
|
277
|
+
## 🔍 Revisión y Aprobación
|
|
278
|
+
|
|
279
|
+
Antes de finalizar:
|
|
280
|
+
1. Revise el PRD con stakeholders
|
|
281
|
+
2. Valide contra metaspecs (si están disponibles)
|
|
282
|
+
3. Obtenga aprobación para iniciar implementación
|
|
283
|
+
4. **Vía MCP**: Actualice la issue en el gestor de tareas con estado "Listo para Desarrollo"
|
|
284
|
+
5. **Fallback**: Documente la aprobación en `./.sessions/<ISSUE-ID>/prd.md`
|
|
285
|
+
|
|
286
|
+
---
|
|
287
|
+
|
|
288
|
+
**Argumentos proporcionados**:
|
|
289
|
+
|
|
290
|
+
```
|
|
291
|
+
#$ARGUMENTS
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
---
|
|
295
|
+
|
|
296
|
+
## 🎯 Próximo Paso
|
|
297
|
+
|
|
298
|
+
Después de la aprobación del PRD, ejecuta:
|
|
299
|
+
|
|
300
|
+
```bash
|
|
301
|
+
/orchestrate <ISSUE-ID>
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
Esto deriva el grafo mínimo de agentes desde la spec y lo ejecuta. `/start` + `/plan` + `/work` quedan disponibles como escape hatches manuales.
|
|
305
|
+
|
|
306
|
+
Este comando iniciará el desarrollo de la funcionalidad.
|