@thatix.io/context-first-agents-cli 0.1.1 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -12
- package/dist/commands/create-orchestrator.js +4 -1
- package/dist/commands/doctor.js +21 -5
- package/dist/commands/init.js +3 -1
- package/dist/templates/commands/en/engineer/plan.md +301 -0
- package/dist/templates/commands/en/engineer/pr.md +194 -0
- package/dist/templates/commands/en/engineer/pre-pr.md +325 -0
- package/dist/templates/commands/en/engineer/start.md +285 -0
- package/dist/templates/commands/en/engineer/work.md +256 -0
- package/dist/templates/commands/en/products/check.md +237 -0
- package/dist/templates/commands/en/products/collect.md +170 -0
- package/dist/templates/commands/en/products/refine.md +231 -0
- package/dist/templates/commands/en/products/spec.md +273 -0
- package/dist/templates/commands/en/quality/metrics.md +266 -0
- package/dist/templates/commands/en/quality/observe.md +172 -0
- package/dist/templates/commands/en/warm-up.md +83 -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 +83 -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 +83 -0
- package/package.json +1 -1
- package/templates/commands/en/engineer/plan.md +301 -0
- package/templates/commands/en/engineer/pr.md +194 -0
- package/templates/commands/en/engineer/pre-pr.md +325 -0
- package/templates/commands/en/engineer/start.md +285 -0
- package/templates/commands/en/engineer/work.md +256 -0
- package/templates/commands/en/products/check.md +237 -0
- package/templates/commands/en/products/collect.md +170 -0
- package/templates/commands/en/products/refine.md +231 -0
- package/templates/commands/en/products/spec.md +273 -0
- package/templates/commands/en/quality/metrics.md +266 -0
- package/templates/commands/en/quality/observe.md +172 -0
- package/templates/commands/en/warm-up.md +83 -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 +83 -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 +83 -0
|
@@ -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.
|
|
@@ -0,0 +1,300 @@
|
|
|
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
|
+
- Conformidad con estándares
|
|
13
|
+
|
|
14
|
+
## 📋 Configuración del Proyecto
|
|
15
|
+
|
|
16
|
+
**⚠️ IMPORTANTE: ¡Siempre lea los archivos de configuración del proyecto ANTES de ejecutar este comando!**
|
|
17
|
+
|
|
18
|
+
### Archivos Obligatorios
|
|
19
|
+
|
|
20
|
+
1. **`context-manifest.json`** (raíz del orquestador)
|
|
21
|
+
- Lista de repositorios del proyecto
|
|
22
|
+
- Roles de cada repositorio (metaspecs, application, etc.)
|
|
23
|
+
- URLs y dependencias entre repositorios
|
|
24
|
+
|
|
25
|
+
2. **`ai.properties.md`** (raíz del orquestador)
|
|
26
|
+
- Configuraciones del proyecto (`project_name`, `base_path`)
|
|
27
|
+
- Sistema de gestión de tareas (`task_management_system`)
|
|
28
|
+
- Credenciales y configuraciones específicas
|
|
29
|
+
|
|
30
|
+
### Cómo Leer
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
# 1. Leer context-manifest.json
|
|
34
|
+
cat context-manifest.json
|
|
35
|
+
|
|
36
|
+
# 2. Leer ai.properties.md
|
|
37
|
+
cat ai.properties.md
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Información Esencial
|
|
41
|
+
|
|
42
|
+
Después de leer los archivos, tendrás:
|
|
43
|
+
- ✅ Lista completa de repositorios del proyecto
|
|
44
|
+
- ✅ Ubicación del repositorio de metaspecs
|
|
45
|
+
- ✅ Base path para localizar repositorios
|
|
46
|
+
- ✅ Sistema de gestión de tareas configurado
|
|
47
|
+
- ✅ Configuraciones específicas del proyecto
|
|
48
|
+
|
|
49
|
+
**🛑 NO continúe sin leer estos archivos!** Contienen información crítica para la correcta ejecución del comando.
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
## 📋 Requisitos Previos
|
|
53
|
+
|
|
54
|
+
- Implementación completada (después de `/work`)
|
|
55
|
+
- Pruebas implementadas
|
|
56
|
+
- Build funcionando
|
|
57
|
+
|
|
58
|
+
## 📊 Métricas a Recopilar
|
|
59
|
+
|
|
60
|
+
### 1. Cobertura de Pruebas
|
|
61
|
+
|
|
62
|
+
Para cada repositorio modificado:
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
cd <repositorio>
|
|
66
|
+
|
|
67
|
+
# Ejecutar pruebas con cobertura (ejemplos por stack):
|
|
68
|
+
# Node.js: npm run test:coverage / jest --coverage
|
|
69
|
+
# Python: pytest --cov=src tests/
|
|
70
|
+
# Java: mvn jacoco:report / gradle jacocoTestReport
|
|
71
|
+
# Go: go test -cover ./...
|
|
72
|
+
# Ruby: rspec --coverage
|
|
73
|
+
# Rust: cargo tarpaulin
|
|
74
|
+
# PHP: ./vendor/bin/phpunit --coverage-html coverage/
|
|
75
|
+
# C#: dotnet test /p:CollectCoverage=true
|
|
76
|
+
|
|
77
|
+
# Capturar resultados
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
Documente:
|
|
81
|
+
```markdown
|
|
82
|
+
## Cobertura de Pruebas
|
|
83
|
+
|
|
84
|
+
### <repo-1>
|
|
85
|
+
- **Cobertura Total**: X%
|
|
86
|
+
- **Statements**: X%
|
|
87
|
+
- **Branches**: X%
|
|
88
|
+
- **Functions**: X%
|
|
89
|
+
- **Lines**: X%
|
|
90
|
+
- **Archivos no cubiertos**: [lista]
|
|
91
|
+
|
|
92
|
+
### <repo-2>
|
|
93
|
+
[Mismo formato]
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### 2. Complejidad del Código
|
|
97
|
+
|
|
98
|
+
Analice la complejidad ciclomática de los archivos modificados:
|
|
99
|
+
|
|
100
|
+
```markdown
|
|
101
|
+
## Complejidad del Código
|
|
102
|
+
|
|
103
|
+
### Archivos con Alta Complejidad
|
|
104
|
+
- **archivo1.ts**: Complejidad 15 (recomendado: < 10)
|
|
105
|
+
- **archivo2.ts**: Complejidad 12
|
|
106
|
+
|
|
107
|
+
### Recomendaciones
|
|
108
|
+
- [Sugerencia de refactorización 1]
|
|
109
|
+
- [Sugerencia de refactorización 2]
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### 3. Calidad del Código
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Ejecutar linting (ejemplos por stack):
|
|
116
|
+
# Node.js: npm run lint / eslint .
|
|
117
|
+
# Python: flake8 . / pylint src/
|
|
118
|
+
# Java: mvn checkstyle:check
|
|
119
|
+
# Go: golangci-lint run
|
|
120
|
+
# Ruby: rubocop
|
|
121
|
+
# Rust: cargo clippy
|
|
122
|
+
|
|
123
|
+
# Verificar formato (ejemplos por stack):
|
|
124
|
+
# Node.js: prettier --check .
|
|
125
|
+
# Python: black --check .
|
|
126
|
+
# Java: mvn formatter:validate
|
|
127
|
+
# Go: gofmt -l .
|
|
128
|
+
# Ruby: rubocop --format-only
|
|
129
|
+
# Rust: cargo fmt --check
|
|
130
|
+
|
|
131
|
+
# Análisis estático (ejemplos por stack):
|
|
132
|
+
# Node.js: npm run analyze (si está configurado)
|
|
133
|
+
# Python: mypy src/ / bandit -r src/
|
|
134
|
+
# Java: mvn pmd:check / spotbugs:check
|
|
135
|
+
# Go: go vet ./...
|
|
136
|
+
# Ruby: brakeman (para Rails)
|
|
137
|
+
# Rust: cargo audit
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
Documente:
|
|
141
|
+
```markdown
|
|
142
|
+
## Calidad del Código
|
|
143
|
+
|
|
144
|
+
### Linting
|
|
145
|
+
- **Errores**: 0
|
|
146
|
+
- **Warnings**: X
|
|
147
|
+
- **Warnings Justificados**: [lista con justificaciones]
|
|
148
|
+
|
|
149
|
+
### Formato
|
|
150
|
+
- **Estado**: ✅ Conforme / ⚠️ Ajustes necesarios
|
|
151
|
+
|
|
152
|
+
### Análisis Estático
|
|
153
|
+
- **Problemas Críticos**: 0
|
|
154
|
+
- **Problemas Medios**: X
|
|
155
|
+
- **Problemas Bajos**: Y
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
### 4. Rendimiento
|
|
159
|
+
|
|
160
|
+
Si aplica, mida rendimiento:
|
|
161
|
+
|
|
162
|
+
```markdown
|
|
163
|
+
## Rendimiento
|
|
164
|
+
|
|
165
|
+
### Benchmarks
|
|
166
|
+
- **Operación X**: Yms (baseline: Zms)
|
|
167
|
+
- **Operación Y**: Yms (baseline: Zms)
|
|
168
|
+
|
|
169
|
+
### Optimizaciones Aplicadas
|
|
170
|
+
- [Optimización 1 e impacto]
|
|
171
|
+
- [Optimización 2 e impacto]
|
|
172
|
+
|
|
173
|
+
### Cuellos de Botella Identificados
|
|
174
|
+
- [Cuello de botella 1 y plan de mitigación]
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### 5. Tamaño e Impacto
|
|
178
|
+
|
|
179
|
+
```markdown
|
|
180
|
+
## Tamaño e Impacto
|
|
181
|
+
|
|
182
|
+
### Líneas de Código
|
|
183
|
+
- **Agregadas**: +X líneas
|
|
184
|
+
- **Eliminadas**: -Y líneas
|
|
185
|
+
- **Modificadas**: Z líneas
|
|
186
|
+
|
|
187
|
+
### Archivos
|
|
188
|
+
- **Nuevos**: X archivos
|
|
189
|
+
- **Modificados**: Y archivos
|
|
190
|
+
- **Eliminados**: Z archivos
|
|
191
|
+
|
|
192
|
+
### Dependencias
|
|
193
|
+
- **Nuevas dependencias**: [lista]
|
|
194
|
+
- **Tamaño del bundle**: +X KB
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
### 6. Deuda Técnica
|
|
198
|
+
|
|
199
|
+
Identifique deuda técnica introducida o resuelta:
|
|
200
|
+
|
|
201
|
+
```markdown
|
|
202
|
+
## Deuda Técnica
|
|
203
|
+
|
|
204
|
+
### Deuda Introducida
|
|
205
|
+
- **Ítem 1**: [Descripción y justificación]
|
|
206
|
+
- Severidad: Alta / Media / Baja
|
|
207
|
+
- Plan de resolución: [cuándo y cómo resolver]
|
|
208
|
+
|
|
209
|
+
### Deuda Resuelta
|
|
210
|
+
- **Ítem 1**: [Qué fue resuelto]
|
|
211
|
+
- Impacto: [mejora obtenida]
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
## 📄 Informe de Métricas
|
|
215
|
+
|
|
216
|
+
Cree `./.sessions/<ISSUE-ID>/metrics.md`:
|
|
217
|
+
|
|
218
|
+
```markdown
|
|
219
|
+
# Informe de Métricas - [ISSUE-ID]
|
|
220
|
+
|
|
221
|
+
**Fecha**: [fecha/hora]
|
|
222
|
+
**Repositorios**: [lista]
|
|
223
|
+
|
|
224
|
+
## Resumen Ejecutivo
|
|
225
|
+
|
|
226
|
+
- **Cobertura de Pruebas**: X% (meta: Y%)
|
|
227
|
+
- **Calidad del Código**: ✅ / ⚠️ / ❌
|
|
228
|
+
- **Rendimiento**: ✅ / ⚠️ / ❌
|
|
229
|
+
- **Deuda Técnica**: Baja / Media / Alta
|
|
230
|
+
|
|
231
|
+
## Métricas Detalladas
|
|
232
|
+
|
|
233
|
+
[Incluir todas las secciones anteriores]
|
|
234
|
+
|
|
235
|
+
## Comparación con Baseline
|
|
236
|
+
|
|
237
|
+
| Métrica | Antes | Después | Variación |
|
|
238
|
+
|---------|-------|---------|-----------|
|
|
239
|
+
| Cobertura | X% | Y% | +Z% |
|
|
240
|
+
| Complejidad Media | X | Y | +Z |
|
|
241
|
+
| Tamaño del Bundle | X KB | Y KB | +Z KB |
|
|
242
|
+
|
|
243
|
+
## Acciones Recomendadas
|
|
244
|
+
|
|
245
|
+
1. [Acción 1 - prioridad alta]
|
|
246
|
+
2. [Acción 2 - prioridad media]
|
|
247
|
+
3. [Acción 3 - prioridad baja]
|
|
248
|
+
|
|
249
|
+
## Aprobación para Merge
|
|
250
|
+
|
|
251
|
+
- [ ] Cobertura de pruebas >= meta
|
|
252
|
+
- [ ] Sin problemas críticos de calidad
|
|
253
|
+
- [ ] Rendimiento dentro de los requisitos
|
|
254
|
+
- [ ] Deuda técnica documentada y aprobada
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
## 🎯 Metas de Calidad
|
|
258
|
+
|
|
259
|
+
Si el proyecto tiene metas definidas en las metaspecs, valide:
|
|
260
|
+
|
|
261
|
+
```markdown
|
|
262
|
+
## Validación contra Metas
|
|
263
|
+
|
|
264
|
+
### Metas del Proyecto
|
|
265
|
+
- **Cobertura mínima**: 80%
|
|
266
|
+
- **Complejidad máxima**: 10
|
|
267
|
+
- **Rendimiento**: < 100ms
|
|
268
|
+
|
|
269
|
+
### Estado
|
|
270
|
+
- Cobertura: ✅ 85% (meta: 80%)
|
|
271
|
+
- Complejidad: ⚠️ 12 (meta: 10) - Justificado
|
|
272
|
+
- Rendimiento: ✅ 85ms (meta: 100ms)
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
## 🚨 Alertas
|
|
276
|
+
|
|
277
|
+
Si alguna métrica está fuera de lo aceptable:
|
|
278
|
+
1. 🛑 **DOCUMENTE** el problema
|
|
279
|
+
2. 💬 **ALERTE** al usuario
|
|
280
|
+
3. 🔧 **PROPONGA** acciones correctivas
|
|
281
|
+
4. ⏸️ **CONSIDERE** bloquear el merge hasta resolución
|
|
282
|
+
|
|
283
|
+
---
|
|
284
|
+
|
|
285
|
+
**Argumentos proporcionados**:
|
|
286
|
+
|
|
287
|
+
```
|
|
288
|
+
#$ARGUMENTS
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## 🎯 Resultado
|
|
294
|
+
|
|
295
|
+
Después de ejecutar este comando, tendrás:
|
|
296
|
+
- Informe completo de métricas
|
|
297
|
+
- Comparación con baseline y metas
|
|
298
|
+
- Identificación de problemas de calidad
|
|
299
|
+
- Recomendaciones de acciones
|
|
300
|
+
- Base objetiva para aprobación de merge
|