context-first-cli 1.8.2 → 2.0.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/dist/commands/create-orchestrator.d.ts.map +1 -1
- package/dist/commands/create-orchestrator.js +15 -3
- package/dist/commands/create-orchestrator.js.map +1 -1
- package/dist/commands/feature.d.ts.map +1 -1
- package/dist/commands/feature.js +33 -2
- package/dist/commands/feature.js.map +1 -1
- package/dist/commands/update-commands.d.ts.map +1 -1
- package/dist/commands/update-commands.js +42 -2
- package/dist/commands/update-commands.js.map +1 -1
- package/dist/templates/commands/en/engineer/plan.md +297 -0
- package/dist/templates/commands/en/engineer/pr.md +167 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/en/engineer/start.md +281 -0
- package/dist/templates/commands/en/engineer/work.md +197 -0
- package/dist/templates/commands/en/products/check.md +233 -0
- package/dist/templates/commands/en/products/collect.md +156 -0
- package/dist/templates/commands/en/products/refine.md +222 -0
- package/dist/templates/commands/en/products/spec.md +267 -0
- package/dist/templates/commands/en/quality/metrics.md +240 -0
- package/dist/templates/commands/en/quality/observe.md +168 -0
- package/dist/templates/commands/en/warm-up.md +78 -0
- package/dist/templates/commands/es/engineer/plan.md +297 -0
- package/dist/templates/commands/es/engineer/pr.md +167 -0
- package/dist/templates/commands/es/engineer/pre-pr.md +262 -0
- package/dist/templates/commands/es/engineer/start.md +281 -0
- package/dist/templates/commands/es/engineer/work.md +197 -0
- package/dist/templates/commands/es/products/check.md +233 -0
- package/dist/templates/commands/es/products/collect.md +156 -0
- package/dist/templates/commands/es/products/refine.md +222 -0
- package/dist/templates/commands/es/products/spec.md +267 -0
- package/dist/templates/commands/es/quality/metrics.md +240 -0
- package/dist/templates/commands/es/quality/observe.md +168 -0
- package/dist/templates/commands/es/warm-up.md +78 -0
- package/dist/utils/config.d.ts +1 -0
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js.map +1 -1
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +297 -0
- package/templates/commands/en/engineer/pr.md +167 -0
- package/templates/commands/en/engineer/pre-pr.md +262 -0
- package/templates/commands/en/engineer/start.md +281 -0
- package/templates/commands/en/engineer/work.md +197 -0
- package/templates/commands/en/products/check.md +233 -0
- package/templates/commands/en/products/collect.md +156 -0
- package/templates/commands/en/products/refine.md +222 -0
- package/templates/commands/en/products/spec.md +267 -0
- package/templates/commands/en/quality/metrics.md +240 -0
- package/templates/commands/en/quality/observe.md +168 -0
- package/templates/commands/en/warm-up.md +78 -0
- package/templates/commands/es/engineer/plan.md +297 -0
- package/templates/commands/es/engineer/pr.md +167 -0
- package/templates/commands/es/engineer/pre-pr.md +262 -0
- package/templates/commands/es/engineer/start.md +281 -0
- package/templates/commands/es/engineer/work.md +197 -0
- package/templates/commands/es/products/check.md +233 -0
- package/templates/commands/es/products/collect.md +156 -0
- package/templates/commands/es/products/refine.md +222 -0
- package/templates/commands/es/products/spec.md +267 -0
- package/templates/commands/es/quality/metrics.md +240 -0
- package/templates/commands/es/quality/observe.md +168 -0
- package/templates/commands/es/warm-up.md +78 -0
- package/templates/commands/pt-BR/engineer/plan.md +297 -0
- package/templates/commands/pt-BR/engineer/pr.md +167 -0
- package/templates/commands/pt-BR/engineer/pre-pr.md +262 -0
- package/templates/commands/pt-BR/engineer/start.md +281 -0
- package/templates/commands/pt-BR/engineer/work.md +197 -0
- package/templates/commands/pt-BR/products/check.md +233 -0
- package/templates/commands/pt-BR/products/collect.md +156 -0
- package/templates/commands/pt-BR/products/refine.md +222 -0
- package/templates/commands/pt-BR/products/spec.md +267 -0
- package/templates/commands/pt-BR/quality/metrics.md +240 -0
- package/templates/commands/pt-BR/quality/observe.md +168 -0
- package/templates/commands/pt-BR/warm-up.md +78 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/plan.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/pre-pr.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/start.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/engineer/work.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/check.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/collect.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/refine.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/products/spec.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/metrics.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/quality/observe.md +0 -0
- /package/{templates/commands → dist/templates/commands/pt-BR}/warm-up.md +0 -0
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
# Refinamiento de Requisitos
|
|
2
|
+
|
|
3
|
+
Este comando refina una issue recopilada, transformándola en requisitos claros y validados.
|
|
4
|
+
|
|
5
|
+
## ⚠️ IMPORTANTE: Este Comando NO Implementa Código
|
|
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)
|
|
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**: `/spec [ISSUE-ID]` para crear la especificación completa (PRD).
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 Prerrequisitos
|
|
21
|
+
|
|
22
|
+
- Issue ya recopilada vía `/collect`
|
|
23
|
+
- Contexto del proyecto se cargará automáticamente (ver sección "Cargar MetaSpecs" abajo)
|
|
24
|
+
|
|
25
|
+
## 🎯 Objetivo
|
|
26
|
+
|
|
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
|
|
33
|
+
|
|
34
|
+
## 📝 Proceso de Refinamiento
|
|
35
|
+
|
|
36
|
+
### 1. Cargar Issue
|
|
37
|
+
|
|
38
|
+
**PRIORIDAD 1: Usar MCP (Model Context Protocol)**
|
|
39
|
+
|
|
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.)
|
|
46
|
+
|
|
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:
|
|
103
|
+
|
|
104
|
+
```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
|
|
130
|
+
|
|
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)
|
|
136
|
+
|
|
137
|
+
### 8. Preguntas Pendientes
|
|
138
|
+
|
|
139
|
+
Liste preguntas que aún necesitan respuesta antes de iniciar la implementación.
|
|
140
|
+
|
|
141
|
+
## 📄 Guardado del Refinamiento
|
|
142
|
+
|
|
143
|
+
**PRIORIDAD 1: Actualizar vía MCP**
|
|
144
|
+
|
|
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"
|
|
150
|
+
|
|
151
|
+
**FALLBACK: Crear archivo .md solo si MCP falla**
|
|
152
|
+
|
|
153
|
+
Si el MCP no está disponible o falla, cree/actualice `./.sessions/<ISSUE-ID>/refine.md`:
|
|
154
|
+
|
|
155
|
+
```markdown
|
|
156
|
+
# [Título de la Issue] - Refinamiento
|
|
157
|
+
|
|
158
|
+
## Alcance
|
|
159
|
+
|
|
160
|
+
### Incluido
|
|
161
|
+
- [Ítem 1]
|
|
162
|
+
- [Ítem 2]
|
|
163
|
+
|
|
164
|
+
### Excluido
|
|
165
|
+
- [Ítem 1]
|
|
166
|
+
- [Ítem 2]
|
|
167
|
+
|
|
168
|
+
## 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]
|
|
181
|
+
|
|
182
|
+
## Estimación
|
|
183
|
+
[Pequeño/Medio/Grande/Muy Grande] - [Justificación]
|
|
184
|
+
|
|
185
|
+
## Preguntas Pendientes
|
|
186
|
+
1. [Pregunta 1]
|
|
187
|
+
2. [Pregunta 2]
|
|
188
|
+
|
|
189
|
+
## Riesgos Identificados
|
|
190
|
+
- [Riesgo 1 y mitigación]
|
|
191
|
+
- [Riesgo 2 y mitigación]
|
|
192
|
+
```
|
|
193
|
+
|
|
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
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
**Argumentos proporcionados**:
|
|
207
|
+
|
|
208
|
+
```
|
|
209
|
+
#$ARGUMENTS
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
## 🎯 Próximo Paso
|
|
215
|
+
|
|
216
|
+
Después de aprobar el refinamiento:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
/spec [ISSUE-ID]
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
Este comando creará la especificación completa (PRD) de la feature.
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
# Creación de Especificación (PRD)
|
|
2
|
+
|
|
3
|
+
Este comando crea la especificación completa (Product Requirements Document) de la feature.
|
|
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 task manager vía MCP
|
|
10
|
+
- ✅ **LEER** archivos de los repositorios principales (read-only)
|
|
11
|
+
- ❌ **NO implementar código**
|
|
12
|
+
- ❌ **NO hacer edits en archivos de código**
|
|
13
|
+
- ❌ **NO hacer checkout de branches en los repositorios principales**
|
|
14
|
+
- ❌ **NO hacer commits**
|
|
15
|
+
|
|
16
|
+
**Próximo paso**: `/start` para iniciar el desarrollo.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
## 📋 Requisitos Previos
|
|
21
|
+
|
|
22
|
+
- Issue refinada vía `/refine`
|
|
23
|
+
- Aprobación para continuar con la feature
|
|
24
|
+
|
|
25
|
+
## 📚 Cargar MetaSpecs
|
|
26
|
+
|
|
27
|
+
**Localizar MetaSpecs automáticamente**:
|
|
28
|
+
1. Lea `context-manifest.json` del orchestrator
|
|
29
|
+
2. Encuentre el repositorio con `"role": "metaspecs"`
|
|
30
|
+
3. Lea `ai.properties.md` para obtener el `base_path`
|
|
31
|
+
4. El metaspecs está en: `{base_path}/{metaspecs-repo-id}/`
|
|
32
|
+
5. Lea los archivos `index.md` relevantes para garantizar conformidad con:
|
|
33
|
+
- Arquitectura del sistema
|
|
34
|
+
- Patrones de diseño
|
|
35
|
+
- Restricciones técnicas
|
|
36
|
+
- Convenciones del proyecto
|
|
37
|
+
|
|
38
|
+
## 🎯 Objetivo
|
|
39
|
+
|
|
40
|
+
Crear un PRD completo que servirá como fuente única de verdad para la implementación.
|
|
41
|
+
|
|
42
|
+
## 📝 Estructura del PRD
|
|
43
|
+
|
|
44
|
+
### 1. Visión General
|
|
45
|
+
|
|
46
|
+
```markdown
|
|
47
|
+
# [Título de la Feature]
|
|
48
|
+
|
|
49
|
+
## Contexto
|
|
50
|
+
[¿Por qué estamos construyendo esto? ¿Qué problema resuelve?]
|
|
51
|
+
|
|
52
|
+
## Objetivo
|
|
53
|
+
[¿Qué queremos lograr con esta feature?]
|
|
54
|
+
|
|
55
|
+
## Métricas de Éxito
|
|
56
|
+
- [Métrica 1]: [Cómo medir]
|
|
57
|
+
- [Métrica 2]: [Cómo medir]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 2. Requisitos Funcionales
|
|
61
|
+
|
|
62
|
+
```markdown
|
|
63
|
+
## Requisitos Funcionales
|
|
64
|
+
|
|
65
|
+
### RF-01: [Nombre del Requisito]
|
|
66
|
+
**Descripción**: [Descripción detallada]
|
|
67
|
+
**Prioridad**: Must Have / Should Have / Could Have
|
|
68
|
+
**Repositorios**: [repos afectados]
|
|
69
|
+
|
|
70
|
+
### RF-02: [Nombre del Requisito]
|
|
71
|
+
**Descripción**: [Descripción detallada]
|
|
72
|
+
**Prioridad**: Must Have / Should Have / Could Have
|
|
73
|
+
**Repositorios**: [repos afectados]
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### 3. Requisitos No Funcionales
|
|
77
|
+
|
|
78
|
+
```markdown
|
|
79
|
+
## Requisitos No Funcionales
|
|
80
|
+
|
|
81
|
+
### Performance
|
|
82
|
+
- [Requisito de performance]
|
|
83
|
+
|
|
84
|
+
### Seguridad
|
|
85
|
+
- [Requisito de seguridad]
|
|
86
|
+
|
|
87
|
+
### Accesibilidad
|
|
88
|
+
- [Requisito de accesibilidad]
|
|
89
|
+
|
|
90
|
+
### Escalabilidad
|
|
91
|
+
- [Requisito de escalabilidad]
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### 4. Flujos de Usuario
|
|
95
|
+
|
|
96
|
+
```markdown
|
|
97
|
+
## Flujos de Usuario
|
|
98
|
+
|
|
99
|
+
### Flujo Principal
|
|
100
|
+
1. [Paso 1]
|
|
101
|
+
2. [Paso 2]
|
|
102
|
+
3. [Paso 3]
|
|
103
|
+
|
|
104
|
+
### Flujos Alternativos
|
|
105
|
+
**Escenario**: [Nombre del escenario]
|
|
106
|
+
1. [Paso 1]
|
|
107
|
+
2. [Paso 2]
|
|
108
|
+
|
|
109
|
+
### Manejo de Errores
|
|
110
|
+
**Error**: [Tipo de error]
|
|
111
|
+
**Comportamiento**: [Cómo debe reaccionar el sistema]
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
### 5. Especificación Técnica
|
|
115
|
+
|
|
116
|
+
```markdown
|
|
117
|
+
## Especificación Técnica
|
|
118
|
+
|
|
119
|
+
### Arquitectura
|
|
120
|
+
|
|
121
|
+
#### <repo-1>
|
|
122
|
+
- **Componentes nuevos**: [lista]
|
|
123
|
+
- **Componentes modificados**: [lista]
|
|
124
|
+
- **APIs**: [endpoints nuevos/modificados]
|
|
125
|
+
|
|
126
|
+
#### <repo-2>
|
|
127
|
+
- **Componentes nuevos**: [lista]
|
|
128
|
+
- **Componentes modificados**: [lista]
|
|
129
|
+
- **APIs**: [endpoints nuevos/modificados]
|
|
130
|
+
|
|
131
|
+
### Integraciones
|
|
132
|
+
- **Entre repos**: [cómo se comunican los repos]
|
|
133
|
+
- **Externas**: [APIs externas, si las hay]
|
|
134
|
+
|
|
135
|
+
### Modelo de Datos
|
|
136
|
+
[Describa cambios en el modelo de datos, si los hay]
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
### 6. Criterios de Aceptación
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## Criterios de Aceptación
|
|
143
|
+
|
|
144
|
+
### Funcional
|
|
145
|
+
- [ ] [Criterio específico y testable]
|
|
146
|
+
- [ ] [Criterio específico y testable]
|
|
147
|
+
|
|
148
|
+
### Técnico
|
|
149
|
+
- [ ] Tests unitarios con cobertura >= X%
|
|
150
|
+
- [ ] Tests de integración implementados
|
|
151
|
+
- [ ] Performance dentro de los requisitos
|
|
152
|
+
- [ ] Documentación actualizada
|
|
153
|
+
|
|
154
|
+
### Calidad
|
|
155
|
+
- [ ] Code review aprobado
|
|
156
|
+
- [ ] Sin regresiones
|
|
157
|
+
- [ ] Accesibilidad validada
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 7. Fuera del Alcance
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Fuera del Alcance
|
|
164
|
+
|
|
165
|
+
Funcionalidades que NO serán implementadas en esta versión:
|
|
166
|
+
- [Ítem 1]
|
|
167
|
+
- [Ítem 2]
|
|
168
|
+
|
|
169
|
+
Justificación: [Por qué quedan para después]
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
### 8. Riesgos y Mitigaciones
|
|
173
|
+
|
|
174
|
+
```markdown
|
|
175
|
+
## Riesgos y Mitigaciones
|
|
176
|
+
|
|
177
|
+
### Riesgo 1: [Descripción]
|
|
178
|
+
- **Probabilidad**: Alta / Media / Baja
|
|
179
|
+
- **Impacto**: Alto / Medio / Bajo
|
|
180
|
+
- **Mitigación**: [Cómo mitigar]
|
|
181
|
+
|
|
182
|
+
### Riesgo 2: [Descripción]
|
|
183
|
+
- **Probabilidad**: Alta / Media / Baja
|
|
184
|
+
- **Impacto**: Alto / Medio / Bajo
|
|
185
|
+
- **Mitigación**: [Cómo mitigar]
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
### 9. Dependencias
|
|
189
|
+
|
|
190
|
+
```markdown
|
|
191
|
+
## Dependencias
|
|
192
|
+
|
|
193
|
+
### Técnicas
|
|
194
|
+
- [Dependencia técnica 1]
|
|
195
|
+
- [Dependencia técnica 2]
|
|
196
|
+
|
|
197
|
+
### De Negocio
|
|
198
|
+
- [Dependencia de negocio 1]
|
|
199
|
+
- [Dependencia de negocio 2]
|
|
200
|
+
|
|
201
|
+
### Bloqueadores
|
|
202
|
+
- [Bloqueador 1 y plan para resolver]
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### 10. Plan de Pruebas
|
|
206
|
+
|
|
207
|
+
```markdown
|
|
208
|
+
## Plan de Pruebas
|
|
209
|
+
|
|
210
|
+
### Tests Unitarios
|
|
211
|
+
- [Área 1 a testear]
|
|
212
|
+
- [Área 2 a testear]
|
|
213
|
+
|
|
214
|
+
### Tests de Integración
|
|
215
|
+
- [Escenario 1]
|
|
216
|
+
- [Escenario 2]
|
|
217
|
+
|
|
218
|
+
### Tests Manuales
|
|
219
|
+
- [Escenario 1]
|
|
220
|
+
- [Escenario 2]
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## 📄 Guardado del PRD
|
|
224
|
+
|
|
225
|
+
**PRIORIDAD 1: Usar MCP (Model Context Protocol)**
|
|
226
|
+
|
|
227
|
+
- Lea `ai.properties.md` del orchestrator para identificar el `task_management_system`
|
|
228
|
+
- Use el MCP apropiado para actualizar la issue con el PRD:
|
|
229
|
+
- Añada el PRD completo como comentario en la issue
|
|
230
|
+
- O adjunte como archivo (si el task manager lo soporta)
|
|
231
|
+
- Actualice status/labels (ej: "spec-ready", "ready-for-dev")
|
|
232
|
+
- Informe al usuario: "✅ PRD añadido a la issue [ID]"
|
|
233
|
+
|
|
234
|
+
**FALLBACK: Crear archivo .md sólo si MCP falla**
|
|
235
|
+
|
|
236
|
+
Si MCP no está disponible o falla:
|
|
237
|
+
- Guarde en `./.sessions/<ISSUE-ID>/prd.md`
|
|
238
|
+
- Informe al usuario: "⚠️ PRD guardado localmente en .sessions/ (task manager no disponible)"
|
|
239
|
+
|
|
240
|
+
## 🔍 Revisión y Aprobación
|
|
241
|
+
|
|
242
|
+
Antes de finalizar:
|
|
243
|
+
1. Revise el PRD con stakeholders
|
|
244
|
+
2. Valide contra metaspecs (si están disponibles)
|
|
245
|
+
3. Obtenga aprobación para iniciar implementación
|
|
246
|
+
4. **Vía MCP**: Actualice la issue en el task manager con status "Listo para Desarrollo"
|
|
247
|
+
5. **Fallback**: Documente la aprobación en `./.sessions/<ISSUE-ID>/prd.md`
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
**Argumentos proporcionados**:
|
|
252
|
+
|
|
253
|
+
```
|
|
254
|
+
#$ARGUMENTS
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
## 🎯 Próximo Paso
|
|
260
|
+
|
|
261
|
+
Tras la aprobación del PRD:
|
|
262
|
+
|
|
263
|
+
```bash
|
|
264
|
+
/start
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
Este comando iniciará el desarrollo de la feature.
|
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
# Métricas de Calidad
|
|
2
|
+
|
|
3
|
+
Este comando recopila y analiza métricas de calidad del código y del proceso de desarrollo.
|
|
4
|
+
|
|
5
|
+
## 🎯 Objetivo
|
|
6
|
+
|
|
7
|
+
Medir y documentar la calidad de la implementación mediante métricas objetivas:
|
|
8
|
+
- Cobertura de pruebas
|
|
9
|
+
- Complejidad del código
|
|
10
|
+
- Deuda técnica
|
|
11
|
+
- Rendimiento
|
|
12
|
+
- Cumplimiento con estándares
|
|
13
|
+
|
|
14
|
+
## 📋 Requisitos previos
|
|
15
|
+
|
|
16
|
+
- Implementación finalizada (después de `/work`)
|
|
17
|
+
- Pruebas implementadas
|
|
18
|
+
- Build funcionando
|
|
19
|
+
|
|
20
|
+
## 📊 Métricas a Recopilar
|
|
21
|
+
|
|
22
|
+
### 1. Cobertura de Pruebas
|
|
23
|
+
|
|
24
|
+
Para cada repositorio modificado:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
cd <repositório>
|
|
28
|
+
|
|
29
|
+
# Ejecutar pruebas con cobertura
|
|
30
|
+
npm run test:coverage # ou comando equivalente
|
|
31
|
+
|
|
32
|
+
# Capturar resultados
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Documente:
|
|
36
|
+
```markdown
|
|
37
|
+
## Cobertura de Pruebas
|
|
38
|
+
|
|
39
|
+
### <repo-1>
|
|
40
|
+
- **Cobertura Total**: X%
|
|
41
|
+
- **Statements**: X%
|
|
42
|
+
- **Branches**: X%
|
|
43
|
+
- **Functions**: X%
|
|
44
|
+
- **Lines**: X%
|
|
45
|
+
- **Archivos no cubiertos**: [lista]
|
|
46
|
+
|
|
47
|
+
### <repo-2>
|
|
48
|
+
[Mismo formato]
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Complejidad del Código
|
|
52
|
+
|
|
53
|
+
Analice la complejidad ciclomática de los archivos modificados:
|
|
54
|
+
|
|
55
|
+
```markdown
|
|
56
|
+
## Complejidad del Código
|
|
57
|
+
|
|
58
|
+
### Archivos con Alta Complejidad
|
|
59
|
+
- **archivo1.ts**: Complejidad 15 (recomendado: < 10)
|
|
60
|
+
- **archivo2.ts**: Complejidad 12
|
|
61
|
+
|
|
62
|
+
### Recomendaciones
|
|
63
|
+
- [Sugerencia de refactorización 1]
|
|
64
|
+
- [Sugerencia de refactorización 2]
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
### 3. Calidad del Código
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
# Ejecutar linting
|
|
71
|
+
npm run lint
|
|
72
|
+
|
|
73
|
+
# Verificar formato
|
|
74
|
+
npm run format:check
|
|
75
|
+
|
|
76
|
+
# Análisis estático (si está disponible)
|
|
77
|
+
npm run analyze
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Documente:
|
|
81
|
+
```markdown
|
|
82
|
+
## Calidad del Código
|
|
83
|
+
|
|
84
|
+
### Linting
|
|
85
|
+
- **Errores**: 0
|
|
86
|
+
- **Warnings**: X
|
|
87
|
+
- **Warnings Justificados**: [lista con justificaciones]
|
|
88
|
+
|
|
89
|
+
### Formato
|
|
90
|
+
- **Estado**: ✅ Conforme / ⚠️ Ajustes necesarios
|
|
91
|
+
|
|
92
|
+
### Análisis Estático
|
|
93
|
+
- **Problemas Críticos**: 0
|
|
94
|
+
- **Problemas Medios**: X
|
|
95
|
+
- **Problemas Bajos**: Y
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### 4. Rendimiento
|
|
99
|
+
|
|
100
|
+
Si aplica, mida rendimiento:
|
|
101
|
+
|
|
102
|
+
```markdown
|
|
103
|
+
## Rendimiento
|
|
104
|
+
|
|
105
|
+
### Benchmarks
|
|
106
|
+
- **Operación X**: Yms (baseline: Zms)
|
|
107
|
+
- **Operación Y**: Yms (baseline: Zms)
|
|
108
|
+
|
|
109
|
+
### Optimizaciones Aplicadas
|
|
110
|
+
- [Optimización 1 e impacto]
|
|
111
|
+
- [Optimización 2 e impacto]
|
|
112
|
+
|
|
113
|
+
### Cuellos de Botella Identificados
|
|
114
|
+
- [Cuello de botella 1 y plan de mitigación]
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### 5. Tamaño e Impacto
|
|
118
|
+
|
|
119
|
+
```markdown
|
|
120
|
+
## Tamaño e Impacto
|
|
121
|
+
|
|
122
|
+
### Líneas de Código
|
|
123
|
+
- **Añadidas**: +X líneas
|
|
124
|
+
- **Eliminadas**: -Y líneas
|
|
125
|
+
- **Modificadas**: Z líneas
|
|
126
|
+
|
|
127
|
+
### Archivos
|
|
128
|
+
- **Nuevos**: X archivos
|
|
129
|
+
- **Modificados**: Y archivos
|
|
130
|
+
- **Eliminados**: Z archivos
|
|
131
|
+
|
|
132
|
+
### Dependencias
|
|
133
|
+
- **Nuevas dependencias**: [lista]
|
|
134
|
+
- **Tamaño del bundle**: +X KB
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 6. Deuda Técnica
|
|
138
|
+
|
|
139
|
+
Identifique deuda técnica introducida o resuelta:
|
|
140
|
+
|
|
141
|
+
```markdown
|
|
142
|
+
## Deuda Técnica
|
|
143
|
+
|
|
144
|
+
### Deuda Introducida
|
|
145
|
+
- **Ítem 1**: [Descripción y justificación]
|
|
146
|
+
- Severidad: Alta / Media / Baja
|
|
147
|
+
- Plan de resolución: [cuándo y cómo resolver]
|
|
148
|
+
|
|
149
|
+
### Deuda Resuelta
|
|
150
|
+
- **Ítem 1**: [Qué fue resuelto]
|
|
151
|
+
- Impacto: [mejora obtenida]
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## 📄 Informe de Métricas
|
|
155
|
+
|
|
156
|
+
Cree `./.sessions/<ISSUE-ID>/metrics.md`:
|
|
157
|
+
|
|
158
|
+
```markdown
|
|
159
|
+
# Informe de Métricas - [ISSUE-ID]
|
|
160
|
+
|
|
161
|
+
**Fecha**: [fecha/hora]
|
|
162
|
+
**Repositorios**: [lista]
|
|
163
|
+
|
|
164
|
+
## Resumen Ejecutivo
|
|
165
|
+
|
|
166
|
+
- **Cobertura de Pruebas**: X% (meta: Y%)
|
|
167
|
+
- **Calidad del Código**: ✅ / ⚠️ / ❌
|
|
168
|
+
- **Rendimiento**: ✅ / ⚠️ / ❌
|
|
169
|
+
- **Deuda Técnica**: Baja / Media / Alta
|
|
170
|
+
|
|
171
|
+
## Métricas Detalladas
|
|
172
|
+
|
|
173
|
+
[Incluir todas las secciones anteriores]
|
|
174
|
+
|
|
175
|
+
## Comparación con Baseline
|
|
176
|
+
|
|
177
|
+
| Métrica | Antes | Después | Variación |
|
|
178
|
+
|---------|-------|---------|-----------|
|
|
179
|
+
| Cobertura | X% | Y% | +Z% |
|
|
180
|
+
| Complejidad Media | X | Y | +Z |
|
|
181
|
+
| Tamaño del Bundle | X KB | Y KB | +Z KB |
|
|
182
|
+
|
|
183
|
+
## Acciones Recomendadas
|
|
184
|
+
|
|
185
|
+
1. [Acción 1 - prioridad alta]
|
|
186
|
+
2. [Acción 2 - prioridad media]
|
|
187
|
+
3. [Acción 3 - prioridad baja]
|
|
188
|
+
|
|
189
|
+
## Aprobación para Merge
|
|
190
|
+
|
|
191
|
+
- [ ] Cobertura de pruebas >= meta
|
|
192
|
+
- [ ] Sin problemas críticos de calidad
|
|
193
|
+
- [ ] Rendimiento dentro de los requisitos
|
|
194
|
+
- [ ] Deuda técnica documentada y aprobada
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
## 🎯 Metas de Calidad
|
|
198
|
+
|
|
199
|
+
Si el proyecto tiene metas definidas en las metaspecs, valide:
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
## Validación contra Metas
|
|
203
|
+
|
|
204
|
+
### Metas del Proyecto
|
|
205
|
+
- **Cobertura mínima**: 80%
|
|
206
|
+
- **Complejidad máxima**: 10
|
|
207
|
+
- **Rendimiento**: < 100ms
|
|
208
|
+
|
|
209
|
+
### Estado
|
|
210
|
+
- Cobertura: ✅ 85% (meta: 80%)
|
|
211
|
+
- Complejidad: ⚠️ 12 (meta: 10) - Justificado
|
|
212
|
+
- Rendimiento: ✅ 85ms (meta: 100ms)
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
## 🚨 Alertas
|
|
216
|
+
|
|
217
|
+
Si alguna métrica está fuera de lo aceptable:
|
|
218
|
+
1. 🛑 **DOCUMENTE** el problema
|
|
219
|
+
2. 💬 **ALERTE** al usuario
|
|
220
|
+
3. 🔧 **PROPONGA** acciones correctivas
|
|
221
|
+
4. ⏸️ **CONSIDERE** bloquear el merge hasta resolución
|
|
222
|
+
|
|
223
|
+
---
|
|
224
|
+
|
|
225
|
+
**Argumentos proporcionados**:
|
|
226
|
+
|
|
227
|
+
```
|
|
228
|
+
#$ARGUMENTS
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 🎯 Resultado
|
|
234
|
+
|
|
235
|
+
Tras ejecutar este comando, tendrá:
|
|
236
|
+
- Informe completo de métricas
|
|
237
|
+
- Comparación con baseline y metas
|
|
238
|
+
- Identificación de problemas de calidad
|
|
239
|
+
- Recomendaciones de acciones
|
|
240
|
+
- Base objetiva para aprobación de merge
|