@corbat-tech/coding-standards-mcp 1.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/LICENSE +21 -0
- package/README.md +371 -0
- package/assets/demo.gif +0 -0
- package/dist/agent.d.ts +53 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +629 -0
- package/dist/agent.js.map +1 -0
- package/dist/cli/init.d.ts +3 -0
- package/dist/cli/init.d.ts.map +1 -0
- package/dist/cli/init.js +651 -0
- package/dist/cli/init.js.map +1 -0
- package/dist/config.d.ts +73 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +105 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/profiles.d.ts +39 -0
- package/dist/profiles.d.ts.map +1 -0
- package/dist/profiles.js +526 -0
- package/dist/profiles.js.map +1 -0
- package/dist/prompts-legacy.d.ts +25 -0
- package/dist/prompts-legacy.d.ts.map +1 -0
- package/dist/prompts-legacy.js +600 -0
- package/dist/prompts-legacy.js.map +1 -0
- package/dist/prompts-v2.d.ts +30 -0
- package/dist/prompts-v2.d.ts.map +1 -0
- package/dist/prompts-v2.js +310 -0
- package/dist/prompts-v2.js.map +1 -0
- package/dist/prompts.d.ts +30 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +310 -0
- package/dist/prompts.js.map +1 -0
- package/dist/resources.d.ts +18 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +95 -0
- package/dist/resources.js.map +1 -0
- package/dist/tools-legacy.d.ts +196 -0
- package/dist/tools-legacy.d.ts.map +1 -0
- package/dist/tools-legacy.js +1230 -0
- package/dist/tools-legacy.js.map +1 -0
- package/dist/tools-v2.d.ts +92 -0
- package/dist/tools-v2.d.ts.map +1 -0
- package/dist/tools-v2.js +410 -0
- package/dist/tools-v2.js.map +1 -0
- package/dist/tools.d.ts +92 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +410 -0
- package/dist/tools.js.map +1 -0
- package/dist/types.d.ts +3054 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +515 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/retry.d.ts +44 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +74 -0
- package/dist/utils/retry.js.map +1 -0
- package/package.json +79 -0
- package/profiles/README.md +199 -0
- package/profiles/custom/.gitkeep +2 -0
- package/profiles/templates/_template.yaml +159 -0
- package/profiles/templates/angular.yaml +494 -0
- package/profiles/templates/java-spring-backend.yaml +512 -0
- package/profiles/templates/minimal.yaml +102 -0
- package/profiles/templates/nodejs.yaml +338 -0
- package/profiles/templates/python.yaml +340 -0
- package/profiles/templates/react.yaml +331 -0
- package/profiles/templates/vue.yaml +598 -0
- package/standards/architecture/ddd.md +173 -0
- package/standards/architecture/hexagonal.md +97 -0
- package/standards/cicd/github-actions.md +567 -0
- package/standards/clean-code/naming.md +175 -0
- package/standards/clean-code/principles.md +179 -0
- package/standards/containerization/dockerfile.md +419 -0
- package/standards/database/selection-guide.md +443 -0
- package/standards/documentation/guidelines.md +189 -0
- package/standards/event-driven/domain-events.md +527 -0
- package/standards/kubernetes/deployment.md +518 -0
- package/standards/observability/guidelines.md +665 -0
- package/standards/project-setup/initialization-checklist.md +650 -0
- package/standards/spring-boot/best-practices.md +598 -0
- package/standards/testing/guidelines.md +559 -0
- package/standards/workflow/llm-development-workflow.md +542 -0
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
# LLM Development Workflow
|
|
2
|
+
|
|
3
|
+
Esta guía define el proceso estructurado que el LLM debe seguir cuando un developer solicita implementar una feature, fix, o cualquier tarea de desarrollo.
|
|
4
|
+
|
|
5
|
+
## Principios Fundamentales
|
|
6
|
+
|
|
7
|
+
1. **Iterativo con feedback loop** - Generar → Ejecutar → Evaluar → Refinar
|
|
8
|
+
2. **Test-Driven Development** - Tests primero, implementación después
|
|
9
|
+
3. **Clarificación antes de acción** - Nunca asumir, siempre preguntar
|
|
10
|
+
4. **Revisión experta** - Adoptar roles específicos para revisar el trabajo
|
|
11
|
+
5. **Refinamiento iterativo** - Hasta 3 ciclos de mejora
|
|
12
|
+
6. **Documentación obligatoria** - Todo cambio debe documentarse con 3 ciclos de auto-revisión
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Fase 1: CLARIFICACIÓN (Ask)
|
|
17
|
+
|
|
18
|
+
**Objetivo:** Entender completamente lo que el developer necesita antes de escribir una línea de código.
|
|
19
|
+
|
|
20
|
+
### Acciones obligatorias:
|
|
21
|
+
|
|
22
|
+
1. **Analizar la solicitud** buscando:
|
|
23
|
+
- Requisitos funcionales explícitos
|
|
24
|
+
- Requisitos implícitos o asumidos
|
|
25
|
+
- Ambigüedades o contradicciones
|
|
26
|
+
- Contexto técnico necesario
|
|
27
|
+
|
|
28
|
+
2. **Preguntar si detectas:**
|
|
29
|
+
- Falta de contexto funcional
|
|
30
|
+
- Requisitos contradictorios
|
|
31
|
+
- Múltiples interpretaciones posibles
|
|
32
|
+
- Dependencias no especificadas
|
|
33
|
+
- Criterios de aceptación no claros
|
|
34
|
+
|
|
35
|
+
3. **Confirmar entendimiento:**
|
|
36
|
+
- Reformular la solicitud en tus propias palabras
|
|
37
|
+
- Listar los requisitos como los entiendes
|
|
38
|
+
- Pedir confirmación antes de continuar
|
|
39
|
+
|
|
40
|
+
### Prompt interno sugerido:
|
|
41
|
+
```
|
|
42
|
+
Antes de proceder, debo verificar:
|
|
43
|
+
- ¿Entiendo EXACTAMENTE qué resultado espera el developer?
|
|
44
|
+
- ¿Hay alguna ambigüedad que deba aclarar?
|
|
45
|
+
- ¿Tengo todo el contexto técnico necesario?
|
|
46
|
+
- ¿Conozco los criterios de aceptación?
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
## Fase 2: PLANIFICACIÓN (Plan)
|
|
52
|
+
|
|
53
|
+
**Objetivo:** Crear un plan de implementación detallado y esquemático.
|
|
54
|
+
|
|
55
|
+
### Acciones obligatorias:
|
|
56
|
+
|
|
57
|
+
1. **Listar requisitos y constraints:**
|
|
58
|
+
- Requisitos funcionales
|
|
59
|
+
- Requisitos no funcionales (performance, seguridad, etc.)
|
|
60
|
+
- Limitaciones técnicas del stack
|
|
61
|
+
- Patrones existentes en el codebase
|
|
62
|
+
|
|
63
|
+
2. **Evaluar alternativas** (mínimo 2-3 opciones cuando aplique):
|
|
64
|
+
- Describir cada alternativa
|
|
65
|
+
- Listar pros y contras
|
|
66
|
+
- Recomendar la mejor opción con justificación
|
|
67
|
+
|
|
68
|
+
3. **Crear lista de tareas esquemática:**
|
|
69
|
+
```
|
|
70
|
+
[ ] 1. Tarea A - Descripción breve
|
|
71
|
+
[ ] 1.1 Subtarea - Tests unitarios
|
|
72
|
+
[ ] 1.2 Subtarea - Implementación
|
|
73
|
+
[ ] 2. Tarea B - Descripción breve
|
|
74
|
+
...
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
4. **Definir criterios de aceptación:**
|
|
78
|
+
- Qué tests deben pasar
|
|
79
|
+
- Qué comportamiento se espera
|
|
80
|
+
- Cómo verificar que está completo
|
|
81
|
+
|
|
82
|
+
### Prompt interno sugerido:
|
|
83
|
+
```
|
|
84
|
+
Mi plan de implementación debe incluir:
|
|
85
|
+
- Lista clara de tareas ordenadas por dependencia
|
|
86
|
+
- Tests que escribiré ANTES de cada implementación
|
|
87
|
+
- Criterios de éxito medibles
|
|
88
|
+
- Puntos de verificación intermedios
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Fase 3: IMPLEMENTACIÓN (Build)
|
|
94
|
+
|
|
95
|
+
**Objetivo:** Implementar cada tarea siguiendo TDD estricto.
|
|
96
|
+
|
|
97
|
+
### Flujo TDD obligatorio para cada tarea:
|
|
98
|
+
|
|
99
|
+
```
|
|
100
|
+
┌─────────────────────────────────────────────────┐
|
|
101
|
+
│ 1. RED: Escribir test que falla │
|
|
102
|
+
│ - Test describe comportamiento esperado │
|
|
103
|
+
│ - Ejecutar test, confirmar que falla │
|
|
104
|
+
├─────────────────────────────────────────────────┤
|
|
105
|
+
│ 2. GREEN: Implementar mínimo para pasar test │
|
|
106
|
+
│ - Solo el código necesario │
|
|
107
|
+
│ - Sin optimizaciones prematuras │
|
|
108
|
+
│ - Ejecutar test, confirmar que pasa │
|
|
109
|
+
├─────────────────────────────────────────────────┤
|
|
110
|
+
│ 3. REFACTOR: Mejorar sin cambiar comportamiento│
|
|
111
|
+
│ - Limpiar código │
|
|
112
|
+
│ - Aplicar patrones del proyecto │
|
|
113
|
+
│ - Tests siguen pasando │
|
|
114
|
+
└─────────────────────────────────────────────────┘
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
### Tipos de tests según contexto:
|
|
118
|
+
|
|
119
|
+
| Tipo | Cuándo usar | Cobertura objetivo |
|
|
120
|
+
|------|-------------|-------------------|
|
|
121
|
+
| **Unit tests** | Lógica de negocio, utilidades, transformaciones | 80%+ |
|
|
122
|
+
| **Integration tests** | Interacción entre componentes, APIs, DB | Flujos críticos |
|
|
123
|
+
| **E2E tests** | Flujos de usuario completos | Happy paths |
|
|
124
|
+
| **Architecture tests** | Validar dependencias entre capas | Siempre |
|
|
125
|
+
|
|
126
|
+
### Acciones obligatorias por cada tarea:
|
|
127
|
+
|
|
128
|
+
1. Escribir tests primero
|
|
129
|
+
2. Confirmar que tests fallan
|
|
130
|
+
3. Implementar funcionalidad
|
|
131
|
+
4. Confirmar que tests pasan
|
|
132
|
+
5. Refactorizar si es necesario
|
|
133
|
+
6. Marcar tarea como completada
|
|
134
|
+
7. Pasar a la siguiente tarea
|
|
135
|
+
|
|
136
|
+
### Prompt interno sugerido:
|
|
137
|
+
```
|
|
138
|
+
Para cada tarea debo:
|
|
139
|
+
1. ¿Qué test escribo primero?
|
|
140
|
+
2. ¿El test describe el comportamiento esperado?
|
|
141
|
+
3. ¿El test falla como se espera?
|
|
142
|
+
4. ¿Cuál es el código MÍNIMO para pasar el test?
|
|
143
|
+
5. ¿Hay algo que refactorizar?
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
---
|
|
147
|
+
|
|
148
|
+
## Fase 4: VERIFICACIÓN (Verify)
|
|
149
|
+
|
|
150
|
+
**Objetivo:** Asegurar que todo funciona correctamente.
|
|
151
|
+
|
|
152
|
+
### Checklist de verificación:
|
|
153
|
+
|
|
154
|
+
```
|
|
155
|
+
[ ] Compilación exitosa (sin errores ni warnings críticos)
|
|
156
|
+
[ ] Todos los tests pasan
|
|
157
|
+
[ ] Linter sin errores
|
|
158
|
+
[ ] La aplicación se levanta correctamente
|
|
159
|
+
[ ] Los flujos principales funcionan
|
|
160
|
+
[ ] No hay regresiones en funcionalidad existente
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### Comandos típicos de verificación:
|
|
164
|
+
|
|
165
|
+
```bash
|
|
166
|
+
# Build
|
|
167
|
+
npm run build / mvn compile / ./gradlew build
|
|
168
|
+
|
|
169
|
+
# Tests
|
|
170
|
+
npm test / mvn test / ./gradlew test
|
|
171
|
+
|
|
172
|
+
# Lint
|
|
173
|
+
npm run lint / mvn checkstyle:check
|
|
174
|
+
|
|
175
|
+
# Start
|
|
176
|
+
npm start / mvn spring-boot:run
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
### Si algo falla:
|
|
180
|
+
|
|
181
|
+
1. Identificar el error específico
|
|
182
|
+
2. Analizar la causa raíz
|
|
183
|
+
3. Corregir el problema
|
|
184
|
+
4. Volver a ejecutar verificación completa
|
|
185
|
+
5. No avanzar hasta que todo esté verde
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## Fase 5: REVISIÓN EXPERTA (Review)
|
|
190
|
+
|
|
191
|
+
**Objetivo:** Revisar el trabajo adoptando el rol de un experto específico.
|
|
192
|
+
|
|
193
|
+
### Proceso de revisión:
|
|
194
|
+
|
|
195
|
+
1. **Limpiar contexto mental** - Olvidar el proceso de implementación
|
|
196
|
+
2. **Adoptar rol de experto** según el tipo de trabajo:
|
|
197
|
+
|
|
198
|
+
| Tipo de trabajo | Rol a adoptar |
|
|
199
|
+
|-----------------|---------------|
|
|
200
|
+
| Arquitectura, estructura | Arquitecto de Software Senior |
|
|
201
|
+
| API, servicios backend | Desarrollador Backend Senior |
|
|
202
|
+
| UI, componentes frontend | Desarrollador Frontend Senior |
|
|
203
|
+
| Base de datos, queries | DBA / Data Engineer |
|
|
204
|
+
| Seguridad | Security Engineer |
|
|
205
|
+
| Performance | Performance Engineer |
|
|
206
|
+
| DevOps, CI/CD | DevOps Engineer |
|
|
207
|
+
|
|
208
|
+
3. **Revisar con ojos frescos:**
|
|
209
|
+
|
|
210
|
+
### Prompt de revisión (usar literalmente):
|
|
211
|
+
|
|
212
|
+
```
|
|
213
|
+
Adopto el rol de [ROL ESPECÍFICO] con 15+ años de experiencia.
|
|
214
|
+
|
|
215
|
+
Voy a revisar este código/implementación desde cero, sin conocer
|
|
216
|
+
el proceso de implementación. Mi objetivo es encontrar:
|
|
217
|
+
|
|
218
|
+
1. CRÍTICOS (deben corregirse):
|
|
219
|
+
- Bugs potenciales
|
|
220
|
+
- Vulnerabilidades de seguridad
|
|
221
|
+
- Violaciones de arquitectura
|
|
222
|
+
- Problemas de performance graves
|
|
223
|
+
- Code smells severos
|
|
224
|
+
|
|
225
|
+
2. RECOMENDADOS (deberían corregirse):
|
|
226
|
+
- Mejoras de legibilidad
|
|
227
|
+
- Optimizaciones menores
|
|
228
|
+
- Mejores prácticas no aplicadas
|
|
229
|
+
- Documentación faltante
|
|
230
|
+
- Tests adicionales recomendados
|
|
231
|
+
|
|
232
|
+
3. SUGERENCIAS (nice to have):
|
|
233
|
+
- Refactorizaciones opcionales
|
|
234
|
+
- Patrones alternativos
|
|
235
|
+
- Mejoras futuras
|
|
236
|
+
|
|
237
|
+
Revisaré: [listar archivos/componentes a revisar]
|
|
238
|
+
```
|
|
239
|
+
|
|
240
|
+
### Checklist de revisión por rol:
|
|
241
|
+
|
|
242
|
+
**Como Arquitecto:**
|
|
243
|
+
- [ ] ¿Se respetan las capas de la arquitectura?
|
|
244
|
+
- [ ] ¿Las dependencias van en la dirección correcta?
|
|
245
|
+
- [ ] ¿Se aplican los patrones del proyecto (DDD, CQRS, etc.)?
|
|
246
|
+
- [ ] ¿El diseño es extensible y mantenible?
|
|
247
|
+
|
|
248
|
+
**Como Backend Developer:**
|
|
249
|
+
- [ ] ¿El código es limpio y legible?
|
|
250
|
+
- [ ] ¿Se manejan correctamente los errores?
|
|
251
|
+
- [ ] ¿Hay validaciones adecuadas?
|
|
252
|
+
- [ ] ¿Los tests cubren los casos edge?
|
|
253
|
+
|
|
254
|
+
**Como Security Engineer:**
|
|
255
|
+
- [ ] ¿Hay validación de inputs?
|
|
256
|
+
- [ ] ¿Se evitan inyecciones (SQL, XSS, etc.)?
|
|
257
|
+
- [ ] ¿Los datos sensibles están protegidos?
|
|
258
|
+
- [ ] ¿Se aplica el principio de mínimo privilegio?
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
## Fase 6: REFINAMIENTO ITERATIVO (Refine)
|
|
263
|
+
|
|
264
|
+
**Objetivo:** Aplicar las mejoras identificadas en ciclos hasta alcanzar calidad óptima.
|
|
265
|
+
|
|
266
|
+
### Proceso de refinamiento:
|
|
267
|
+
|
|
268
|
+
```
|
|
269
|
+
┌─────────────────────────────────────────────────┐
|
|
270
|
+
│ CICLO 1: Correcciones críticas │
|
|
271
|
+
│ - Aplicar TODOS los issues críticos │
|
|
272
|
+
│ - Verificar que nada se rompe │
|
|
273
|
+
│ - Re-ejecutar tests │
|
|
274
|
+
├─────────────────────────────────────────────────┤
|
|
275
|
+
│ CICLO 2: Mejoras recomendadas │
|
|
276
|
+
│ - Aplicar issues recomendados │
|
|
277
|
+
│ - Nueva revisión rápida │
|
|
278
|
+
│ - Verificar calidad │
|
|
279
|
+
├─────────────────────────────────────────────────┤
|
|
280
|
+
│ CICLO 3: Pulido final │
|
|
281
|
+
│ - Aplicar sugerencias valiosas │
|
|
282
|
+
│ - Revisión final de coherencia │
|
|
283
|
+
│ - Documentación si aplica │
|
|
284
|
+
└─────────────────────────────────────────────────┘
|
|
285
|
+
```
|
|
286
|
+
|
|
287
|
+
### Reglas de refinamiento:
|
|
288
|
+
|
|
289
|
+
1. **Máximo 3 ciclos** - Si después de 3 ciclos hay issues críticos, consultar al developer
|
|
290
|
+
2. **No over-engineer** - Solo aplicar mejoras que aporten valor real
|
|
291
|
+
3. **Mantener scope** - No añadir funcionalidad no solicitada
|
|
292
|
+
4. **Documentar decisiones** - Explicar por qué se hicieron ciertos cambios
|
|
293
|
+
|
|
294
|
+
### Criterios de finalización:
|
|
295
|
+
|
|
296
|
+
```
|
|
297
|
+
[ ] Todos los issues CRÍTICOS resueltos
|
|
298
|
+
[ ] Mayoría de issues RECOMENDADOS resueltos (80%+)
|
|
299
|
+
[ ] Tests pasan al 100%
|
|
300
|
+
[ ] Código compila sin warnings
|
|
301
|
+
[ ] Aplicación funciona correctamente
|
|
302
|
+
[ ] El developer puede entender el código sin explicación
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
---
|
|
306
|
+
|
|
307
|
+
## Fase 7: DOCUMENTACIÓN (Document)
|
|
308
|
+
|
|
309
|
+
**Objetivo:** Documentar todo lo implementado de forma profesional, concisa y completa.
|
|
310
|
+
|
|
311
|
+
### Principios de documentación:
|
|
312
|
+
|
|
313
|
+
| Hacer | No hacer |
|
|
314
|
+
|-------|----------|
|
|
315
|
+
| Conciso y al grano | Muros de texto |
|
|
316
|
+
| Profesional y completo | Redundancias innecesarias |
|
|
317
|
+
| Solo lo importante | Copiar código entero |
|
|
318
|
+
| Actualizar docs existentes | Crear docs duplicados |
|
|
319
|
+
| Seguir estilo del proyecto | Inventar estilos nuevos |
|
|
320
|
+
|
|
321
|
+
### Qué documentar:
|
|
322
|
+
|
|
323
|
+
1. **README del proyecto** - Si hay cambios significativos
|
|
324
|
+
2. **Funciones/clases públicas** - JSDoc/docstring con ejemplo
|
|
325
|
+
3. **Configuraciones nuevas** - En tabla de opciones
|
|
326
|
+
4. **Endpoints API** - Método, path, params, response
|
|
327
|
+
5. **Decisiones de arquitectura** - Por qué se eligió X sobre Y
|
|
328
|
+
|
|
329
|
+
### Estilo de documentación (GitHub moderno):
|
|
330
|
+
|
|
331
|
+
```markdown
|
|
332
|
+
<div align="center">
|
|
333
|
+
|
|
334
|
+
# Título
|
|
335
|
+
|
|
336
|
+
### Subtítulo
|
|
337
|
+
|
|
338
|
+
*Tagline*
|
|
339
|
+
|
|
340
|
+
[](link)
|
|
341
|
+
|
|
342
|
+
[Link 1](#) · [Link 2](#) · [Link 3](#)
|
|
343
|
+
|
|
344
|
+
</div>
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
- **Usar tablas** para datos estructurados
|
|
348
|
+
- **Usar `<details>`** para contenido expandible
|
|
349
|
+
- **Usar diagramas** ASCII o Mermaid para arquitectura
|
|
350
|
+
- **Usar ejemplos** de código cortos y relevantes
|
|
351
|
+
|
|
352
|
+
### Ciclo de revisión de documentación (3 iteraciones):
|
|
353
|
+
|
|
354
|
+
```
|
|
355
|
+
┌─────────────────────────────────────────────────────────────┐
|
|
356
|
+
│ ITERACIÓN 1: Borrador inicial │
|
|
357
|
+
│ - Escribir documentación │
|
|
358
|
+
│ - Auto-revisar completitud │
|
|
359
|
+
│ - Dar nota (1-10) con justificación │
|
|
360
|
+
│ - Identificar áreas de mejora │
|
|
361
|
+
├─────────────────────────────────────────────────────────────┤
|
|
362
|
+
│ ITERACIÓN 2: Refinamiento │
|
|
363
|
+
│ - Corregir issues identificados │
|
|
364
|
+
│ - Verificar claridad y concisión │
|
|
365
|
+
│ - Eliminar redundancias │
|
|
366
|
+
│ - Nueva nota y comparar con anterior │
|
|
367
|
+
├─────────────────────────────────────────────────────────────┤
|
|
368
|
+
│ ITERACIÓN 3: Pulido final │
|
|
369
|
+
│ - Revisar gramática y formato │
|
|
370
|
+
│ - Verificar links funcionan │
|
|
371
|
+
│ - Asegurar consistencia con estilo proyecto │
|
|
372
|
+
│ - Nota final (debe ser 8+) │
|
|
373
|
+
└─────────────────────────────────────────────────────────────┘
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### Criterios de puntuación:
|
|
377
|
+
|
|
378
|
+
| Nota | Significado | Acción |
|
|
379
|
+
|------|-------------|--------|
|
|
380
|
+
| 9-10 | Excelente | Listo para merge |
|
|
381
|
+
| 7-8 | Bueno | Mejoras menores |
|
|
382
|
+
| 5-6 | Aceptable | Revisión significativa |
|
|
383
|
+
| 1-4 | Pobre | Reescribir |
|
|
384
|
+
|
|
385
|
+
### Checklist de documentación:
|
|
386
|
+
|
|
387
|
+
```
|
|
388
|
+
[ ] ¿Está completa? ¿Todo lo nuevo está documentado?
|
|
389
|
+
[ ] ¿Es concisa? ¿Sin palabras o código innecesario?
|
|
390
|
+
[ ] ¿Es clara? ¿Un developer nuevo entendería?
|
|
391
|
+
[ ] ¿Es correcta? ¿Coincide con la implementación?
|
|
392
|
+
[ ] ¿Es consistente? ¿Sigue el estilo del proyecto?
|
|
393
|
+
[ ] ¿Está actualizada? ¿Sin información obsoleta?
|
|
394
|
+
```
|
|
395
|
+
|
|
396
|
+
### Prompt de auto-revisión (usar literalmente):
|
|
397
|
+
|
|
398
|
+
```
|
|
399
|
+
Voy a revisar la documentación que acabo de escribir.
|
|
400
|
+
|
|
401
|
+
REVISIÓN ITERACIÓN [N]:
|
|
402
|
+
|
|
403
|
+
1. COMPLETITUD (1-10): ___
|
|
404
|
+
- ¿Falta algo por documentar?
|
|
405
|
+
|
|
406
|
+
2. CLARIDAD (1-10): ___
|
|
407
|
+
- ¿Se entiende sin contexto previo?
|
|
408
|
+
|
|
409
|
+
3. CONCISIÓN (1-10): ___
|
|
410
|
+
- ¿Hay redundancias o texto innecesario?
|
|
411
|
+
|
|
412
|
+
4. PROFESIONALISMO (1-10): ___
|
|
413
|
+
- ¿Sigue el estilo del proyecto?
|
|
414
|
+
|
|
415
|
+
NOTA GLOBAL: ___ / 10
|
|
416
|
+
|
|
417
|
+
ÁREAS A MEJORAR:
|
|
418
|
+
- [Lista de mejoras específicas]
|
|
419
|
+
|
|
420
|
+
PRÓXIMOS PASOS:
|
|
421
|
+
- [Qué haré en la siguiente iteración]
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
---
|
|
425
|
+
|
|
426
|
+
## Resumen del Flujo Completo
|
|
427
|
+
|
|
428
|
+
```
|
|
429
|
+
┌──────────────────────────────────────────────────────────────┐
|
|
430
|
+
│ │
|
|
431
|
+
│ Developer solicita feature/fix │
|
|
432
|
+
│ │ │
|
|
433
|
+
│ ▼ │
|
|
434
|
+
│ ┌─────────────────────────────────┐ │
|
|
435
|
+
│ │ FASE 1: CLARIFICACIÓN │◄─── ¿Dudas? Preguntar │
|
|
436
|
+
│ │ - Analizar solicitud │ │
|
|
437
|
+
│ │ - Identificar ambigüedades │ │
|
|
438
|
+
│ │ - Confirmar entendimiento │ │
|
|
439
|
+
│ └─────────────────────────────────┘ │
|
|
440
|
+
│ │ │
|
|
441
|
+
│ ▼ │
|
|
442
|
+
│ ┌─────────────────────────────────┐ │
|
|
443
|
+
│ │ FASE 2: PLANIFICACIÓN │ │
|
|
444
|
+
│ │ - Listar requisitos │ │
|
|
445
|
+
│ │ - Evaluar alternativas │ │
|
|
446
|
+
│ │ - Crear lista de tareas │ │
|
|
447
|
+
│ └─────────────────────────────────┘ │
|
|
448
|
+
│ │ │
|
|
449
|
+
│ ▼ │
|
|
450
|
+
│ ┌─────────────────────────────────┐ │
|
|
451
|
+
│ │ FASE 3: IMPLEMENTACIÓN (TDD) │◄─── Por cada tarea: │
|
|
452
|
+
│ │ - RED: Test que falla │ Test → Impl → Test │
|
|
453
|
+
│ │ - GREEN: Implementar │ │
|
|
454
|
+
│ │ - REFACTOR: Limpiar │ │
|
|
455
|
+
│ └─────────────────────────────────┘ │
|
|
456
|
+
│ │ │
|
|
457
|
+
│ ▼ │
|
|
458
|
+
│ ┌─────────────────────────────────┐ │
|
|
459
|
+
│ │ FASE 4: VERIFICACIÓN │◄─── ¿Falla? Corregir │
|
|
460
|
+
│ │ - Compilar │ │
|
|
461
|
+
│ │ - Tests │ │
|
|
462
|
+
│ │ - Levantar aplicación │ │
|
|
463
|
+
│ └─────────────────────────────────┘ │
|
|
464
|
+
│ │ │
|
|
465
|
+
│ ▼ │
|
|
466
|
+
│ ┌─────────────────────────────────┐ │
|
|
467
|
+
│ │ FASE 5: REVISIÓN EXPERTA │ │
|
|
468
|
+
│ │ - Adoptar rol de experto │ │
|
|
469
|
+
│ │ - Revisar desde cero │ │
|
|
470
|
+
│ │ - Identificar mejoras │ │
|
|
471
|
+
│ └─────────────────────────────────┘ │
|
|
472
|
+
│ │ │
|
|
473
|
+
│ ▼ │
|
|
474
|
+
│ ┌─────────────────────────────────┐ │
|
|
475
|
+
│ │ FASE 6: REFINAMIENTO │◄─── Hasta 3 ciclos │
|
|
476
|
+
│ │ - Aplicar críticos │ │
|
|
477
|
+
│ │ - Aplicar recomendados │ │
|
|
478
|
+
│ │ - Pulido final │ │
|
|
479
|
+
│ └─────────────────────────────────┘ │
|
|
480
|
+
│ │ │
|
|
481
|
+
│ ▼ │
|
|
482
|
+
│ ┌─────────────────────────────────┐ │
|
|
483
|
+
│ │ FASE 7: DOCUMENTACIÓN │◄─── 3 iteraciones │
|
|
484
|
+
│ │ - Documentar cambios │ con auto-nota │
|
|
485
|
+
│ │ - Revisar y puntuar │ │
|
|
486
|
+
│ │ - Refinar hasta nota 8+ │ │
|
|
487
|
+
│ └─────────────────────────────────┘ │
|
|
488
|
+
│ │ │
|
|
489
|
+
│ ▼ │
|
|
490
|
+
│ ✅ Entrega al developer │
|
|
491
|
+
│ │
|
|
492
|
+
└──────────────────────────────────────────────────────────────┘
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
---
|
|
496
|
+
|
|
497
|
+
## Ejemplo de Aplicación
|
|
498
|
+
|
|
499
|
+
### Solicitud del developer:
|
|
500
|
+
> "Añade un endpoint para crear usuarios con validación de email"
|
|
501
|
+
|
|
502
|
+
### Fase 1 - Clarificación:
|
|
503
|
+
```
|
|
504
|
+
Antes de implementar, necesito aclarar:
|
|
505
|
+
1. ¿Qué campos debe tener el usuario además del email?
|
|
506
|
+
2. ¿Qué validaciones adicionales se requieren?
|
|
507
|
+
3. ¿Debe enviarse email de confirmación?
|
|
508
|
+
4. ¿Qué respuesta debe devolver el endpoint?
|
|
509
|
+
5. ¿Hay requisitos de seguridad específicos?
|
|
510
|
+
```
|
|
511
|
+
|
|
512
|
+
### Fase 2 - Planificación:
|
|
513
|
+
```
|
|
514
|
+
Tareas a implementar:
|
|
515
|
+
[ ] 1. Crear DTO CreateUserRequest con validaciones
|
|
516
|
+
[ ] 1.1 Tests de validación
|
|
517
|
+
[ ] 1.2 Implementación DTO
|
|
518
|
+
[ ] 2. Crear entidad User en dominio
|
|
519
|
+
[ ] 2.1 Tests de User
|
|
520
|
+
[ ] 2.2 Implementación entidad
|
|
521
|
+
[ ] 3. Crear UserRepository
|
|
522
|
+
[ ] 3.1 Tests de repository
|
|
523
|
+
[ ] 3.2 Implementación
|
|
524
|
+
[ ] 4. Crear CreateUserUseCase
|
|
525
|
+
[ ] 4.1 Tests del caso de uso
|
|
526
|
+
[ ] 4.2 Implementación
|
|
527
|
+
[ ] 5. Crear endpoint POST /users
|
|
528
|
+
[ ] 5.1 Tests de integración
|
|
529
|
+
[ ] 5.2 Implementación controller
|
|
530
|
+
```
|
|
531
|
+
|
|
532
|
+
### Fase 3-6: [Continuar con el flujo...]
|
|
533
|
+
|
|
534
|
+
---
|
|
535
|
+
|
|
536
|
+
## Referencias
|
|
537
|
+
|
|
538
|
+
Este workflow está basado en:
|
|
539
|
+
- Test-Driven Development (Kent Beck)
|
|
540
|
+
- Agentic Coding patterns (Anthropic)
|
|
541
|
+
- Clean Architecture (Robert C. Martin)
|
|
542
|
+
- Prompt Engineering best practices (2025)
|