@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.
Files changed (89) hide show
  1. package/README.md +189 -7
  2. package/dist/commands/create-orchestrator.js +4 -1
  3. package/dist/commands/doctor.js +21 -5
  4. package/dist/commands/init.js +3 -1
  5. package/dist/templates/commands/en/engineer/plan.md +301 -0
  6. package/dist/templates/commands/en/engineer/pr.md +194 -0
  7. package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
  8. package/dist/templates/commands/en/engineer/start.md +285 -0
  9. package/dist/templates/commands/en/engineer/work.md +256 -0
  10. package/dist/templates/commands/en/products/check.md +237 -0
  11. package/dist/templates/commands/en/products/collect.md +170 -0
  12. package/dist/templates/commands/en/products/refine.md +231 -0
  13. package/dist/templates/commands/en/products/spec.md +273 -0
  14. package/dist/templates/commands/en/quality/metrics.md +266 -0
  15. package/dist/templates/commands/en/quality/observe.md +172 -0
  16. package/dist/templates/commands/en/warm-up.md +59 -0
  17. package/dist/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  18. package/dist/templates/commands/es/agents/implementer.md +27 -0
  19. package/dist/templates/commands/es/agents/integrator.md +24 -0
  20. package/dist/templates/commands/es/agents/reviewer.md +31 -0
  21. package/dist/templates/commands/es/agents/tester.md +22 -0
  22. package/dist/templates/commands/es/engineer/plan.md +335 -0
  23. package/dist/templates/commands/es/engineer/pr.md +228 -0
  24. package/dist/templates/commands/es/engineer/pre-pr.md +359 -0
  25. package/dist/templates/commands/es/engineer/start.md +318 -0
  26. package/dist/templates/commands/es/engineer/work.md +290 -0
  27. package/dist/templates/commands/es/orchestrate.md +125 -0
  28. package/dist/templates/commands/es/products/check.md +271 -0
  29. package/dist/templates/commands/es/products/collect.md +218 -0
  30. package/dist/templates/commands/es/products/refine.md +265 -0
  31. package/dist/templates/commands/es/products/spec.md +306 -0
  32. package/dist/templates/commands/es/quality/metrics.md +300 -0
  33. package/dist/templates/commands/es/quality/observe.md +205 -0
  34. package/dist/templates/commands/es/warm-up.md +59 -0
  35. package/dist/templates/commands/pt-BR/engineer/plan.md +335 -0
  36. package/dist/templates/commands/pt-BR/engineer/pr.md +228 -0
  37. package/dist/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  38. package/dist/templates/commands/pt-BR/engineer/start.md +319 -0
  39. package/dist/templates/commands/pt-BR/engineer/work.md +290 -0
  40. package/dist/templates/commands/pt-BR/products/check.md +271 -0
  41. package/dist/templates/commands/pt-BR/products/collect.md +219 -0
  42. package/dist/templates/commands/pt-BR/products/refine.md +265 -0
  43. package/dist/templates/commands/pt-BR/products/spec.md +307 -0
  44. package/dist/templates/commands/pt-BR/quality/metrics.md +300 -0
  45. package/dist/templates/commands/pt-BR/quality/observe.md +206 -0
  46. package/dist/templates/commands/pt-BR/warm-up.md +59 -0
  47. package/package.json +7 -3
  48. package/templates/commands/en/engineer/plan.md +301 -0
  49. package/templates/commands/en/engineer/pr.md +194 -0
  50. package/templates/commands/en/engineer/pre-pr.md +325 -0
  51. package/templates/commands/en/engineer/start.md +285 -0
  52. package/templates/commands/en/engineer/work.md +256 -0
  53. package/templates/commands/en/products/check.md +237 -0
  54. package/templates/commands/en/products/collect.md +170 -0
  55. package/templates/commands/en/products/refine.md +231 -0
  56. package/templates/commands/en/products/spec.md +273 -0
  57. package/templates/commands/en/quality/metrics.md +266 -0
  58. package/templates/commands/en/quality/observe.md +172 -0
  59. package/templates/commands/en/warm-up.md +59 -0
  60. package/templates/commands/es/agents/CONTEXT-CONTRACT.md +63 -0
  61. package/templates/commands/es/agents/implementer.md +27 -0
  62. package/templates/commands/es/agents/integrator.md +24 -0
  63. package/templates/commands/es/agents/reviewer.md +31 -0
  64. package/templates/commands/es/agents/tester.md +22 -0
  65. package/templates/commands/es/engineer/plan.md +335 -0
  66. package/templates/commands/es/engineer/pr.md +228 -0
  67. package/templates/commands/es/engineer/pre-pr.md +359 -0
  68. package/templates/commands/es/engineer/start.md +318 -0
  69. package/templates/commands/es/engineer/work.md +290 -0
  70. package/templates/commands/es/orchestrate.md +125 -0
  71. package/templates/commands/es/products/check.md +271 -0
  72. package/templates/commands/es/products/collect.md +218 -0
  73. package/templates/commands/es/products/refine.md +265 -0
  74. package/templates/commands/es/products/spec.md +306 -0
  75. package/templates/commands/es/quality/metrics.md +300 -0
  76. package/templates/commands/es/quality/observe.md +205 -0
  77. package/templates/commands/es/warm-up.md +59 -0
  78. package/templates/commands/pt-BR/engineer/plan.md +335 -0
  79. package/templates/commands/pt-BR/engineer/pr.md +228 -0
  80. package/templates/commands/pt-BR/engineer/pre-pr.md +359 -0
  81. package/templates/commands/pt-BR/engineer/start.md +319 -0
  82. package/templates/commands/pt-BR/engineer/work.md +290 -0
  83. package/templates/commands/pt-BR/products/check.md +271 -0
  84. package/templates/commands/pt-BR/products/collect.md +219 -0
  85. package/templates/commands/pt-BR/products/refine.md +265 -0
  86. package/templates/commands/pt-BR/products/spec.md +307 -0
  87. package/templates/commands/pt-BR/quality/metrics.md +300 -0
  88. package/templates/commands/pt-BR/quality/observe.md +206 -0
  89. package/templates/commands/pt-BR/warm-up.md +59 -0
