awc-zns-mtd 2.6.0 → 2.6.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.
@@ -135,7 +135,7 @@ async function newProjectCommand(projectName, options = {}) {
135
135
  description: description,
136
136
  responsible: responsible
137
137
  },
138
- projectType: null, // Se definirá con awc init
138
+ projectType: null,
139
139
  initialized: false,
140
140
  preferences: {
141
141
  communication_language: 'Spanish',
@@ -221,6 +221,7 @@ async function newProjectCommand(projectName, options = {}) {
221
221
 
222
222
  } catch (error) {
223
223
  spinner.fail(chalk.red('❌ Error creando proyecto'));
224
+ console.error(error);
224
225
  throw error;
225
226
  }
226
227
  }
@@ -293,338 +294,6 @@ awc config
293
294
 
294
295
  Generado con ❤️ usando AWC ZNS-MTD Method v${getVersion()}
295
296
  `;
296
- }
297
-
298
- // 2. Crear estructura estándar de directorios
299
- const directories = [
300
- // Fase 0: Comercial
301
- '01-comercial/01-prospection',
302
- '01-comercial/02-technical-proposal',
303
- '01-comercial/03-quotation',
304
- '01-comercial/04-contract',
305
- '01-comercial/docs/client-docs/requerimientos',
306
- '01-comercial/docs/client-docs/presentaciones',
307
- '01-comercial/docs/client-docs/contratos',
308
-
309
- // Fase 1: Inception
310
- '02-inception/01-kickoff',
311
- '02-inception/02-prd',
312
- '02-inception/03-backlog',
313
- '02-inception/04-release-planning',
314
- '02-inception/docs/client-docs/procesos',
315
- '02-inception/docs/client-docs/manuales',
316
- '02-inception/docs/client-docs/imagenes',
317
-
318
- // Fase 2: Análisis
319
- '03-analysis/01-code-audit',
320
- '03-analysis/02-architecture-review',
321
- '03-analysis/03-technical-debt',
322
- '03-analysis/04-recommendations',
323
- '03-analysis/docs/client-docs/arquitectura',
324
- '03-analysis/docs/client-docs/databases',
325
- '03-analysis/docs/client-docs/especificaciones',
326
-
327
- // Fase 3: Planificación
328
- '04-planning/01-sprint-planning',
329
- '04-planning/02-backlog-refinement',
330
- '04-planning/03-release-planning',
331
- '04-planning/04-roadmap',
332
- '04-planning/docs/client-docs/historias',
333
- '04-planning/docs/client-docs/estimaciones',
334
-
335
- // Fase 4: Desarrollo
336
- '05-development/src',
337
- '05-development/tests',
338
- '05-development/docs',
339
- '05-development/docs/client-docs/apis',
340
- '05-development/docs/client-docs/integraciones',
341
- '05-development/docs/client-docs/recursos',
342
-
343
- // Fase 5: QA
344
- '06-qa/test-plans',
345
- '06-qa/test-cases',
346
- '06-qa/test-results',
347
- '06-qa/bug-reports',
348
- '06-qa/docs/client-docs/criterios-aceptacion',
349
- '06-qa/docs/client-docs/escenarios-prueba',
350
-
351
- // Fase 6: Deployment
352
- '07-deployment/environments',
353
- '07-deployment/scripts',
354
- '07-deployment/logs',
355
- '07-deployment/docs/client-docs/infraestructura',
356
- '07-deployment/docs/client-docs/accesos',
357
-
358
- // Fase 7: Soporte
359
- '08-support/incidents',
360
- '08-support/bug-fixes',
361
- '08-support/maintenance',
362
- '08-support/docs/client-docs/incidentes',
363
- '08-support/docs/client-docs/cambios',
364
-
365
- // Documentación general
366
- 'docs/architecture',
367
- 'docs/adr',
368
- 'docs/api',
369
- 'docs/guides',
370
-
371
- // Configuración AWC
372
- '.awc/agents',
373
- '.awc/workflows',
374
- '.awc/templates'
375
- ];
376
-
377
- for (const dir of directories) {
378
- await fs.ensureDir(path.join(projectPath, dir));
379
- }
380
- spinner.text = 'Estructura de directorios creada';
381
-
382
- // 3. Copiar templates
383
- const srcTemplatesPath = path.join(__dirname, '../../../src/modules/awc-zns-mtd/templates');
384
- const destTemplatesPath = path.join(projectPath, '.awc/templates');
385
-
386
- if (await fs.pathExists(srcTemplatesPath)) {
387
- await fs.copy(srcTemplatesPath, destTemplatesPath);
388
- spinner.text = 'Templates copiados';
389
- }
390
-
391
- // 4. Copiar workflows
392
- const srcWorkflowsPath = path.join(__dirname, '../../../src/modules/awc-zns-mtd/workflows');
393
- const destWorkflowsPath = path.join(projectPath, '.awc/workflows');
394
-
395
- if (await fs.pathExists(srcWorkflowsPath)) {
396
- await fs.copy(srcWorkflowsPath, destWorkflowsPath);
397
- spinner.text = 'Workflows copiados';
398
- }
399
-
400
- // 5. Copiar agentes
401
- const srcAgentsPath = path.join(__dirname, '../../../src/modules/awc-zns-mtd/agents');
402
- const destAgentsPath = path.join(projectPath, '.awc/agents');
403
-
404
- if (await fs.pathExists(srcAgentsPath)) {
405
- await fs.copy(srcAgentsPath, destAgentsPath);
406
- spinner.text = 'Agentes copiados';
407
- }
408
-
409
- // 6. Crear archivo de configuración AWC
410
- const awcConfig = {
411
- version: getVersion(),
412
- createdAt: new Date().toISOString(),
413
- project: {
414
- name: projectName,
415
- description: answers.description,
416
- type: answers.projectType,
417
- teamSize: answers.teamSize
418
- },
419
- preferences: {
420
- communication_language: 'Spanish',
421
- document_output_language: 'Spanish',
422
- code_language: 'English'
423
- },
424
- workflows: {
425
- current_phase: 'comercial',
426
- completed_phases: []
427
- }
428
- };
429
-
430
- await fs.writeJson(
431
- path.join(projectPath, '.awc/config.json'),
432
- awcConfig,
433
- { spaces: 2 }
434
- );
435
- spinner.text = 'Configuración AWC creada';
436
-
437
- // 7. Crear README.md del proyecto
438
- const readme = createReadmeContent(projectName, answers);
439
- await fs.writeFile(path.join(projectPath, 'README.md'), readme);
440
- spinner.text = 'README.md creado';
441
-
442
- // 8. Crear .gitignore
443
- const gitignore = createGitignoreContent();
444
- await fs.writeFile(path.join(projectPath, '.gitignore'), gitignore);
445
- spinner.text = '.gitignore creado';
446
-
447
- // 9. Crear archivo de inicio para cada fase
448
- await createPhaseGuides(projectPath);
449
- spinner.text = 'Guías de fase creadas';
450
-
451
- // 9.0. Crear README para client-docs
452
- await createClientDocsReadmes(projectPath);
453
- spinner.text = 'README de client-docs creados';
454
-
455
- // 9.1. Crear configuración de VS Code
456
- await createVSCodeConfig(projectPath);
457
- spinner.text = 'Configuración VS Code creada';
458
-
459
- // 9.2. Copiar copilot-instructions.md
460
- const githubDir = path.join(projectPath, '.github');
461
- await fs.ensureDir(githubDir);
462
- const templateCopilotPath = path.join(__dirname, '../../../templates/.github/copilot-instructions.md');
463
- if (await fs.pathExists(templateCopilotPath)) {
464
- await fs.copy(templateCopilotPath, path.join(githubDir, 'copilot-instructions.md'));
465
- spinner.text = 'GitHub Copilot instructions creadas';
466
- }
467
-
468
- // 10. Inicializar Git si se solicitó
469
- if (answers.gitInit) {
470
- const { execSync } = require('child_process');
471
- try {
472
- execSync('git init', { cwd: projectPath, stdio: 'ignore' });
473
- execSync('git add .', { cwd: projectPath, stdio: 'ignore' });
474
- execSync(`git commit -m "feat: Inicializar proyecto ${projectName} con AWC ZNS-MTD"`, {
475
- cwd: projectPath,
476
- stdio: 'ignore'
477
- });
478
- spinner.text = 'Repositorio Git inicializado';
479
- } catch (error) {
480
- // Git no está disponible o fallo, continuar sin git
481
- }
482
- }
483
-
484
- spinner.succeed(chalk.green('✅ Proyecto creado exitosamente'));
485
-
486
- // Mostrar resumen
487
- console.log(chalk.cyan('\n' + '═'.repeat(60)));
488
- console.log(chalk.cyan('📦 Resumen del Proyecto'));
489
- console.log(chalk.cyan('═'.repeat(60) + '\n'));
490
-
491
- console.log(`${chalk.gray('Nombre:')} ${chalk.green(projectName)}`);
492
- console.log(`${chalk.gray('Tipo:')} ${chalk.yellow(answers.projectType)}`);
493
- console.log(`${chalk.gray('Equipo:')} ${chalk.yellow(answers.teamSize)}`);
494
- console.log(`${chalk.gray('Ubicación:')} ${chalk.blue(projectPath)}`);
495
- console.log(`${chalk.gray('AWC Versión:')} ${chalk.yellow(getVersion())}\n`);
496
-
497
- // Próximos pasos
498
- console.log(chalk.cyan('📚 Próximos Pasos:\n'));
499
- console.log(` ${chalk.green('1.')} cd ${projectName}`);
500
- console.log(` ${chalk.green('2.')} Revisar ${chalk.yellow('01-comercial/START_HERE.md')}`);
501
- console.log(` ${chalk.green('3.')} Completar discovery notes y análisis de viabilidad`);
502
- console.log(` ${chalk.green('4.')} Ejecutar ${chalk.yellow('awc status')} para ver el progreso\n`);
503
-
504
- console.log(chalk.cyan('🎯 Flujo de Trabajo Recomendado:\n'));
505
- console.log(` ${chalk.gray('→')} Comercial (01-comercial/)`);
506
- console.log(` ${chalk.gray('→')} Inception (02-inception/)`);
507
- console.log(` ${chalk.gray('→')} Análisis (03-analysis/)`);
508
- console.log(` ${chalk.gray('→')} Planificación (04-planning/)`);
509
- console.log(` ${chalk.gray('→')} Desarrollo (05-development/)`);
510
- console.log(` ${chalk.gray('→')} QA (06-qa/)`);
511
- console.log(` ${chalk.gray('→')} Deployment (07-deployment/)`);
512
- console.log(` ${chalk.gray('→')} Soporte (08-support/)\n`);
513
-
514
- console.log(chalk.green('✨ ¡Listo para comenzar tu proyecto!\n'));
515
-
516
- } catch (error) {
517
- spinner.fail(chalk.red('❌ Error creando proyecto'));
518
- throw error;
519
- }
520
- }
521
-
522
- /**
523
- * Crea el contenido del README.md
524
- */
525
- function createReadmeContent(projectName, answers) {
526
- return `# ${projectName}
527
-
528
- > ${answers.description}
529
-
530
- ## 📋 Información del Proyecto
531
-
532
- - **Tipo**: ${answers.projectType}
533
- - **Equipo**: ${answers.teamSize}
534
- - **Metodología**: AWC ZNS-MTD (Zen, Neutro, Sistemático)
535
-
536
- ## 🚀 Fases del Proyecto
537
-
538
- Este proyecto sigue el método AWC ZNS-MTD con 8 fases completas:
539
-
540
- ### 📊 Fase 0: Comercial (01-comercial/)
541
- - Prospección y discovery
542
- - Oferta técnica
543
- - Cotización
544
- - Contrato
545
-
546
- ### 🎯 Fase 1: Inception (02-inception/)
547
- - Kickoff meeting
548
- - Product Requirements Document (PRD)
549
- - Backlog inicial
550
- - Release planning
551
-
552
- ### 🔍 Fase 2: Análisis (03-analysis/)
553
- - Code audit (si aplica)
554
- - Architecture review
555
- - Technical debt assessment
556
- - Recomendaciones
557
-
558
- ### 📅 Fase 3: Planificación (04-planning/)
559
- - Sprint planning
560
- - Backlog refinement
561
- - Release planning
562
- - Product roadmap
563
-
564
- ### 💻 Fase 4: Desarrollo (05-development/)
565
- - Implementación TDD
566
- - Code review
567
- - CI/CD
568
-
569
- ### ✅ Fase 5: QA (06-qa/)
570
- - Test planning
571
- - Automated testing
572
- - Manual testing
573
- - UAT
574
-
575
- ### 🚀 Fase 6: Deployment (07-deployment/)
576
- - Pre-deployment
577
- - Staging
578
- - Production
579
- - Post-deployment
580
-
581
- ### 🛠️ Fase 7: Soporte (08-support/)
582
- - Incident response
583
- - Bug fixing
584
- - Maintenance
585
- - Monitoring
586
-
587
- ## 📚 Documentación
588
-
589
- Toda la documentación del proyecto se encuentra en el directorio \`docs/\`:
590
-
591
- - \`docs/architecture/\` - Diagramas y decisiones arquitectónicas
592
- - \`docs/adr/\` - Architecture Decision Records
593
- - \`docs/api/\` - Documentación de APIs
594
- - \`docs/guides/\` - Guías de desarrollo y deployment
595
-
596
- ## 🔧 Configuración AWC
597
-
598
- El directorio \`.awc/\` contiene:
599
-
600
- - \`agents/\` - Agentes especializados AWC ZNS-MTD
601
- - \`workflows/\` - Workflows para cada fase
602
- - \`templates/\` - Templates de documentos
603
- - \`config.json\` - Configuración del proyecto
604
-
605
- ## 🎯 Estado Actual
606
-
607
- **Fase actual**: Comercial (inicio)
608
-
609
- Revisar \`01-comercial/START_HERE.md\` para comenzar.
610
-
611
- ## 📝 Comandos AWC
612
-
613
- \`\`\`bash
614
- # Ver estado del proyecto
615
- awc status
616
-
617
- # Validar estructura
618
- awc validate
619
-
620
- # Ver configuración
621
- awc config
622
- \`\`\`
623
-
624
- ---
625
-
626
- Generado con ❤️ usando AWC ZNS-MTD Method
627
- `;
628
297
  }
