@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.
Files changed (89) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +371 -0
  3. package/assets/demo.gif +0 -0
  4. package/dist/agent.d.ts +53 -0
  5. package/dist/agent.d.ts.map +1 -0
  6. package/dist/agent.js +629 -0
  7. package/dist/agent.js.map +1 -0
  8. package/dist/cli/init.d.ts +3 -0
  9. package/dist/cli/init.d.ts.map +1 -0
  10. package/dist/cli/init.js +651 -0
  11. package/dist/cli/init.js.map +1 -0
  12. package/dist/config.d.ts +73 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +105 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/index.d.ts +3 -0
  17. package/dist/index.d.ts.map +1 -0
  18. package/dist/index.js +73 -0
  19. package/dist/index.js.map +1 -0
  20. package/dist/profiles.d.ts +39 -0
  21. package/dist/profiles.d.ts.map +1 -0
  22. package/dist/profiles.js +526 -0
  23. package/dist/profiles.js.map +1 -0
  24. package/dist/prompts-legacy.d.ts +25 -0
  25. package/dist/prompts-legacy.d.ts.map +1 -0
  26. package/dist/prompts-legacy.js +600 -0
  27. package/dist/prompts-legacy.js.map +1 -0
  28. package/dist/prompts-v2.d.ts +30 -0
  29. package/dist/prompts-v2.d.ts.map +1 -0
  30. package/dist/prompts-v2.js +310 -0
  31. package/dist/prompts-v2.js.map +1 -0
  32. package/dist/prompts.d.ts +30 -0
  33. package/dist/prompts.d.ts.map +1 -0
  34. package/dist/prompts.js +310 -0
  35. package/dist/prompts.js.map +1 -0
  36. package/dist/resources.d.ts +18 -0
  37. package/dist/resources.d.ts.map +1 -0
  38. package/dist/resources.js +95 -0
  39. package/dist/resources.js.map +1 -0
  40. package/dist/tools-legacy.d.ts +196 -0
  41. package/dist/tools-legacy.d.ts.map +1 -0
  42. package/dist/tools-legacy.js +1230 -0
  43. package/dist/tools-legacy.js.map +1 -0
  44. package/dist/tools-v2.d.ts +92 -0
  45. package/dist/tools-v2.d.ts.map +1 -0
  46. package/dist/tools-v2.js +410 -0
  47. package/dist/tools-v2.js.map +1 -0
  48. package/dist/tools.d.ts +92 -0
  49. package/dist/tools.d.ts.map +1 -0
  50. package/dist/tools.js +410 -0
  51. package/dist/tools.js.map +1 -0
  52. package/dist/types.d.ts +3054 -0
  53. package/dist/types.d.ts.map +1 -0
  54. package/dist/types.js +515 -0
  55. package/dist/types.js.map +1 -0
  56. package/dist/utils/index.d.ts +6 -0
  57. package/dist/utils/index.d.ts.map +1 -0
  58. package/dist/utils/index.js +5 -0
  59. package/dist/utils/index.js.map +1 -0
  60. package/dist/utils/retry.d.ts +44 -0
  61. package/dist/utils/retry.d.ts.map +1 -0
  62. package/dist/utils/retry.js +74 -0
  63. package/dist/utils/retry.js.map +1 -0
  64. package/package.json +79 -0
  65. package/profiles/README.md +199 -0
  66. package/profiles/custom/.gitkeep +2 -0
  67. package/profiles/templates/_template.yaml +159 -0
  68. package/profiles/templates/angular.yaml +494 -0
  69. package/profiles/templates/java-spring-backend.yaml +512 -0
  70. package/profiles/templates/minimal.yaml +102 -0
  71. package/profiles/templates/nodejs.yaml +338 -0
  72. package/profiles/templates/python.yaml +340 -0
  73. package/profiles/templates/react.yaml +331 -0
  74. package/profiles/templates/vue.yaml +598 -0
  75. package/standards/architecture/ddd.md +173 -0
  76. package/standards/architecture/hexagonal.md +97 -0
  77. package/standards/cicd/github-actions.md +567 -0
  78. package/standards/clean-code/naming.md +175 -0
  79. package/standards/clean-code/principles.md +179 -0
  80. package/standards/containerization/dockerfile.md +419 -0
  81. package/standards/database/selection-guide.md +443 -0
  82. package/standards/documentation/guidelines.md +189 -0
  83. package/standards/event-driven/domain-events.md +527 -0
  84. package/standards/kubernetes/deployment.md +518 -0
  85. package/standards/observability/guidelines.md +665 -0
  86. package/standards/project-setup/initialization-checklist.md +650 -0
  87. package/standards/spring-boot/best-practices.md +598 -0
  88. package/standards/testing/guidelines.md +559 -0
  89. 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
+ [![Badges](url)](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)