@@ -0,0 +1,125 @@
1
+ # /orchestrate — Orquestación de Agentes Efímeros Dinámicos
2
+
3
+ Eres el **Orquestador**. Tu tarea es convertir una spec aprobada en el **grafo mínimo de
4
+ agentes efímeros y especializados** y coordinar su ejecución — en vez de correr un único
5
+ agente monolítico sobre un contexto gigante compartido.
6
+
7
+ Este comando REEMPLAZA el flujo lineal `start → plan → work` por un grafo que el runtime
8
+ deriva automáticamente. `/plan` y `/work` pueden seguir existiendo como escape hatches manuales.
9
+
10
+ **Argumento**: `#$ARGUMENTS` (un ISSUE-ID y/o la ruta a un archivo de spec/task).
11
+
12
+ ---
13
+
14
+ ## Reglas de oro
15
+
16
+ - ✅ Lee `context-manifest.json` + `ai.properties.md` del orquestador.
17
+ - ✅ El contexto del propio Orquestador se mantiene LIGERO: coordinas, no implementas.
18
+ - ✅ Cada unidad de trabajo la hace un **subagente (Task tool)** con un **contrato de contexto aislado**.
19
+ - ✅ Nunca crees un catálogo de agentes de dominio (nada de `frontend-agent`, `payments-agent`).
20
+ Un worker se compila al vuelo: `arquetipo + objetivo + repositorio + contrato de contexto + herramientas`.
21
+ - ❌ Nunca vuelques repositorios enteros en un subagente. Selecciona, no vuelques.
22
+ - ❌ Nunca dejes que un subagente modifique specs normativas.
23
+
24
+ ---
25
+
26
+ ## Paso 1 — Cargar configuración
27
+
28
+ 1. Lee `context-manifest.json`. Extrae `repositories[]` (cada uno con `id`, `role`,
29
+ `hints`, opcionalmente `context`, `testCommand`, `mainBranch`) y el bloque
30
+ `orchestration` (`archetypes`, `riskSignals`, `parallelism`, `contextPolicy`,
31
+ `maxFilesPerWorker`, `indexes`).
32
+ 2. Lee `ai.properties.md` para `base_path` y la config del task manager (si existe).
33
+ 3. Localiza el repo de specs: el repositorio con `role: metaspecs` (o `specs-provider`).
34
+
35
+ ## Paso 2 — Cargar la spec
36
+
37
+ - Si hay task manager y el argumento es un ISSUE-ID, lee el issue vía el MCP apropiado.
38
+ Si no, lee el archivo de spec pasado como argumento, o pídeselo al usuario.
39
+ - Lee los `orchestration.indexes` relevantes (los routers de contexto) para ubicarte.
40
+ NO leas todo el codebase — aquí sólo clasificas y ruteas.
41
+
42
+ ## Paso 3 — Clasificar complejidad (reglas determinísticas)
43
+
44
+ Calcula sobre el texto de la spec:
45
+
46
+ - **repoHits** = nº de repositorios cuyo `id` O algún `hint` aparece en la spec.
47
+ - **risks** = nº de `orchestration.riskSignals` que aparecen en la spec.
48
+ - Si el frontmatter de la spec define `complexity: simple|medium|complex`, úsalo tal cual.
49
+
50
+ En caso contrario:
51
+
52
+ | Condición | Nivel |
53
+ |---|---|
54
+ | `repoHits ≥ 3` O `risks ≥ 2` O spec muy grande | **complex** |
55
+ | `repoHits ≥ 2` O `risks ≥ 1` O spec moderadamente grande | **medium** |
56
+ | en caso contrario | **simple** |
57
+
58
+ Declara la clasificación y el motivo explícitamente antes de continuar.
59
+
60
+ ## Paso 4 — Construir el grafo de ejecución (DAG)
61
+
62
+ Instancia workers desde `orchestration.archetypes`. Cada nodo tiene:
63
+ `{ id, archetype, objective, repository, dependsOn[], contextHints[] }`.
64
+
65
+ - **simple**
66
+ - `W1 implementer` en el único repo impactado
67
+ - `W2 reviewer` (dependsOn W1) — verificar contra la spec normativa
68
+
69
+ - **medium**
70
+ - un `implementer` por repo impactado (corren en **paralelo**, sin deps entre sí)
71
+ - `integrator` (dependsOn todos los implementers) — chequear contratos/consistencia cross-repo
72
+ - `tester` (dependsOn integrator) — correr el `testCommand` de cada repo
73
+
74
+ - **complex** = medium, más:
75
+ - `reviewer` (dependsOn integrator) — review **adversarial** de reglas de negocio,
76
+ seguridad, migraciones y premisas ocultas. Prefiere un reviewer especializado si los
77
+ riskSignals lo indican (ej.: datos, integraciones, multi-tenant).
78
+
79
+ Respeta `parallelism.maxWorkers` y `maxPerRepository`. Si los repos impactados exceden el
80
+ límite, hazlos por lotes y avísalo — nunca descartes un repo silenciosamente.
81
+
82
+ Renderiza el grafo como una tabla corta (id, archetype, repo, dependsOn) y **pide
83
+ aprobación del usuario** antes de spawnear cualquier cosa.
84
+
85
+ ## Paso 5 — Compilar un Contrato de Contexto por nodo
86
+
87
+ Para cada worker, arma el contrato que se pegará en el prompt del subagente.
88
+ Ver `agents/CONTEXT-CONTRACT.md` para el formato exacto. En resumen:
89
+
90
+ - **read**: `orchestration.indexes` + el `context[]` de ese repo (sólo archivos que existen)
91
+ - **mayDiscover**: referencias alcanzables desde los índices; archivos del repo que la task exige
92
+ - **mustNotAssume**: reglas de negocio no dichas; contratos externos no indexados; nada fuera de la spec
93
+ - **writeBoundary**: sólo el worktree de ese repo (o artefactos de la sesión para integrator/tester)
94
+ - **limits**: `contextPolicy` (por defecto `select-do-not-dump`), `maxFilesPerWorker`
95
+ - **return**: summary, changes, evidence, tests, unresolved, confidence
96
+
97
+ ## Paso 6 — Spawnear los agentes efímeros (Task tool)
98
+
99
+ Ejecuta el DAG respetando `dependsOn`:
100
+
101
+ 1. **Ola paralela**: spawnea todos los nodos con dependencias satisfechas **en un único
102
+ mensaje con múltiples llamadas Task**, para que corran concurrentemente. Dale a cada
103
+ subagente SÓLO su contrato compilado + objetivo — nunca la conversación entera.
104
+ 2. Espera a que la ola termine. Recolecta el retorno estructurado de cada subagente.
105
+ 3. **Siguiente ola**: spawnea los nodos cuyas dependencias ya están satisfechas. Repite.
106
+
107
+ Usa las plantillas de arquetipo en `agents/` (implementer, reviewer, integrator, tester…)
108
+ como marco de cada subagente, rellenadas con objetivo, repositorio y contrato.
109
+
110
+ Cada subagente es **efímero**: hace su trabajo acotado, retorna el reporte, y su contexto
111
+ se descarta. El Orquestador sólo guarda los reportes.
112
+
113
+ ## Paso 7 — Integrar y reportar
114
+
115
+ - Persiste artefactos en `.sessions/<ISSUE-ID>/`:
116
+ `execution-plan.md` (el DAG) y `workers/<agent-id>.md` (contrato + retorno de cada uno).
117
+ - Resume: qué cambió por repo, evidencias, tests corridos, preguntas abiertas y cualquier
118
+ repo que quedó en lote/diferido.
119
+ - Si un `reviewer` retornó hallazgos bloqueantes, NO sigas a PR — muéstralos y pregunta al
120
+ usuario cómo proceder.
121
+
122
+ ## Escalación
123
+
124
+ Si un subagente llega a un stop Jidoka (ambigüedad, conflicto de spec, contrato faltante),
125
+ debe retornar `unresolved` en vez de adivinar. Súbelo al usuario en vez de empujar.
@@ -0,0 +1,271 @@
1
+ # Validación contra MetaSpecs
2
+
3
+ Este comando valida requisitos, decisiones o implementaciones contra las metaspecs del proyecto.
4
+
5
+ ## ⚠️ IMPORTANTE: Modo de Operación
6
+
7
+ **Este comando es para VALIDACIÓN:**
8
+ - ✅ Validar contra metaspecs
9
+ - ✅ **LEER** archivos de los repositorios (solo lectura)
10
+ - ✅ Generar informe de validación
11
+ - ❌ **NO hacer checkout de branches en los repositorios principales**
12
+ - ❌ **NO modificar código**
13
+ - ❌ **NO modificar `context.md` o `architecture.md`**
14
+
15
+ ## 📋 Configuración del Proyecto
16
+
17
+ **⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
18
+
19
+ ### Archivos Obligatorios
20
+
21
+ 1. **`context-manifest.json`** (raíz del orchestrator)
22
+ - Lista de repositorios del proyecto
23
+ - Roles de cada repositorio (metaspecs, application, etc.)
24
+ - URLs y dependencias entre repositorios
25
+
26
+ 2. **`ai.properties.md`** (raíz del orchestrator)
27
+ - Configuraciones del proyecto (`project_name`, `base_path`)
28
+ - Sistema de gestión de tareas (`task_management_system`)
29
+ - Credenciales y configuraciones específicas
30
+
31
+ ### Cómo Leer
32
+
33
+ ```bash
34
+ # 1. Leer context-manifest.json
35
+ cat context-manifest.json
36
+
37
+ # 2. Leer ai.properties.md
38
+ cat ai.properties.md
39
+ ```
40
+
41
+ ### Información Esencial
42
+
43
+ Después de leer los archivos, tendrá:
44
+ - ✅ Lista completa de repositorios del proyecto
45
+ - ✅ Ubicación del repositorio de metaspecs
46
+ - ✅ Base path para localizar repositorios
47
+ - ✅ Sistema de gestión de tareas configurado
48
+ - ✅ Configuraciones específicas del proyecto
49
+
50
+ **🛑 NO continúe sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
51
+
52
+
53
+ ## 🎯 Objetivo
54
+
55
+ Garantizar alineación con:
56
+ - Estrategia de producto
57
+ - Arquitectura técnica
58
+ - Estándares y convenciones
59
+ - ADRs (Architecture Decision Records)
60
+
61
+ ## 📋 Cuándo Usar
62
+
63
+ Ejecute este comando:
64
+ - Después de `/spec` - validar PRD
65
+ - Después de `/plan` - validar plan técnico
66
+ - Durante `/work` - validar decisiones de implementación
67
+ - Antes de `/pr` - validación final
68
+
69
+ ## 📚 Cargar MetaSpecs
70
+
71
+ **Localizar MetaSpecs automáticamente**:
72
+ 1. Lea `context-manifest.json` del orchestrator
73
+ 2. Encuentre el repositorio con `"role": "metaspecs"`
74
+ 3. Lea `ai.properties.md` para obtener el `base_path`
75
+ 4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
76
+
77
+ ## 🔍 Proceso de Validación
78
+
79
+ ### 1. Identificar MetaSpecs Disponibles
80
+
81
+ Navegue hasta el directorio de metaspecs e identifique qué metaspecs existen:
82
+
83
+ ```bash
84
+ ls -la {base_path}/{metaspecs-repo-id}/
85
+ ```
86
+
87
+ ### 2. Validación de Negocio
88
+
89
+ Si existen metaspecs de negocio (`repositorio de MetaSpecs (sección de negocio)`):
90
+
91
+ ```markdown
92
+ ## Validación de Negocio
93
+
94
+ ### Estrategia de Producto
95
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)PRODUCT_STRATEGY.md`
96
+ - **Validación**: [¿Esta feature está alineada con la estrategia?]
97
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
98
+ - **Notas**: [Observaciones]
99
+
100
+ ### Personas
101
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)CUSTOMER_PERSONAS.md`
102
+ - **Validación**: [¿Atiende a la persona correcta?]
103
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
104
+ - **Notas**: [Observaciones]
105
+
106
+ ### Métricas
107
+ - **Archivo**: `repositorio de MetaSpecs (sección de negocio)PRODUCT_METRICS.md`
108
+ - **Validación**: [¿Métrica de éxito está documentada?]
109
+ - **Estado**: ✅ Alineado / ⚠️ Parcialmente / ❌ Desalineado
110
+ - **Notas**: [Observaciones]
111
+ ```
112
+
113
+ ### 3. Validación Técnica
114
+
115
+ Si existen metaspecs técnicas (`repositorio de MetaSpecs (sección técnica)`):
116
+
117
+ ```markdown
118
+ ## Validación Técnica
119
+
120
+ ### Stack Tecnológica
121
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)meta/stack.md`
122
+ - **Validación**: [¿Usa solo tecnologías aprobadas?]
123
+ - **Estado**: ✅ Conforme / ⚠️ Excepción justificada / ❌ No conforme
124
+ - **Notas**: [Tecnologías usadas y justificaciones]
125
+
126
+ ### Arquitectura
127
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)ARCHITECTURE.md`
128
+ - **Validación**: [¿Sigue patrones arquitectónicos?]
129
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
130
+ - **Notas**: [Observaciones]
131
+
132
+ ### ADRs (Architecture Decision Records)
133
+ - **Directorio**: `repositorio de MetaSpecs (sección técnica)adr/`
134
+ - **Validación**: [¿Respeta decisiones arquitectónicas documentadas?]
135
+ - **ADRs Relevantes**: [Lista de ADRs verificados]
136
+ - **Estado**: ✅ Conforme / ⚠️ Conflicto menor / ❌ Conflicto crítico
137
+ - **Notas**: [Observaciones]
138
+
139
+ ### Reglas de Negocio
140
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)BUSINESS_LOGIC.md`
141
+ - **Validación**: [¿Implementa reglas de negocio correctamente?]
142
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
143
+ - **Notas**: [Observaciones]
144
+ ```
145
+
146
+ ### 4. Validación de Estándares
147
+
148
+ ```markdown
149
+ ## Validación de Estándares
150
+
151
+ ### Código
152
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)CODE_STANDARDS.md`
153
+ - **Validación**: [¿Sigue estándares de código?]
154
+ - **Estado**: ✅ Conforme / ⚠️ Pequeñas desviaciones / ❌ No conforme
155
+
156
+ ### Pruebas
157
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)TEST_STANDARDS.md`
158
+ - **Validación**: [¿Estrategia de pruebas adecuada?]
159
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
160
+
161
+ ### Documentación
162
+ - **Archivo**: `repositorio de MetaSpecs (sección técnica)DOC_STANDARDS.md`
163
+ - **Validación**: [¿Documentación adecuada?]
164
+ - **Estado**: ✅ Conforme / ⚠️ Parcialmente / ❌ No conforme
165
+ ```
166
+
167
+ ### 5. Identificación de Conflictos
168
+
169
+ Si hay conflictos o desalineamientos:
170
+
171
+ ```markdown
172
+ ## Conflictos Identificados
173
+
174
+ ### Conflicto 1: [Descripción]
175
+ - **Severidad**: Crítico / Alto / Medio / Bajo
176
+ - **Metaspec**: [Archivo que está siendo violado]
177
+ - **Descripción**: [Detalle del conflicto]
178
+ - **Recomendación**: [Cómo resolver]
179
+
180
+ ### Conflicto 2: [Descripción]
181
+ [Mismo formato arriba]
182
+ ```
183
+
184
+ ### 6. Excepciones Justificadas
185
+
186
+ Si hay desviaciones justificadas:
187
+
188
+ ```markdown
189
+ ## Excepciones Justificadas
190
+
191
+ ### Excepción 1: [Descripción]
192
+ - **Metaspec**: [Archivo que está siendo desviado]
193
+ - **Desvío**: [Qué está diferente]
194
+ - **Justificación**: [Por qué es necesario]
195
+ - **Aprobación**: [Quién aprobó]
196
+ - **Documentación**: [Dónde fue documentado]
197
+ ```
198
+
199
+ ## 📄 Guardado del Informe de Validación
200
+
201
+ **PRIORIDAD 1: Usar MCP (Model Context Protocol)**
202
+
203
+ - Lea `ai.properties.md` del orchestrator para identificar el `task_management_system`
204
+ - Use el MCP apropiado para añadir el informe a la issue:
205
+ - Añada como comentario en la issue
206
+ - Actualice labels/tags según resultado (ej: "validated", "needs-adjustment", "blocked")
207
+ - Si hay conflictos críticos, actualice el estado de la issue
208
+ - Informe al usuario: "✅ Informe de validación añadido a la issue [ID]"
209
+
210
+ **FALLBACK: Crear archivo .md solo si MCP falla**
211
+
212
+ Si el MCP no está disponible o falla, cree `./.sessions/<ISSUE-ID>/check-report.md`:
213
+
214
+ ```markdown
215
+ # Informe de Validación - [ISSUE-ID]
216
+
217
+ **Fecha**: [fecha/hora]
218
+ **Fase**: [spec/plan/work/pre-pr]
219
+
220
+ ## Estado General
221
+ ✅ Validado / ⚠️ Validado con reservas / ❌ No validado
222
+
223
+ ## Validaciones Realizadas
224
+ - Negocio: ✅ / ⚠️ / ❌
225
+ - Técnica: ✅ / ⚠️ / ❌
226
+ - Estándares: ✅ / ⚠️ / ❌
227
+
228
+ ## Conflictos
229
+ [Lista de conflictos, si los hay]
230
+
231
+ ## Excepciones
232
+ [Lista de excepciones justificadas, si las hay]
233
+
234
+ ## Recomendaciones
235
+ 1. [Recomendación 1]
236
+ 2. [Recomendación 2]
237
+
238
+ ## Aprobación
239
+ - [ ] Aprobado para continuar
240
+ - [ ] Requiere ajustes
241
+ - [ ] Bloqueado
242
+ ```
243
+
244
+ Informe al usuario: "⚠️ Informe guardado localmente en .sessions/ (gestor de tareas no disponible)"
245
+
246
+ ## 🚨 Acción en Caso de Conflictos
247
+
248
+ Si se encuentran conflictos críticos:
249
+ 1. 🛑 **DETENGA** el proceso actual
250
+ 2. 📝 **DOCUMENTE** todos los conflictos
251
+ 3. 💬 **ALERTE** al usuario y stakeholders
252
+ 4. **Vía MCP**: Actualice el estado de la issue a "Bloqueado" o "Requiere Ajustes"
253
+ 5. 🔄 **AJUSTE** el plan/implementación según sea necesario
254
+ 6. ✅ **REVALIDE** tras los ajustes
255
+
256
+ ---
257
+
258
+ **Argumentos proporcionados**:
259
+
260
+ ```
261
+ #$ARGUMENTS
262
+ ```
263
+
264
+ ---
265
+
266
+ ## 🎯 Resultado
267
+
268
+ Después de la validación:
269
+ - Si ✅: Continúe a la siguiente fase
270
+ - Si ⚠️: Documente reservas y continúe con aprobación
271
+ - Si ❌: Corrija conflictos antes de continuar
@@ -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.