629
298
 
630
299
  /**
@@ -652,7 +321,6 @@ target/
652
321
  *.swp
653
322
  *.swo
654
323
  *~
655
- .DS_Store
656
324
 
657
325
  # Logs
658
326
  logs/
@@ -681,550 +349,137 @@ coverage/
681
349
  .nyc_output/
682
350
 
683
351
  # Confidential (keep locally, never commit)
684
- 01-comercial/04-contract/*.pdf
685
- **/confidential/
352
+ **/client-docs/contratos/
353
+ **/client-docs/accesos/
686
354
  **/*-confidential.*
687
355
  `;
688
356
  }
689
357
 
690
358
  /**
691
- * Crea guías de inicio para cada fase
359
+ * Crea contenido de NEXT_STEPS.md
692
360
  */
693
- async function createPhaseGuides(projectPath) {
694
- const phases = [
695
- {
696
- dir: '01-comercial',
697
- title: 'Fase 0: Comercial',
698
- content: `# 🎯 START HERE - Fase Comercial
361
+ function createNextStepsContent(projectName) {
362
+ return `# 🎯 Próximos Pasos - ${projectName}
363
+
364
+ ## ¿Qué hacer ahora?
699
365
 
700
- ## Objetivo
701
- Capturar requisitos del cliente, evaluar viabilidad y generar oferta comercial.
366
+ Tu proyecto ha sido creado con la **estructura base** de AWC ZNS-MTD.
702
367
 
703
- ## Pasos a seguir
368
+ ### 📌 Paso 1: Inicializar el Proyecto
704
369
 
705
- ### 1. Discovery & Prospección
706
- 📂 Directorio: \`01-prospection/\`
370
+ Ejecuta el comando de inicialización:
707
371
 
708
- - [ ] Completar \`.awc/templates/discovery-notes.md\`
709
- - [ ] Identificar stakeholders clave
710
- - [ ] Entender el problema de negocio
711
- - [ ] Documentar contexto actual
372
+ \`\`\`bash
373
+ awc init
374
+ \`\`\`
712
375
 
713
- ### 2. Análisis de Viabilidad
714
- 📂 Directorio: \`01-prospection/\`
376
+ ### 🔍 ¿Qué hace \`awc init\`?
715
377
 
716
- - [ ] Completar \`.awc/templates/viabilidad.md\`
717
- - [ ] Evaluar viabilidad técnica
718
- - [ ] Evaluar viabilidad económica
719
- - [ ] Identificar riesgos principales
378
+ El comando \`awc init\` te preguntará:
720
379
 
721
- ### 3. Oferta Técnica
722
- 📂 Directorio: \`02-technical-proposal/\`
380
+ #### 1️⃣ Tipo de Proyecto
381
+ - **🔍 Auditoría de Código Existente**: Evaluar sistema legacy
382
+ - **🆕 Desarrollo Desde Cero**: Nuevo proyecto desde cero
383
+ - **🔄 Migración/Modernización**: Migrar sistema existente
384
+ - **🛠️ Mantenimiento/Soporte**: Dar soporte a sistema existente
385
+ - **📱 Aplicación Móvil**: App iOS/Android
386
+ - **🌐 API/Microservicios**: Backend services
387
+ - **🏢 Sistema Empresarial**: ERP, CRM, etc.
723
388
 
724
- - [ ] Copiar template: \`.awc/templates/oferta-comercial.md\`
725
- - [ ] Definir solución propuesta
726
- - [ ] Especificar stack tecnológico
727
- - [ ] Definir alcance y exclusiones
389
+ #### 2️⃣ Workflow Recomendado
390
+ - **⚡ Quick**: Proyectos pequeños (1-2 semanas)
391
+ - **📊 Standard**: Proyectos medianos (1-3 meses)
392
+ - **🏢 Enterprise**: Proyectos grandes (3+ meses)
728
393
 
729
- ### 4. Cotización
730
- 📂 Directorio: \`03-quotation/\`
394
+ #### 3️⃣ Stack Tecnológico
395
+ - Backend: Java, .NET, Python, PHP, Node.js
396
+ - Frontend: React, Angular, Vue
397
+ - Base de datos: SQL, NoSQL
731
398
 
732
- - [ ] Copiar template: \`.awc/templates/cotizacion.md\`
733
- - [ ] Estimar esfuerzo por fase
734
- - [ ] Calcular costos
735
- - [ ] Definir cronograma
399
+ ### Resultado de \`awc init\`
736
400
 
737
- ### 5. Contrato (confidencial)
738
- 📂 Directorio: \`04-contract/\`
401
+ Basado en tus respuestas, creará automáticamente:
739
402
 
740
- - [ ] Negociar términos
741
- - [ ] Firmar contrato
742
- - [ ] Mover a siguiente fase
403
+ - **Estructura de fases** (01-comercial, 02-inception, 03-analysis, etc.)
404
+ - **Directorios client-docs/** específicos para tu tipo de proyecto
405
+ - **Templates** relevantes copiados a cada fase
406
+ - ✅ **Agentes especializados** cargados según tu stack
407
+ - ✅ **Guías START_HERE.md** en cada fase
743
408
 
744
- ## Criterios de Salida
745
- - ✅ Contrato firmado
746
- - ✅ Cliente aprobó oferta y cotización
747
- - ✅ Equipo asignado
748
- - ✅ Fecha de kickoff definida
409
+ ### 📂 Ejemplos de Estructura Según Tipo
749
410
 
750
- ## ➡️ Siguiente Fase
751
- Una vez completado, pasar a **02-inception/**
752
- `
753
- },
754
- {
755
- dir: '02-inception',
756
- title: 'Fase 1: Inception',
757
- content: `# 🚀 START HERE - Fase Inception
758
-
759
- ## Objetivo
760
- Arranque formal del proyecto, definir PRD y backlog inicial.
761
-
762
- ## Pasos a seguir
763
-
764
- ### 1. Kickoff Meeting
765
- 📂 Directorio: \`01-kickoff/\`
766
-
767
- - [ ] Copiar template: \`.awc/templates/kickoff-agenda.md\`
768
- - [ ] Presentar equipo
769
- - [ ] Alinear expectativas
770
- - [ ] Definir canales de comunicación
771
-
772
- ### 2. Product Requirements Document (PRD)
773
- 📂 Directorio: \`02-prd/\`
774
-
775
- - [ ] Copiar template: \`.awc/templates/PRD-template.md\`
776
- - [ ] Documentar requisitos funcionales
777
- - [ ] Documentar requisitos no funcionales
778
- - [ ] Definir user personas
779
- - [ ] Mapear user journeys
780
-
781
- ### 3. Backlog Inicial
782
- 📂 Directorio: \`03-backlog/\`
783
-
784
- - [ ] Crear user stories
785
- - [ ] Priorizar backlog (MoSCoW)
786
- - [ ] Estimar user stories (Planning Poker)
787
- - [ ] Crear epic mapping
788
-
789
- ### 4. Release Planning
790
- 📂 Directorio: \`04-release-planning/\`
791
-
792
- - [ ] Definir MVP (release 1)
793
- - [ ] Planificar releases subsecuentes
794
- - [ ] Crear roadmap de producto
795
- - [ ] Definir milestones
796
-
797
- ## ✅ Criterios de Salida
798
- - ✅ PRD aprobado por stakeholders
799
- - ✅ Backlog priorizado y estimado
800
- - ✅ Release plan definido
801
- - ✅ Sprint 1 planificado
802
-
803
- ## ➡️ Siguiente Fase
804
- Dependiendo del proyecto:
805
- - Proyecto nuevo → **04-planning/** (skip análisis)
806
- - Proyecto existente → **03-analysis/**
807
- `
808
- },
809
- {
810
- dir: '05-development',
811
- title: 'Fase 4: Desarrollo',
812
- content: `# 💻 START HERE - Fase Desarrollo
411
+ **Auditoría de Código**:
412
+ \`\`\`
413
+ proyecto/
414
+ ├── 01-comercial/ # Discovery y contrato
415
+ ├── 03-analysis/ # PRINCIPAL: Auditoría completa
416
+ │ ├── docs/client-docs/ # Código existente del cliente
417
+ │ └── reports/ # Reportes de auditoría
418
+ ├── 04-planning/ # Plan de mejoras
419
+ └── 08-support/ # Recomendaciones
420
+ \`\`\`
813
421
 
814
- ## Objetivo
815
- Implementar user stories siguiendo TDD y mejores prácticas.
422
+ **Desarrollo Desde Cero**:
423
+ \`\`\`
424
+ proyecto/
425
+ ├── 01-comercial/ # Discovery
426
+ ├── 02-inception/ # PRINCIPAL: PRD y diseño
427
+ ├── 04-planning/ # Sprints
428
+ ├── 05-development/ # PRINCIPAL: Implementación
429
+ │ ├── src/
430
+ │ └── tests/
431
+ ├── 06-qa/ # Testing
432
+ └── 07-deployment/ # Despliegue
433
+ \`\`\`
816
434
 
817
- ## Estructura
435
+ **Migración/Modernización**:
818
436
  \`\`\`
819
- 05-development/
820
- ├── src/ # Código fuente
821
- ├── tests/ # Tests (unit, integration, e2e)
822
- └── docs/ # Documentación técnica
437
+ proyecto/
438
+ ├── 01-comercial/ # Análisis de viabilidad
439
+ ├── 03-analysis/ # PRINCIPAL: Análisis de sistema legacy
440
+ │ ├── docs/client-docs/ # Documentación sistema actual
441
+ │ └── migration-plan/
442
+ ├── 05-development/ # Desarrollo nuevo sistema
443
+ └── 07-deployment/ # Plan de migración
823
444
  \`\`\`
824
445
 
825
- ## Pasos a seguir
826
-
827
- ### 1. Feature Kickoff
828
- - [ ] Seleccionar user story del sprint backlog
829
- - [ ] Revisar acceptance criteria
830
- - [ ] Diseño técnico (si es necesario)
831
- - [ ] Crear feature branch
832
-
833
- ### 2. Development (TDD)
834
- - [ ] **RED**: Escribir test que falla
835
- - [ ] **GREEN**: Implementar código mínimo para pasar test
836
- - [ ] **REFACTOR**: Mejorar código manteniendo tests en verde
837
- - [ ] Repetir ciclo
838
-
839
- ### 3. Code Review
840
- - [ ] Crear Pull Request
841
- - [ ] Solicitar revisión (mínimo 2 aprobadores)
842
- - [ ] Aplicar feedback
843
- - [ ] Aprobar PR
844
-
845
- ### 4. Integration
846
- - [ ] Merge a develop/main
847
- - [ ] CI/CD automático ejecuta tests
848
- - [ ] Deploy automático a dev/staging
849
-
850
- ## 🎯 Mejores Prácticas
851
- - ✅ Feature branches (feature/US-123-login)
852
- - ✅ Commits frecuentes y descriptivos
853
- - ✅ PRs pequeños (<400 líneas)
854
- - ✅ Code coverage >80%
855
- - ✅ SonarQube sin critical issues
856
-
857
- ## ➡️ Siguiente Fase
858
- Una vez features completas → **06-qa/**
859
- `
860
- }
861
- ];
446
+ ### 🎯 Comandos Útiles
862
447
 
863
- for (const phase of phases) {
864
- const filePath = path.join(projectPath, phase.dir, 'START_HERE.md');
865
- await fs.writeFile(filePath, phase.content);
866
- }
867
- }
448
+ \`\`\`bash
449
+ # Inicializar proyecto
450
+ awc init
868
451
 
869
- /**
870
- * Crea README.md en directorios client-docs
871
- */
872
- async function createClientDocsReadmes(projectPath) {
873
- const clientDocsReadmes = [
874
- {
875
- path: '01-comercial/docs/client-docs/README.md',
876
- content: `# 📄 Documentación del Cliente - Fase Comercial
877
-
878
- Este directorio contiene toda la documentación proporcionada por el cliente durante la fase comercial.
879
-
880
- ## 📂 Estructura
881
-
882
- ### requerimientos/
883
- Documentos de requerimientos del cliente:
884
- - PDFs con especificaciones funcionales
885
- - Word con listados de requerimientos
886
- - Excel con matrices de requerimientos
887
- - Presentaciones con necesidades del negocio
888
-
889
- ### presentaciones/
890
- Presentaciones del cliente:
891
- - Decks ejecutivos
892
- - Presentaciones de producto actual
893
- - Material de marketing
894
- - Diagramas de flujo de negocio
895
-
896
- ### contratos/
897
- Documentos contractuales (CONFIDENCIAL):
898
- - Contratos firmados
899
- - NDAs
900
- - SOWs (Statement of Work)
901
- - Anexos contractuales
902
-
903
- ⚠️ **IMPORTANTE**: Los archivos en \`contratos/\` están en .gitignore por defecto.
904
-
905
- ## 📝 Buenas Prácticas
906
-
907
- 1. **Nomenclatura**: Usar formato \`YYYYMMDD-nombre-descriptivo.ext\`
908
- - ✅ \`20260107-requerimientos-funcionales-v1.pdf\`
909
- - ❌ \`documento.pdf\`
910
-
911
- 2. **Versionado**: Incluir versión en el nombre
912
- - \`requerimientos-v1.0.docx\`
913
- - \`requerimientos-v1.1.docx\`
914
-
915
- 3. **Organización**: Un archivo por tipo de documento
916
- - No mezclar requerimientos con contratos
917
- - Mantener presentaciones separadas
918
-
919
- 4. **Respaldo**: Mantener originales intactos
920
- - No editar documentos del cliente
921
- - Crear copias de trabajo si es necesario
922
- `
923
- },
924
- {
925
- path: '02-inception/docs/client-docs/README.md',
926
- content: `# 📄 Documentación del Cliente - Fase Inception
927
-
928
- Este directorio contiene la documentación del cliente relevante para el inicio del proyecto.
929
-
930
- ## 📂 Estructura
931
-
932
- ### procesos/
933
- Diagramas y documentación de procesos actuales:
934
- - Diagramas de flujo (BPMN, Visio)
935
- - Mapas de procesos de negocio
936
- - Descripciones de workflows actuales
937
- - Casos de uso documentados
938
-
939
- ### manuales/
940
- Manuales de usuario de sistemas existentes:
941
- - Manuales de usuario en PDF/Word
942
- - Guías de operación
943
- - Documentación de sistemas legacy
944
- - FAQs del sistema actual
945
-
946
- ### imagenes/
947
- Material visual del cliente:
948
- - Screenshots de sistemas actuales
949
- - Wireframes/mockups proporcionados
950
- - Logos y branding guidelines
951
- - Fotografías de procesos físicos
952
- - Diagramas y esquemas
953
-
954
- ## 📝 Uso Recomendado
955
-
956
- **procesos/**: Usar para entender flujos actuales y diseñar mejoras
957
- **manuales/**: Referencia para features esperados en el nuevo sistema
958
- **imagenes/**: Material visual para PRD y documentación
959
-
960
- ## ⚠️ Importante
961
- - Estos documentos son REFERENCIA, no especificaciones finales
962
- - Validar con stakeholders antes de implementar
963
- - Mantener trazabilidad con el PRD
964
- `
965
- },
966
- {
967
- path: '03-analysis/docs/client-docs/README.md',
968
- content: `# 📄 Documentación del Cliente - Fase Análisis
969
-
970
- Documentación técnica del cliente para auditoría y análisis.
971
-
972
- ## 📂 Estructura
973
-
974
- ### arquitectura/
975
- Diagramas arquitectónicos actuales:
976
- - Diagramas de arquitectura (C4, UML)
977
- - Diagramas de red e infraestructura
978
- - Diagramas de componentes
979
- - Documentos de diseño técnico
980
-
981
- ### databases/
982
- Documentación de bases de datos:
983
- - Esquemas de base de datos (ERD)
984
- - Modelos de datos en PDF/Visio
985
- - Scripts SQL de estructura
986
- - Diccionarios de datos
987
- - Excel con tablas y campos
988
-
989
- ### especificaciones/
990
- Especificaciones técnicas:
991
- - Documentos de APIs existentes (Swagger, Postman)
992
- - Especificaciones de interfaces
993
- - Protocolos de integración
994
- - Documentación de servicios web
995
-
996
- ## 🎯 Objetivo
997
-
998
- Entender la arquitectura actual para:
999
- - Identificar technical debt
1000
- - Planificar migraciones
1001
- - Diseñar integraciones
1002
- - Evaluar impacto de cambios
1003
-
1004
- ## 📊 Artefactos Generados
1005
-
1006
- A partir de esta documentación, el equipo AWC generará:
1007
- - Reporte de auditoría de código
1008
- - Análisis de arquitectura
1009
- - Assessment de technical debt
1010
- - Recomendaciones de mejora
1011
- `
1012
- },
1013
- {
1014
- path: '04-planning/docs/client-docs/README.md',
1015
- content: `# 📄 Documentación del Cliente - Fase Planificación
1016
-
1017
- Documentación del cliente para planificación de sprints.
1018
-
1019
- ## 📂 Estructura
1020
-
1021
- ### historias/
1022
- User stories y casos de uso del cliente:
1023
- - Word/Excel con historias de usuario
1024
- - Casos de uso detallados
1025
- - Escenarios de negocio
1026
- - Criterios de aceptación iniciales
1027
-
1028
- ### estimaciones/
1029
- Material para estimación:
1030
- - Hojas de cálculo con estimaciones del cliente
1031
- - Referencias de proyectos similares
1032
- - Benchmarks de performance esperado
1033
- - Constraints de tiempo/presupuesto
1034
-
1035
- ## 💡 Uso
1036
-
1037
- Esta documentación ayuda a:
1038
- - Refinar user stories del backlog
1039
- - Validar estimaciones del equipo
1040
- - Alinear expectativas de tiempos
1041
- - Priorizar features según negocio
1042
- `
1043
- },
1044
- {
1045
- path: '05-development/docs/client-docs/README.md',
1046
- content: `# 📄 Documentación del Cliente - Fase Desarrollo
1047
-
1048
- Recursos técnicos del cliente necesarios para implementación.
1049
-
1050
- ## 📂 Estructura
1051
-
1052
- ### apis/
1053
- Documentación de APIs a integrar:
1054
- - Swagger/OpenAPI specs
1055
- - Colecciones de Postman
1056
- - WSDL de servicios SOAP
1057
- - Documentación de endpoints REST
1058
- - Credenciales de acceso (sandbox/test)
1059
-
1060
- ### integraciones/
1061
- Sistemas externos a integrar:
1062
- - Manuales de integración
1063
- - Diagramas de flujo de integración
1064
- - Mappings de campos
1065
- - Ejemplos de payloads XML/JSON
1066
- - Certificados SSL/TLS
1067
-
1068
- ### recursos/
1069
- Assets para la aplicación:
1070
- - Imágenes para UI (logos, iconos)
1071
- - Archivos de diseño (Figma, Sketch exports)
1072
- - Fuentes corporativas
1073
- - Guidelines de branding
1074
- - Templates de documentos
1075
-
1076
- ## 🔧 Integración
1077
-
1078
- **Antes de integrar**:
1079
- 1. Validar credenciales en ambiente de pruebas
1080
- 2. Revisar rate limits y SLAs
1081
- 3. Documentar endpoints en Swagger local
1082
- 4. Crear tests de integración
1083
-
1084
- **Durante desarrollo**:
1085
- - Mantener colecciones de Postman actualizadas
1086
- - Documentar cambios en APIs
1087
- - Reportar issues de integración al cliente
1088
- `
1089
- },
1090
- {
1091
- path: '06-qa/docs/client-docs/README.md',
1092
- content: `# 📄 Documentación del Cliente - Fase QA
1093
-
1094
- Material del cliente para validación y pruebas.
1095
-
1096
- ## 📂 Estructura
1097
-
1098
- ### criterios-aceptacion/
1099
- Criterios de aceptación del cliente:
1100
- - Excel/Word con criterios de aceptación
1101
- - Checklist de features esperados
1102
- - Requerimientos no funcionales (SLA, performance)
1103
- - Escenarios de validación de negocio
1104
-
1105
- ### escenarios-prueba/
1106
- Escenarios de prueba proporcionados:
1107
- - Casos de prueba del cliente
1108
- - Datos de prueba (datasets CSV/Excel)
1109
- - Scripts de carga de datos
1110
- - Escenarios end-to-end prioritarios
1111
-
1112
- ## ✅ Validación
1113
-
1114
- Esta documentación se usa para:
1115
- 1. Crear test cases alineados con expectativas
1116
- 2. Generar datos de prueba realistas
1117
- 3. Validar acceptance criteria
1118
- 4. Preparar UAT con el cliente
1119
-
1120
- ## 📋 UAT (User Acceptance Testing)
1121
-
1122
- Coordinar con cliente:
1123
- - [ ] Ambiente de UAT preparado
1124
- - [ ] Usuarios de prueba creados
1125
- - [ ] Datasets cargados
1126
- - [ ] Sesiones de UAT agendadas
1127
- - [ ] Formulario de signoff preparado
1128
- `
1129
- },
1130
- {
1131
- path: '07-deployment/docs/client-docs/README.md',
1132
- content: `# 📄 Documentación del Cliente - Fase Deployment
1133
-
1134
- Información de infraestructura del cliente para deployment.
1135
-
1136
- ## 📂 Estructura
1137
-
1138
- ### infraestructura/
1139
- Documentación de infraestructura del cliente:
1140
- - Diagramas de red
1141
- - Especificaciones de servidores
1142
- - Configuraciones de firewalls
1143
- - IPs y rangos asignados
1144
- - Políticas de seguridad
1145
-
1146
- ### accesos/
1147
- Credenciales y accesos (CONFIDENCIAL):
1148
- - Credenciales de servidores
1149
- - VPN configs
1150
- - Certificados SSL
1151
- - API keys de producción
1152
- - Passwords de bases de datos
1153
-
1154
- ⚠️ **CRÍTICO**:
1155
- - Archivos en esta carpeta están en .gitignore
1156
- - Usar gestor de secretos (Azure Key Vault, AWS Secrets Manager)
1157
- - NUNCA commitear credenciales al repositorio
1158
-
1159
- ## 🚀 Pre-Deployment Checklist
1160
-
1161
- - [ ] Accesos a servidores validados
1162
- - [ ] VPN configurada y probada
1163
- - [ ] DNS apuntando correctamente
1164
- - [ ] Certificados SSL instalados
1165
- - [ ] Firewall rules configurados
1166
- - [ ] Backup de producción realizado
1167
- `
1168
- },
1169
- {
1170
- path: '08-support/docs/client-docs/README.md',
1171
- content: `# 📄 Documentación del Cliente - Fase Soporte
1172
-
1173
- Documentación de incidentes y solicitudes del cliente.
1174
-
1175
- ## 📂 Estructura
1176
-
1177
- ### incidentes/
1178
- Reportes de incidentes del cliente:
1179
- - Screenshots de errores
1180
- - Logs proporcionados por el cliente
1181
- - Videos reproduciendo issues
1182
- - Reportes de usuarios finales
1183
-
1184
- ### cambios/
1185
- Solicitudes de cambio:
1186
- - Change requests (PDFs/Word)
1187
- - Nuevos requerimientos post-lanzamiento
1188
- - Solicitudes de mejoras
1189
- - Feedback de usuarios
1190
-
1191
- ## 🎫 Gestión de Incidentes
1192
-
1193
- **Flujo recomendado**:
1194
- 1. Cliente reporta → Copiar evidencia a \`incidentes/\`
1195
- 2. Crear ticket en sistema de tracking
1196
- 3. Reproducir y documentar en \`08-support/incidents/\`
1197
- 4. Resolver y validar con cliente
1198
-
1199
- **Nomenclatura**:
1200
- - \`INC-001-descripcion-corta/\` (subdirectorio por incidente)
1201
- - Dentro: screenshots, logs, análisis, solución
1202
-
1203
- ## 📝 Change Requests
1204
-
1205
- **Evaluación**:
1206
- 1. Cliente envía CR → Guardar en \`cambios/\`
1207
- 2. Equipo analiza impacto (tiempo/costo)
1208
- 3. Aprobar/rechazar con justificación
1209
- 4. Si aprobado → Crear user stories en backlog
1210
- `
1211
- }
1212
- ];
452
+ # Ver estado actual
453
+ awc status
1213
454
 
