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.
@@ -1,209 +1,211 @@
1
1
  # Refinamiento de Requisitos
2
2
 
3
- Este comando refina una issue recopilada, transformándola en requisitos claros y validados.
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 SOLO para refinamiento de requisitos:**
8
- - ✅ Refinar y validar requisitos
9
- - ✅ Actualizar issue en el task manager vía MCP
10
- - ✅ **LEER** archivos de los repositorios principales (solo lectura)
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 hacer checkout de branches en los repositorios principales**
14
- - ❌ **NO hacer commits**
14
+ - ❌ **NO ejecutar pruebas o deploy**
15
15
 
16
- **Próximo paso**: `/spec [ISSUE-ID]` para crear la especificación completa (PRD).
16
+ **Próximo paso**: `/spec [ISSUE-ID]` para crear PRD completo basado en los requisitos refinados.
17
17
 
18
18
  ---
19
19
 
20
- ## 📋 Prerrequisitos
20
+ ## Objetivo
21
21
 
22
- - Issue ya recopilada vía `/collect`
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
- ## 🎯 Objetivo
24
+ ## Proceso
26
25
 
27
- Refinar la issue recopilada, aclarando:
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
- ## 📝 Proceso de Refinamiento
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
- ### 1. Cargar Issue
34
+ Continúa haciendo preguntas hasta tener entendimiento completo.
37
35
 
38
- **PRIORIDAD 1: Usar MCP (Model Context Protocol)**
36
+ ### 2. Validación Contra Metaspecs
39
37
 
40
- - Lea `ai.properties.md` del orchestrator para identificar el `task_management_system`
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
- **FALLBACK: Si MCP no está disponible o falla**
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
- ## Impacto por Repositorio
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
- Proporcione estimación de esfuerzo:
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
- ### 8. Preguntas Pendientes
157
+ ## Objetivo
158
+ [1-2 párrafos: qué es y por qué hacerlo]
138
159
 
139
- Liste preguntas que aún necesitan respuesta antes de iniciar la implementación.
140
-
141
- ## 📄 Guardado del Refinamiento
160
+ ## Alcance
142
161
 
143
- **PRIORIDAD 1: Actualizar vía MCP**
162
+ ### Funcionalidades Principales
163
+ - Funcionalidad 1: [resumen]
164
+ - Funcionalidad 2: [resumen]
165
+ - Validaciones/Guards: [resumen]
144
166
 
145
- - Use el MCP del task manager para actualizar la issue
146
- - Añada los criterios de aceptación como comentario o campo personalizado
147
- - Actualice labels/tags si es necesario (ej: "refined", "ready-for-spec")
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
- **FALLBACK: Crear archivo .md solo si MCP falla**
171
+ ### Seguridad
172
+ ✅ [ítem 1] ✅ [ítem 2] ✅ [ítem 3]
152
173
 
153
- Si el MCP no está disponible o falla, cree/actualice `./.sessions/<ISSUE-ID>/refine.md`:
174
+ ## Alcance Negativo
175
+ ❌ [ítem 1] ❌ [ítem 2] ❌ [ítem 3]
154
176
 
155
- ```markdown
156
- # [Título de la Issue] - Refinamiento
177
+ ## Stack
178
+ [Tech stack resumida por área]
157
179
 
158
- ## Alcance
180
+ ## Estructura
181
+ [Árbol de archivos RESUMIDO - módulos principales solamente]
159
182
 
160
- ### Incluido
161
- - [Ítem 1]
162
- - [Ítem 2]
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
- [Según sección 3 arriba]
170
-
171
- ## Impacto por Repositorio
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
- ## Estimación
183
- [Pequeño/Medio/Grande/Muy Grande] - [Justificación]
192
+ ## Validación
193
+ **ADRs**: [lista]
194
+ **Specs**: [principales]
195
+ **Estado**: ✅ Aprobado
184
196
 
185
- ## Preguntas Pendientes
186
- 1. [Pregunta 1]
187
- 2. [Pregunta 2]
197
+ **Impacto**: [resumen]
198
+ **Limitaciones**: [resumen]
188
199
 
189
- ## Riesgos Identificados
190
- - [Riesgo 1 y mitigación]
191
- - [Riesgo 2 y mitigación]
200
+ ---
201
+ 📄 **Documento completo**: `.sessions/<ISSUE-ID>/refined.md`
192
202
  ```
193
203
 
194
- Informe al usuario: "⚠️ Refinamiento guardado localmente en .sessions/ (task manager no disponible)"
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. conciso pero completo.
203
205
 
204
206
  ---
205
207
 
206
- **Argumentos proporcionados**:
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
- Después de aprobar el refinamiento:
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
- Este comando creará la especificación completa (PRD) de la feature.
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. **Aprovação do Usuário**
90
- - Apresente o rascunho
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
- 4. **Salvamento da Issue**
118
+ 5. **Salvamento da Issue**
95
119
 
96
120
  **PRIORIDADE 1: Usar MCP (Model Context Protocol)**
97
121