specleap-framework 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.
Files changed (47) hide show
  1. package/.agents/backend.md +419 -0
  2. package/.agents/frontend.md +577 -0
  3. package/.agents/producto.md +516 -0
  4. package/.commands/adoptar.md +323 -0
  5. package/.commands/ayuda.md +142 -0
  6. package/.commands/crear-tickets.md +55 -0
  7. package/.commands/documentar.md +285 -0
  8. package/.commands/explicar.md +234 -0
  9. package/.commands/implementar.md +383 -0
  10. package/.commands/inicio.md +824 -0
  11. package/.commands/nuevo/README.md +292 -0
  12. package/.commands/nuevo/questions-base.yaml +320 -0
  13. package/.commands/nuevo/responses-example.yaml +53 -0
  14. package/.commands/planificar.md +253 -0
  15. package/.commands/refinar.md +306 -0
  16. package/LICENSE +21 -0
  17. package/README.md +603 -0
  18. package/SETUP.md +351 -0
  19. package/install.sh +152 -0
  20. package/package.json +60 -0
  21. package/proyectos/_template/.gitkeep +1 -0
  22. package/proyectos/_template/ANEXOS.md +21 -0
  23. package/proyectos/_template/CONTRATO.md +26 -0
  24. package/proyectos/_template/context/.gitkeep +1 -0
  25. package/rules/development-rules.md +113 -0
  26. package/rules/environment-protection.md +97 -0
  27. package/rules/git-workflow.md +142 -0
  28. package/rules/session-protocol.md +121 -0
  29. package/scripts/README.md +129 -0
  30. package/scripts/analyze-project.sh +826 -0
  31. package/scripts/create-asana-tasks.sh +133 -0
  32. package/scripts/detect-project-type.sh +141 -0
  33. package/scripts/estimate-effort.sh +290 -0
  34. package/scripts/generate-asana-structure.sh +262 -0
  35. package/scripts/generate-contract.sh +360 -0
  36. package/scripts/generate-contrato.sh +555 -0
  37. package/scripts/install-git-hooks.sh +141 -0
  38. package/scripts/install-skills.sh +130 -0
  39. package/scripts/lib/asana-utils.sh +191 -0
  40. package/scripts/lib/jira-project-utils.sh +222 -0
  41. package/scripts/lib/questions.json +831 -0
  42. package/scripts/lib/render-contrato.py +195 -0
  43. package/scripts/lib/validate.sh +325 -0
  44. package/scripts/parse-contrato.sh +190 -0
  45. package/scripts/setup-mcp.sh +654 -0
  46. package/scripts/test-cuestionario.sh +428 -0
  47. package/setup.sh +458 -0