1214
- for (const readme of clientDocsReadmes) {
1215
- const filePath = path.join(projectPath, readme.path);
1216
- await fs.writeFile(filePath, readme.content);
1217
- }
455
+ # Validar estructura
456
+ awc validate
457
+
458
+ # Ver configuración
459
+ awc config
460
+ \`\`\`
461
+
462
+ ### 📚 Más Información
463
+
464
+ - **Documentación**: [README.md](./README.md)
465
+ - **Agentes**: Revisa \`.awc/agents/\` para ver los 26 agentes disponibles
466
+ - **Workflows**: Consulta \`.awc/workflows/\` para ver los 8 workflows
467
+ - **Templates**: Usa \`.awc/templates/\` para documentos profesionales
468
+
469
+ ---
470
+
471
+ 🚀 **¡Listo para empezar!** Ejecuta \`awc init\` ahora.
472
+ `;
1218
473
  }
1219
474
 
1220
475
  /**
1221
476
  * Crea configuración de VS Code para cargar AWC automáticamente
1222
477
  */
1223
- async function createVSCodeConfig(projectPath) {
478
+ async function createVSCodeConfig(projectPath, projectName) {
1224
479
  const vscodeDir = path.join(projectPath, '.vscode');
1225
480
  await fs.ensureDir(vscodeDir);
1226
481
 
1227
- // settings.json - Configuración de workspace
482
+ // settings.json
1228
483
  const settings = {
1229
484
  "github.copilot.enable": {
1230
485
  "*": true
@@ -1254,7 +509,7 @@ async function createVSCodeConfig(projectPath) {
1254
509
  { spaces: 2 }
1255
510
  );
1256
511
 
1257
- // extensions.json - Extensiones recomendadas
512
+ // extensions.json
1258
513
  const extensions = {
1259
514
  "recommendations": [
1260
515
  "github.copilot",
@@ -1270,12 +525,12 @@ async function createVSCodeConfig(projectPath) {
1270
525
  { spaces: 2 }
1271
526
  );
1272
527
 
1273
- // AWC-ZNS-MTD.code-workspace - Workspace file
528
+ // workspace file
1274
529
  const workspace = {
1275
530
  "folders": [
1276
531
  {
1277
532
  "path": ".",
1278
- "name": path.basename(projectPath)
533
+ "name": projectName
1279
534
  }
1280
535
  ],
1281
536
  "settings": {
@@ -1293,7 +548,7 @@ async function createVSCodeConfig(projectPath) {
1293
548
  };
1294
549
 
1295
550
  await fs.writeJson(
1296
- path.join(projectPath, `${path.basename(projectPath)}.code-workspace`),
551
+ path.join(projectPath, `${projectName}.code-workspace`),
1297
552
  workspace,
1298
553
  { spaces: 2 }
1299
554
  );