@@ -0,0 +1,824 @@
1
+ # Comando: inicio (Protocolo "Hola")
2
+
3
+ **Trigger:** Usuario escribe exactamente "Hola" (case-insensitive)
4
+
5
+ **Objetivo:** Iniciar sesión de trabajo cargando el contexto del proyecto y determinando qué tarea realizar.
6
+
7
+ ---
8
+
9
+ ## Flujo Completo
10
+
11
+ ### Paso 1: Listar Proyectos Disponibles
12
+
13
+ Ejecuta bash para listar proyectos:
14
+
15
+ ```bash
16
+ ls proyectos/
17
+ ```
18
+
19
+ **Output esperado:**
20
+ ```
21
+ _template
22
+ app-tienda
23
+ api-backend
24
+ dashboard-analytics
25
+ ...
26
+ ```
27
+
28
+ ### Paso 2: Saludar y Presentar Proyectos
29
+
30
+ ```markdown
31
+ ¡Hola! 👋 Bienvenido a SpecLeap.
32
+
33
+ **Proyectos disponibles:**
34
+
35
+ [Listar proyectos excluyendo _template]
36
+
37
+ **¿Quieres crear un proyecto nuevo, o trabajar con uno existente que aún no esté registrado?**
38
+ ```
39
+
40
+ ### Paso 3: Esperar Respuesta del Usuario
41
+
42
+ Usar `AskUserQuestion` (modal interactivo):
43
+
44
+ ```markdown
45
+ ## ¿Qué tipo de trabajo realizarás hoy?
46
+
47
+ ○ **Proyecto nuevo** — Crear proyecto desde cero
48
+ ○ **Proyecto existente** — Trabajar en un proyecto ya creado
49
+ ○ **Adoptar proyecto legacy** — Integrar proyecto existente en SpecLeap
50
+ ```
51
+
52
+ ---
53
+
54
+ ## Flujo A: Proyecto Nuevo (Cuestionario Interactivo)
55
+
56
+ ### Paso A1: Nombre del Proyecto
57
+
58
+ Usar `AskUserQuestion`:
59
+
60
+ ```markdown
61
+ ## Proyecto
62
+
63
+ ¿Cuál es el nombre del nuevo proyecto?
64
+
65
+ ○ **Nombre con guiones** (Recomendado)
66
+ Ejemplo: mi-proyecto-web, app-mobile, api-backend
67
+
68
+ ○ **Nombre simple**
69
+ Ejemplo: portfolio, dashboard, ecommerce
70
+
71
+ ○ **Other**
72
+ ```
73
+
74
+ Esperar respuesta (ej: "Nombre con guiones")
75
+
76
+ Luego preguntar:
77
+
78
+ ```markdown
79
+ ¿Cuál es el nombre exacto del proyecto?
80
+
81
+ Por ejemplo: `mi-proyecto-web`, `app-tienda`, `api-users`, `landing-corporativa`
82
+ ```
83
+
84
+ Esperar nombre (ej: "casa-de-peli")
85
+
86
+ **Validar nombre:**
87
+ - Solo minúsculas, números y guiones
88
+ - Mínimo 3 caracteres
89
+ - Máximo 50 caracteres
90
+ - Pattern: `^[a-z0-9-]+$`
91
+
92
+ Si es inválido:
93
+ ```markdown
94
+ ❌ **Error:** El nombre debe tener solo minúsculas, números y guiones.
95
+
96
+ Ejemplo válido: `casa-de-peli`, `mi-tienda-online`, `api-rest-v2`
97
+
98
+ Por favor, intenta de nuevo:
99
+ ```
100
+
101
+ Si es válido, continuar.
102
+
103
+ ---
104
+
105
+ ### Paso A2: Iniciar Cuestionario (58 preguntas)
106
+
107
+ ```markdown
108
+ Perfecto, vamos a crear el proyecto **casa-de-peli**.
109
+
110
+ Para generar el CONTRATO completo, necesito hacerte **58 preguntas** sobre el proyecto.
111
+
112
+ ⏱️ **Tiempo estimado:** 15-20 minutos
113
+ 💾 **Guardado automático:** Cada 10 preguntas
114
+ ♻️ **Puedes pausar y continuar después**
115
+
116
+ **¿Comenzamos?**
117
+ ```
118
+
119
+ Esperar confirmación (usuario responde: "Sí", "Adelante", "Ok", etc.)
120
+
121
+ ---
122
+
123
+ ### Paso A3: Preguntas (Leer desde questions.json)
124
+
125
+ **IMPORTANTE:** Leer `scripts/lib/questions.json` y procesar las preguntas en orden.
126
+
127
+ #### Estructura de cada pregunta:
128
+
129
+ ```json
130
+ {
131
+ "id": "project.type",
132
+ "number": 1,
133
+ "section": "Tipo de Proyecto",
134
+ "text": "¿Qué tipo de proyecto es?",
135
+ "type": "select",
136
+ "options": ["nuevo", "existente"],
137
+ "required": true,
138
+ "help": "nuevo = desde cero | existente = adoptar proyecto legacy",
139
+ "example": "nuevo"
140
+ }
141
+ ```
142
+
143
+ #### Renderizar pregunta:
144
+
145
+ ```markdown
146
+ ### Pregunta 1/58 — Tipo de Proyecto
147
+
148
+ **¿Qué tipo de proyecto es?**
149
+
150
+ ○ nuevo
151
+ ○ existente
152
+
153
+ 💡 **Ayuda:** nuevo = desde cero | existente = adoptar proyecto legacy
154
+ 📝 **Ejemplo:** nuevo
155
+ ```
156
+
157
+ Si la pregunta tiene `skip_if`, evaluar la condición:
158
+
159
+ ```json
160
+ "skip_if": {
161
+ "project.type": "nuevo"
162
+ }
163
+ ```
164
+
165
+ Si la condición se cumple (project.type == "nuevo"), **saltar esta pregunta**.
166
+
167
+ ---
168
+
169
+ #### Validaciones por tipo:
170
+
171
+ **type: string**
172
+ - Validar `pattern` si existe (regex)
173
+ - Validar `min_length` / `max_length`
174
+ - Si tiene `auto_suggest`, ofrecer sugerencia según respuesta previa
175
+
176
+ **type: select**
177
+ - Validar que la respuesta esté en `options`
178
+ - Mostrar opciones como lista enumerada
179
+
180
+ **type: multiselect**
181
+ - Validar que todas las opciones seleccionadas estén en `options`
182
+ - Separador: coma (`,`)
183
+
184
+ **type: boolean**
185
+ - Aceptar: `true`, `false`, `sí`, `no`, `s`, `n`, `yes`, `y`, `1`, `0`
186
+ - Normalizar a `true` / `false`
187
+
188
+ **type: number**
189
+ - Validar que sea número
190
+ - Validar `min` / `max` si existen
191
+
192
+ **type: array**
193
+ - Separar por coma
194
+ - Validar `min_items` / `max_items`
195
+
196
+ **type: text**
197
+ - Validar `max_length` si existe
198
+
199
+ ---
200
+
201
+ #### Guardado parcial (cada 10 preguntas):
202
+
203
+ Cuando `number % 10 == 0`:
204
+
205
+ ```markdown
206
+ ✅ **Checkpoint: 10/58 preguntas completadas**
207
+
208
+ 💾 Progreso guardado. Puedes pausar aquí y continuar después.
209
+
210
+ **¿Continuamos?**
211
+ ```
212
+
213
+ ---
214
+
215
+ ### Paso A4: Generar CONTRATO.md
216
+
217
+ Una vez completadas las 58 preguntas:
218
+
219
+ ```markdown
220
+ 🎉 **¡Cuestionario completado!**
221
+
222
+ **Respuestas recopiladas:** 58
223
+ **Guardando datos...**
224
+ ```
225
+
226
+ Leer `proyectos/_template/CONTRATO.md` como plantilla base.
227
+
228
+ **Generar CONTRATO.md dinámicamente:**
229
+
230
+ ```yaml
231
+ ---
232
+ meta:
233
+ project: [respuesta: project.name]
234
+ display_name: [respuesta: project.display_name]
235
+ responsible: [respuesta: project.responsible]
236
+ created_at: [fecha actual]
237
+ version: 1.0
238
+ ---
239
+
240
+ # [project.display_name]
241
+
242
+ ## Identidad del Proyecto
243
+
244
+ **Objetivo:** [respuesta: identity.objective]
245
+
246
+ **Problema que resuelve:** [respuesta: identity.problem_solved]
247
+
248
+ **Usuario objetivo:** [respuesta: identity.target_audience]
249
+
250
+ **Referencias/Competidores:** [respuesta: identity.competitors]
251
+
252
+ ---
253
+
254
+ ## Stack Tecnológico
255
+
256
+ ### Backend
257
+ - **Framework:** [respuesta: stack.backend.framework] [respuesta: stack.backend.version]
258
+ - **Lenguaje:** [respuesta: stack.backend.language]
259
+
260
+ ### Base de Datos
261
+ - **Motor:** [respuesta: stack.database.engine] [respuesta: stack.database.version]
262
+
263
+ ### Frontend
264
+ - **Framework:** [respuesta: stack.frontend.framework]
265
+ - **Lenguaje:** [respuesta: stack.frontend.language]
266
+ - **Build Tool:** [respuesta: stack.frontend.build_tool]
267
+ - **UI Library:** [respuesta: stack.frontend.ui_library]
268
+
269
+ ### DevOps
270
+ - **Hosting:** [respuesta: stack.devops.hosting]
271
+ - **CI/CD:** [respuesta: stack.devops.ci_cd]
272
+ - **Contenedores:** [respuesta: stack.devops.containers]
273
+
274
+ ---
275
+
276
+ ## Funcionalidades
277
+
278
+ ### Principales (Core)
279
+ [Listar respuesta: features.core, cada item como bullet point]
280
+
281
+ ### Secundarias (Nice-to-have)
282
+ [Listar respuesta: features.secondary, cada item como bullet point]
283
+
284
+ ---
285
+
286
+ ## Sistema de Usuarios
287
+
288
+ **Autenticación:**
289
+ - Métodos: [respuesta: features.auth.methods]
290
+ - 2FA: [respuesta: features.auth.two_factor]
291
+
292
+ **Registro:** [respuesta: users.registration]
293
+
294
+ **Roles:** [respuesta: users.roles]
295
+
296
+ ---
297
+
298
+ ## Panel de Administración
299
+
300
+ **Habilitado:** [respuesta: features.admin_panel.enabled]
301
+ **Nivel:** [respuesta: features.admin_panel.level]
302
+
303
+ ---
304
+
305
+ ## Subida de Archivos
306
+
307
+ **Habilitado:** [respuesta: features.file_uploads.enabled]
308
+ **Almacenamiento:** [respuesta: features.file_uploads.storage]
309
+
310
+ ---
311
+
312
+ ## Sistema de Pagos
313
+
314
+ **Habilitado:** [respuesta: features.payments.enabled]
315
+ **Proveedores:** [respuesta: features.payments.providers]
316
+
317
+ ---
318
+
319
+ ## Notificaciones
320
+
321
+ - **Email:** [respuesta: features.notifications.email]
322
+ - **Push:** [respuesta: features.notifications.push]
323
+ - **In-App:** [respuesta: features.notifications.in_app]
324
+
325
+ ---
326
+
327
+ ## Diseño
328
+
329
+ - **Estilo visual:** [respuesta: design.visual_style]
330
+ - **Color primario:** [respuesta: design.primary_color]
331
+ - **Modo oscuro:** [respuesta: design.dark_mode]
332
+ - **Responsive:** [respuesta: design.responsive]
333
+
334
+ ---
335
+
336
+ ## Arquitectura
337
+
338
+ - **Patrón:** [respuesta: architecture.pattern]
339
+ - **Separación:** [respuesta: architecture.separation]
340
+
341
+ ---
342
+
343
+ ## Despliegue
344
+
345
+ - **HTTPS:** [respuesta: deployment.ssl]
346
+ - **Dominio:** [respuesta: deployment.custom_domain]
347
+ - **Entornos:** [respuesta: deployment.environments]
348
+
349
+ ---
350
+
351
+ ## Seguridad
352
+
353
+ - **Nivel:** [respuesta: security.level]
354
+ - **GDPR Compliant:** [respuesta: security.gdpr_compliant]
355
+ - **Datos Sensibles:** [respuesta: security.sensitive_data]
356
+
357
+ ---
358
+
359
+ ## Rendimiento
360
+
361
+ - **Tiempo de carga objetivo:** [respuesta: performance.load_time_target]
362
+ - **Tiempo respuesta API objetivo:** [respuesta: performance.api_response_target]
363
+ - **Usuarios concurrentes esperados:** [respuesta: performance.concurrent_users]
364
+
365
+ ---
366
+
367
+ ## Testing
368
+
369
+ - **Tests unitarios:** [respuesta: testing.unit]
370
+ - **Tests de integración:** [respuesta: testing.integration]
371
+ - **Tests E2E:** [respuesta: testing.e2e]
372
+ - **Cobertura objetivo:** [respuesta: testing.coverage_target]%
373
+
374
+ ---
375
+
376
+ ## Restricciones
377
+
378
+ **Plazo de entrega:** [respuesta: constraints.time_limit]
379
+
380
+ **Fuera de Alcance:**
381
+ [Listar respuesta: constraints.out_of_scope, cada item con ❌]
382
+
383
+ ---
384
+
385
+ ## Problemas Potenciales
386
+
387
+ [Generar automáticamente según las respuestas del cuestionario. Ejemplos:]
388
+
389
+ - Si `performance.concurrent_users` > 1000: Escalabilidad — Necesario balanceador de carga
390
+ - Si `features.payments.enabled` == true: Cumplimiento PCI-DSS
391
+ - Si `security.gdpr_compliant` == true: Implementar política de privacidad y consentimiento
392
+ - Si `features.file_uploads.enabled` == true: Validación de tipos de archivo y límites de tamaño
393
+ ```
394
+
395
+ ---
396
+
397
+ ### Paso A5: Mostrar Preview del CONTRATO
398
+
399
+ ```markdown
400
+ ✅ **CONTRATO.md generado**
401
+
402
+ **Preview:**
403
+
404
+ [Mostrar CONTRATO completo o primeras 50 líneas + "..."]
405
+
406
+ **¿Quieres:**
407
+ - **A) Aceptar** — Crear proyecto con este CONTRATO
408
+ - **B) Editar** — Modificar algo antes de crear
409
+ - **C) Cancelar** — No crear el proyecto
410
+
411
+ Responde A, B o C:
412
+ ```
413
+
414
+ ---
415
+
416
+ ### Paso A6: Si el usuario acepta (opción A)
417
+
418
+ Crear estructura del proyecto:
419
+
420
+ ```bash
421
+ # Copiar template
422
+ cp -r proyectos/_template proyectos/casa-de-peli
423
+
424
+ # Guardar CONTRATO.md
425
+ # (Usar Write con el contenido generado)
426
+
427
+ # Crear context/ con información específica
428
+ ```
429
+
430
+ Generar archivos adicionales:
431
+
432
+ **context/brief.md:**
433
+ ```markdown
434
+ # Brief — casa-de-peli
435
+
436
+ **Proyecto:** [project.display_name]
437
+ **Responsable:** [project.responsible]
438
+ **Fecha creación:** [fecha actual]
439
+
440
+ ## Resumen Ejecutivo
441
+
442
+ [Tomar identity.objective y identity.problem_solved para generar resumen de 2-3 párrafos]
443
+
444
+ ## Alcance
445
+
446
+ **Funcionalidades Core:**
447
+ [Listar features.core]
448
+
449
+ **Fuera de Alcance:**
450
+ [Listar constraints.out_of_scope]
451
+
452
+ ## Entregables
453
+
454
+ - Aplicación web funcional
455
+ - Panel de administración
456
+ - Documentación técnica
457
+ - Tests automatizados
458
+
459
+ ## Timeline
460
+
461
+ **Plazo:** [constraints.time_limit]
462
+ ```
463
+
464
+ **context/tech-stack.md:**
465
+ ```markdown
466
+ # Tech Stack — casa-de-peli
467
+
468
+ ## Backend
469
+
470
+ - **Framework:** [stack.backend.framework] [stack.backend.version]
471
+ - **Lenguaje:** [stack.backend.language]
472
+
473
+ ## Base de Datos
474
+
475
+ - **Motor:** [stack.database.engine] [stack.database.version]
476
+
477
+ ## Frontend
478
+
479
+ - **Framework:** [stack.frontend.framework]
480
+ - **Lenguaje:** [stack.frontend.language]
481
+ - **Build Tool:** [stack.frontend.build_tool]
482
+ - **UI Library:** [stack.frontend.ui_library]
483
+
484
+ ## DevOps
485
+
486
+ - **Hosting:** [stack.devops.hosting]
487
+ - **CI/CD:** [stack.devops.ci_cd]
488
+ - **Contenedores:** [stack.devops.containers]
489
+
490
+ ## Versiones
491
+
492
+ [Generar tabla con todas las versiones]
493
+
494
+ | Tecnología | Versión |
495
+ |-----------|---------|
496
+ | [stack.backend.framework] | [stack.backend.version] |
497
+ | [stack.database.engine] | [stack.database.version] |
498
+ | ... | ... |
499
+ ```
500
+
501
+ **context/architecture.md:**
502
+ ```markdown
503
+ # Arquitectura — casa-de-peli
504
+
505
+ ## Patrón Arquitectónico
506
+
507
+ **Seleccionado:** [architecture.pattern]
508
+
509
+ ## Separación de Capas
510
+
511
+ **Tipo:** [architecture.separation]
512
+
513
+ [Generar diagrama Mermaid según el patrón seleccionado]
514
+
515
+ ## Flujo de Datos
516
+
517
+ [Generar descripción del flujo según el patrón]
518
+
519
+ ## Decisiones Arquitectónicas
520
+
521
+ 1. **Backend/Frontend:** [architecture.separation]
522
+ - Justificación: [Generar según la elección]
523
+
524
+ 2. **Base de Datos:** [stack.database.engine]
525
+ - Justificación: [Generar según la elección]
526
+ ```
527
+
528
+ **context/conventions.md:**
529
+ ```markdown
530
+ # Convenciones — casa-de-peli
531
+
532
+ ## Nomenclatura
533
+
534
+ [Generar convenciones según stack.backend.framework]
535
+
536
+ ## Estructura de Carpetas
537
+
538
+ [Generar según stack.backend.framework + stack.frontend.framework]
539
+
540
+ ## Commits
541
+
542
+ **Formato:** [tipo]: [descripción corta]
543
+
544
+ **Tipos:**
545
+ - feat: Nueva funcionalidad
546
+ - fix: Corrección de bug
547
+ - docs: Documentación
548
+ - test: Tests
549
+ - refactor: Refactorización
550
+ - chore: Tareas de mantenimiento
551
+
552
+ ## Code Style
553
+
554
+ [Generar según lenguajes seleccionados]
555
+ ```
556
+
557
+ **context/decisions.md:**
558
+ ```markdown
559
+ # Decisiones — casa-de-peli
560
+
561
+ **Fecha:** [fecha actual]
562
+
563
+ ## Stack Tecnológico
564
+
565
+ ### Backend: [stack.backend.framework]
566
+ **Razón:** [Generar justificación]
567
+
568
+ ### Frontend: [stack.frontend.framework]
569
+ **Razón:** [Generar justificación]
570
+
571
+ ### Base de Datos: [stack.database.engine]
572
+ **Razón:** [Generar justificación]
573
+
574
+ ## Arquitectura
575
+
576
+ ### Patrón: [architecture.pattern]
577
+ **Razón:** [Generar justificación]
578
+
579
+ ## Seguridad
580
+
581
+ ### Nivel: [security.level]
582
+ **Razón:** [Generar justificación]
583
+
584
+ ## Testing
585
+
586
+ ### Cobertura: [testing.coverage_target]%
587
+ **Razón:** [Generar justificación]
588
+ ```
589
+
590
+ **README.md:**
591
+ ```markdown
592
+ # [project.display_name]
593
+
594
+ > [identity.objective]
595
+
596
+ ## Stack
597
+
598
+ - Backend: [stack.backend.framework] [stack.backend.version]
599
+ - Frontend: [stack.frontend.framework]
600
+ - Database: [stack.database.engine] [stack.database.version]
601
+
602
+ ## Instalación
603
+
604
+ [Generar instrucciones según el stack]
605
+
606
+ ## Desarrollo
607
+
608
+ [Generar comandos según el stack]
609
+
610
+ ## Testing
611
+
612
+ [Generar comandos de testing]
613
+
614
+ ## Licencia
615
+
616
+ [Pendiente definir]
617
+ ```
618
+
619
+ ---
620
+
621
+ ### Paso A7: Confirmar Creación
622
+
623
+ ```markdown
624
+ ✅ **Proyecto casa-de-peli creado exitosamente**
625
+
626
+ **Estructura creada:**
627
+
628
+ ```
629
+ proyectos/casa-de-peli/
630
+ ├── CONTRATO.md (🔒 inmutable — 58 preguntas procesadas)
631
+ ├── ANEXOS.md (✏️ editable)
632
+ ├── README.md
633
+ ├── .coderabbit.yaml
634
+ └── context/
635
+ ├── brief.md
636
+ ├── architecture.md
637
+ ├── tech-stack.md
638
+ ├── conventions.md
639
+ └── decisions.md
640
+ ```
641
+
642
+ **Próximos pasos:**
643
+
644
+ 1. **Revisar CONTRATO.md:**
645
+ Abre `CONTRATO.md` para revisar el contrato completo
646
+
647
+ 2. **Crear tickets en Asana:**
648
+ Lee `.commandscrear-tickets.md` y ejecuta
649
+
650
+ 3. **Empezar desarrollo:**
651
+ Elige un ticket:
652
+ - `refinar SCRUM-XX` — Refinar user story
653
+ - `planificar SCRUM-XX` — Generar plan de implementación
654
+ - `implementar @plan.md` — Ejecutar el plan
655
+
656
+ **¿Quieres crear ahora los tickets en Asana?**
657
+
658
+ [Sí] [No]
659
+ ```
660
+
661
+ ### Paso A8: Respuesta a creación de tickets
662
+
663
+ #### Si el usuario responde "Sí":
664
+
665
+ ```markdown
666
+ ✅ Perfecto. Voy a crear los tickets ahora...
667
+ ```
668
+
669
+ **Acción:** Leer `.commandscrear-tickets.md` y ejecutar las instrucciones paso a paso.
670
+
671
+ #### Si el usuario responde "No":
672
+
673
+ ```markdown
674
+ ✅ Entendido. Puedes crear los tickets cuando quieras.
675
+
676
+ **Para crearlos después, escribe:**
677
+
678
+ ```
679
+ Lee .commandscrear-tickets.md y ejecuta
680
+ ```
681
+
682
+ **O desde terminal:**
683
+
684
+ ```bash
685
+ cd proyectos/[nombre-proyecto]
686
+ ../../scripts/generate-asana-structure.sh CONTRATO.md
687
+ ```
688
+
689
+ **Otros comandos disponibles:**
690
+
691
+ | Comando | Cómo ejecutarlo |
692
+ |---------|-----------------|
693
+ | Crear tickets Asana | `Lee .commandscrear-tickets.md y ejecuta` |
694
+ | Refinar story | `Lee .commandsrefinar.md y ejecuta` |
695
+ | Planificar implementación | `Lee .commandsplanificar.md y ejecuta` |
696
+ | Implementar | `Lee .commandsimplementar.md y ejecuta` |
697
+ | Adoptar proyecto legacy | `Lee .commandsadoptar.md y ejecuta` |
698
+
699
+ ¿Hay algo más en lo que pueda ayudarte?
700
+ ```
701
+
702
+ ---
703
+
704
+ ## Flujo B: Proyecto Existente (Trabajar en proyecto ya creado)
705
+
706
+ ### Paso B1: Seleccionar Proyecto
707
+
708
+ ```markdown
709
+ **¿En cuál proyecto vas a trabajar?**
710
+
711
+ Proyectos disponibles:
712
+ 1. app-tienda
713
+ 2. api-backend
714
+ 3. dashboard-analytics
715
+
716
+ Responde con el número o el nombre:
717
+ ```
718
+
719
+ ### Paso B2: Cargar Contexto
720
+
721
+ Leer archivos del proyecto:
722
+
723
+ 1. `proyectos/[proyecto]/CONTRATO.md`
724
+ 2. `proyectos/[proyecto]/ANEXOS.md` (si existe)
725
+ 3. `proyectos/[proyecto]/context/brief.md`
726
+ 4. `proyectos/[proyecto]/context/architecture.md`
727
+ 5. `proyectos/[proyecto]/context/tech-stack.md`
728
+ 6. `proyectos/[proyecto]/context/conventions.md`
729
+
730
+ ### Paso B3: Confirmar Carga
731
+
732
+ ```markdown
733
+ ✅ **Proyecto [nombre] cargado correctamente**
734
+
735
+ **Contexto:**
736
+ - Stack: [Laravel 11 + React 18 + PostgreSQL]
737
+ - Arquitectura: [MVC Separado]
738
+ - Módulos principales: [Lista de funcionalidades core]
739
+
740
+ **¿Qué vas a hacer?**
741
+ - **A) Desarrollo** — Trabajar en código
742
+ - **B) Documentación** — Actualizar docs
743
+
744
+ Responde A o B:
745
+ ```
746
+
747
+ ### Paso B4A: Si elige Desarrollo
748
+
749
+ ```markdown
750
+ **¿Qué ticket vas a trabajar?**
751
+
752
+ Opciones:
753
+ - Dime el ID del ticket (ejemplo: SCRUM-23)
754
+ - O describe la tarea que vas a hacer
755
+
756
+ **Comandos disponibles:**
757
+ - `refinar SCRUM-XX` — Refinar user story
758
+ - `planificar SCRUM-XX` — Generar plan de implementación
759
+ - `implementar @plan.md` — Ejecutar el plan
760
+ - `explicar [concepto]` — Explicar código o arquitectura
761
+ ```
762
+
763
+ ### Paso B4B: Si elige Documentación
764
+
765
+ ```markdown
766
+ **¿Qué documentación vas a actualizar?**
767
+
768
+ Archivos del proyecto:
769
+ - `CONTRATO.md` (🔒 inmutable — solo consulta)
770
+ - `ANEXOS.md` (agregar módulos nuevos)
771
+ - `context/brief.md` (resumen ejecutivo)
772
+ - `context/architecture.md` (decisiones arquitectónicas)
773
+ - `context/tech-stack.md` (stack y versiones)
774
+ - `context/conventions.md` (patrones de código)
775
+ - `context/decisions.md` (log de decisiones)
776
+
777
+ **Comando disponible:**
778
+ - `documentar` — Actualizar documentación técnica
779
+ ```
780
+
781
+ ---
782
+
783
+ ## Flujo C: Adoptar Proyecto Legacy
784
+
785
+ Ver `.commandsadoptar.md` para el flujo completo de adopción.
786
+
787
+ ---
788
+
789
+ ## Reglas Críticas
790
+
791
+ 1. **"Hola" es la única palabra clave** — No aceptar "hola como estas", solo "Hola" exacto.
792
+
793
+ 2. **SIEMPRE listar proyectos** — Ejecutar bash para descubrir proyectos, no asumir.
794
+
795
+ 3. **Cargar contexto COMPLETO** — Leer todos los archivos de context/ antes de continuar.
796
+
797
+ 4. **58 preguntas OBLIGATORIAS para proyectos nuevos** — No saltarlas. Son necesarias para CONTRATO completo.
798
+
799
+ 5. **Validar TODAS las respuestas** — Según el tipo y validaciones en questions.json.
800
+
801
+ 6. **Guardar checkpoint cada 10 preguntas** — Para permitir pausar y continuar.
802
+
803
+ 7. **NO modificar CONTRATO.md** después de aceptado — Solo agregar en ANEXOS.md.
804
+
805
+ 8. **Confirmar antes de crear** — Mostrar preview del CONTRATO y esperar aprobación.
806
+
807
+ ---
808
+
809
+ ## Herramientas Disponibles
810
+
811
+ - **Read** — Leer `scripts/lib/questions.json` y archivos de contexto
812
+ - **Write** — Crear archivos del nuevo proyecto
813
+ - **AskUserQuestion** — Modales interactivos (usar cuando esté disponible)
814
+ - **Bash** — Listar proyectos, copiar template
815
+
816
+ ---
817
+
818
+ ## Referencias
819
+
820
+ - **Preguntas:** `scripts/lib/questions.json` (58 preguntas completas)
821
+ - **Template:** `proyectos/_template/CONTRATO.md`
822
+ - **Agentes:** `.agents/backend.md`, `.agents/frontend.md`, `.agents/producto.md`
823
+ - **Otros Comandos:** `.commandsrefinar.md`, `.commandsplanificar.md`, etc.
824
+ - **Standards:** `specs/base-standards.mdc`