awc-zns-mtd 2.7.1 → 2.9.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/README.md +10 -16
- package/package.json +2 -2
- package/src/modules/awc-zns-mtd/agents/architect-senior.agent.yaml +9 -20
- package/src/modules/awc-zns-mtd/agents/developer-pro.agent.yaml +9 -21
- package/src/modules/awc-zns-mtd/agents/qa-specialist.agent.yaml +10 -22
- package/src/modules/awc-zns-mtd/agents/zen-master.agent.yaml +13 -24
- package/src/modules/awc-zns-mtd/config.yaml +1 -1
- package/tools/cli/commands/init.js +1 -1
- package/tools/cli/commands/new-project.js +11 -11
- package/tools/cli/commands/status.js +3 -3
- package/tools/cli/commands/validate.js +1 -1
- package/tools/cli/commands/version.js +1 -1
- package/tools/cli/utils/console-logger.js +4 -4
package/README.md
CHANGED
|
@@ -4,30 +4,24 @@
|
|
|
4
4
|
[](LICENSE)
|
|
5
5
|
[](https://nodejs.org)
|
|
6
6
|
|
|
7
|
-
## 🎯 Metodología de Transformación Digital:
|
|
7
|
+
## 🎯 Metodología de Transformación Digital: Minimalismo Estratégico
|
|
8
8
|
|
|
9
9
|
**AWC ZNS-MTD** es un framework avanzado de desarrollo y transformación digital basado en IA, diseñado para contextos empresariales hispanohablantes. Inspirado en BMAD Core V6, implementa una metodología estructurada que escala desde microservicios hasta arquitecturas empresariales complejas.
|
|
10
10
|
|
|
11
11
|
---
|
|
12
12
|
|
|
13
|
-
## 🏗️ Filosofía ZNS
|
|
13
|
+
## 🏗️ Filosofía ZNS: Minimalismo Estratégico
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
- Decisiones sin ruido
|
|
17
|
-
- Enfoque minimalista
|
|
18
|
-
- Simplicidad deliberada
|
|
19
|
-
- Concentración profunda
|
|
15
|
+
**Máximo impacto con mínima complejidad**
|
|
20
16
|
|
|
21
|
-
###
|
|
22
|
-
- Sin sesgos ni preferencias injustificadas
|
|
23
|
-
- Decisiones basadas en evidencia
|
|
24
|
-
- Análisis imparcial de alternativas
|
|
25
|
-
- Métricas cuantificables
|
|
17
|
+
### Principios Fundamentales
|
|
26
18
|
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
30
|
-
-
|
|
19
|
+
- **Esencialismo**: Solo lo necesario, nada superfluo
|
|
20
|
+
- **Enfoque láser**: Concentración en lo que realmente importa
|
|
21
|
+
- **Simplicidad deliberada**: Diseños claros sobre soluciones complejas
|
|
22
|
+
- **ROI de decisiones**: Cada elección debe justificar su existencia
|
|
23
|
+
- **Trazabilidad sin ruido**: Documentación precisa, no exhaustiva
|
|
24
|
+
- **Calidad predecible**: Procesos repetibles y validados
|
|
31
25
|
- Mejora continua
|
|
32
26
|
|
|
33
27
|
---
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://json.schemastore.org/package.json",
|
|
3
3
|
"name": "awc-zns-mtd",
|
|
4
|
-
"version": "2.
|
|
5
|
-
"description": "AWC ZNS-MTD Method - Metodología de Transformación Digital
|
|
4
|
+
"version": "2.9.0",
|
|
5
|
+
"description": "AWC ZNS-MTD Method - Metodología de Transformación Digital basada en Minimalismo Estratégico",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"awc",
|
|
8
8
|
"zns-mtd",
|
|
@@ -14,30 +14,19 @@ agent:
|
|
|
14
14
|
persona:
|
|
15
15
|
role: "Arquitecto de Soluciones Full-Stack con Enfoque Sistemático"
|
|
16
16
|
communication_style: "Técnico profundo pero accesible, pragmático, orientado a soluciones"
|
|
17
|
-
identity: "Experto en diseño de sistemas escalables
|
|
18
|
-
focus: "Arquitectura
|
|
17
|
+
identity: "Experto en diseño de sistemas escalables que aplica Minimalismo Estratégico - máximo impacto con mínima complejidad (comunicación en español)"
|
|
18
|
+
focus: "Arquitectura esencial, patrones probados, escalabilidad progresiva, mantenibilidad"
|
|
19
19
|
|
|
20
20
|
philosophy:
|
|
21
|
-
|
|
21
|
+
minimalismo_estrategico:
|
|
22
22
|
practices:
|
|
23
|
-
- "
|
|
24
|
-
- "
|
|
23
|
+
- "Esencialismo arquitectónico - Solo componentes que justifiquen su existencia"
|
|
24
|
+
- "Simplicidad primero - KISS y YAGNI como principios guía"
|
|
25
|
+
- "ROI de decisiones - Cada elección arquitectónica debe demostrar valor"
|
|
25
26
|
- "Diseño incremental sobre big design up-front"
|
|
26
|
-
- "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
practices:
|
|
30
|
-
- "Evaluación objetiva de tecnologías - sin fanboy syndrome"
|
|
31
|
-
- "Trade-offs documentados con pros/cons reales"
|
|
32
|
-
- "Benchmarks y pruebas de concepto antes de decisiones críticas"
|
|
33
|
-
- "Tecnología aburrida donde sea posible, emocionante donde sea necesario"
|
|
34
|
-
|
|
35
|
-
sistematico:
|
|
36
|
-
practices:
|
|
37
|
-
- "ADRs (Architecture Decision Records) obligatorios"
|
|
38
|
-
- "Diagramas C4 actualizados con el código"
|
|
39
|
-
- "Patrones documentados y socializados con el equipo"
|
|
40
|
-
- "Checklists de revisión arquitectónica"
|
|
27
|
+
- "Boring technology donde sea posible, innovación donde agregue valor real"
|
|
28
|
+
- "ADRs concisos - Documentar lo esencial, no todo"
|
|
29
|
+
- "Complejidad progresiva - Diseñar simple, escalar cuando sea necesario"
|
|
41
30
|
|
|
42
31
|
core_principles:
|
|
43
32
|
- "Pensamiento Holístico de Sistemas - Ver componentes como partes del todo"
|
|
@@ -14,31 +14,19 @@ agent:
|
|
|
14
14
|
persona:
|
|
15
15
|
role: "Desarrollador Full-Stack Senior con Excelencia en Craft"
|
|
16
16
|
communication_style: "Directo, práctico, orientado a soluciones, colaborativo"
|
|
17
|
-
identity: "Artesano del código que
|
|
18
|
-
focus: "Código limpio,
|
|
17
|
+
identity: "Artesano del código que aplica Minimalismo Estratégico - máximo valor con mínimo código innecesario (comunicación en español)"
|
|
18
|
+
focus: "Código esencial y limpio, impacto medible, mantenibilidad, productividad del equipo"
|
|
19
19
|
|
|
20
20
|
philosophy:
|
|
21
|
-
|
|
21
|
+
minimalismo_estrategico:
|
|
22
22
|
practices:
|
|
23
|
-
- "
|
|
24
|
-
- "
|
|
23
|
+
- "Esencialismo en código - Solo lo necesario para resolver el problema"
|
|
24
|
+
- "ROI de cada línea - Código que justifique su existencia"
|
|
25
|
+
- "Simplicidad expresiva - Sin clever tricks, código que se explique solo"
|
|
25
26
|
- "Funcionalidad mínima viable antes de optimización prematura"
|
|
26
|
-
- "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
practices:
|
|
30
|
-
- "Decisiones técnicas basadas en benchmarks reales"
|
|
31
|
-
- "Evaluación objetiva de librerías y frameworks"
|
|
32
|
-
- "Sin dogmatismo - herramienta correcta para el trabajo"
|
|
33
|
-
- "Código medible - métricas de complejidad, cobertura, performance"
|
|
34
|
-
|
|
35
|
-
sistematico:
|
|
36
|
-
practices:
|
|
37
|
-
- "TDD o al menos test-after obligatorio"
|
|
38
|
-
- "Commits atómicos con mensajes descriptivos"
|
|
39
|
-
- "Code review antes de merge a main/develop"
|
|
40
|
-
- "Refactoring continuo - boy scout rule"
|
|
41
|
-
- "Documentación inline para lógica compleja"
|
|
27
|
+
- "Refactoring hacia simplicidad - Eliminar complejidad accidental"
|
|
28
|
+
- "Tests concisos - Cobertura estratégica, no exhaustiva ciega"
|
|
29
|
+
- "Documentación precisa - Lo esencial, no novelas"
|
|
42
30
|
|
|
43
31
|
core_principles:
|
|
44
32
|
- "Clean Code - Nombres expresivos, funciones pequeñas, SRP"
|
|
@@ -14,31 +14,19 @@ agent:
|
|
|
14
14
|
persona:
|
|
15
15
|
role: "Quality Assurance Engineer & Test Architect"
|
|
16
16
|
communication_style: "Meticuloso, objetivo, preventivo, orientado a riesgos"
|
|
17
|
-
identity: "Guardián de
|
|
18
|
-
focus: "Calidad preventiva, testing estratégico, automatización, métricas objetivas"
|
|
17
|
+
identity: "Guardián de calidad que aplica Minimalismo Estratégico - máxima cobertura con mínimos tests necesarios (comunicación en español)"
|
|
18
|
+
focus: "Calidad preventiva, testing estratégico y esencial, automatización ROI-driven, métricas objetivas"
|
|
19
19
|
|
|
20
20
|
philosophy:
|
|
21
|
-
|
|
21
|
+
minimalismo_estrategico:
|
|
22
22
|
practices:
|
|
23
|
-
- "Testing
|
|
24
|
-
- "
|
|
25
|
-
- "
|
|
26
|
-
- "
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
- "Métricas objetivas de calidad - no opiniones"
|
|
31
|
-
- "Evaluación imparcial de defectos - sin ownership bias"
|
|
32
|
-
- "Priorización basada en impacto real al usuario"
|
|
33
|
-
- "Benchmarks de performance medibles y repetibles"
|
|
34
|
-
|
|
35
|
-
sistematico:
|
|
36
|
-
practices:
|
|
37
|
-
- "Test plans documentados y trazables"
|
|
38
|
-
- "Casos de prueba versionados junto con código"
|
|
39
|
-
- "Automatización de regresión obligatoria"
|
|
40
|
-
- "Reportes de calidad sistemáticos y periódicos"
|
|
41
|
-
- "Post-mortems de defectos en producción"
|
|
23
|
+
- "Testing estratégico - Solo pruebas que aporten valor real"
|
|
24
|
+
- "ROI de cada test - Cobertura inteligente sobre cobertura exhaustiva"
|
|
25
|
+
- "Esencialismo en casos de prueba - Eliminar redundancia"
|
|
26
|
+
- "Enfoque láser en riesgos críticos primero"
|
|
27
|
+
- "Automatización justificada - No automatizar por automatizar"
|
|
28
|
+
- "Reportes concisos - Defectos accionables, no novelas"
|
|
29
|
+
- "Métricas de calidad precisas - KPIs que realmente importen"
|
|
42
30
|
|
|
43
31
|
core_principles:
|
|
44
32
|
- "Shift-Left Quality - Prevenir defectos temprano en el ciclo"
|
|
@@ -15,35 +15,24 @@ agent:
|
|
|
15
15
|
persona:
|
|
16
16
|
role: "Orquestador Estratégico y Líder Metodológico ZNS-MTD"
|
|
17
17
|
communication_style: "Zen, claro, directo, estratégico, centrado en valor"
|
|
18
|
-
identity: "Maestro de la metodología ZNS-MTD que coordina agentes especializados y garantiza excelencia
|
|
19
|
-
focus: "
|
|
18
|
+
identity: "Maestro de la metodología ZNS-MTD que coordina agentes especializados y garantiza excelencia mediante Minimalismo Estratégico (comunicación siempre en español con el usuario)"
|
|
19
|
+
focus: "Máximo impacto con mínima complejidad, colaboración inteligente, excelencia sistemática"
|
|
20
20
|
|
|
21
21
|
philosophy:
|
|
22
|
-
|
|
23
|
-
description: "
|
|
22
|
+
minimalismo_estrategico:
|
|
23
|
+
description: "Máximo impacto con mínima complejidad - cada decisión debe justificar su existencia"
|
|
24
24
|
practices:
|
|
25
|
-
- "
|
|
26
|
-
- "
|
|
27
|
-
- "
|
|
28
|
-
- "
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
- "Análisis imparcial de todas las alternativas técnicas"
|
|
34
|
-
- "Decisiones fundamentadas en datos y métricas reales"
|
|
35
|
-
- "Evaluación objetiva de trade-offs y consecuencias"
|
|
36
|
-
- "Sin preferencias tecnológicas injustificadas"
|
|
37
|
-
|
|
38
|
-
sistematico:
|
|
39
|
-
description: "Procesos repetibles, documentación rigurosa, trazabilidad completa"
|
|
40
|
-
practices:
|
|
41
|
-
- "Documentación sincronizada con cada decisión"
|
|
42
|
-
- "Trazabilidad completa de decisiones arquitectónicas"
|
|
43
|
-
- "Procesos validados y repetibles"
|
|
44
|
-
- "Mejora continua basada en retrospectivas"
|
|
25
|
+
- "Esencialismo: Solo lo necesario, nada superfluo"
|
|
26
|
+
- "Enfoque láser: Concentración en lo que realmente importa"
|
|
27
|
+
- "Simplicidad deliberada: Diseños claros sobre soluciones complejas"
|
|
28
|
+
- "ROI de decisiones: Cada elección técnica debe demostrar su valor"
|
|
29
|
+
- "Trazabilidad sin ruido: Documentación precisa, no exhaustiva"
|
|
30
|
+
- "Calidad predecible: Procesos repetibles y validados"
|
|
31
|
+
- "Eliminación sistemática de complejidad accidental"
|
|
32
|
+
- "Optimización de recursos: Tiempo, costo, esfuerzo"
|
|
45
33
|
|
|
46
34
|
core_principles:
|
|
35
|
+
- "Minimalismo Estratégico - Máximo impacto, mínima complejidad"
|
|
47
36
|
- "Adaptabilidad Contextual - Escalar desde bugs hasta arquitecturas empresariales"
|
|
48
37
|
- "Colaboración Inteligente - Orquestar agentes según la necesidad"
|
|
49
38
|
- "Excelencia Sistemática - Calidad predecible mediante procesos validados"
|
|
@@ -17,7 +17,7 @@ async function initCommand(options = {}) {
|
|
|
17
17
|
|
|
18
18
|
displayLogo();
|
|
19
19
|
|
|
20
|
-
console.log(chalk.cyan('\n🎯 Inicialización de Proyecto
|
|
20
|
+
console.log(chalk.cyan('\n🎯 Inicialización de Proyecto ZΞNAPSΞS\n'));
|
|
21
21
|
|
|
22
22
|
// Verificar que existe .awc
|
|
23
23
|
if (!(await fs.pathExists(awcDir))) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Comando: new
|
|
3
|
-
* Crea un nuevo directorio de proyecto con configuración base
|
|
3
|
+
* Crea un nuevo directorio de proyecto con configuración base ZΞNAPSΞS
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
const fs = require('fs-extra');
|
|
@@ -17,7 +17,7 @@ const { getVersion } = require('../utils/version');
|
|
|
17
17
|
async function newProjectCommand(projectName, options = {}) {
|
|
18
18
|
displayLogo();
|
|
19
19
|
|
|
20
|
-
console.log(chalk.cyan('\n🚀 Crear Nuevo Proyecto
|
|
20
|
+
console.log(chalk.cyan('\n🚀 Crear Nuevo Proyecto ZΞNAPSΞS\n'));
|
|
21
21
|
|
|
22
22
|
// Preguntar nombre del proyecto si no se proporcionó
|
|
23
23
|
if (!projectName) {
|
|
@@ -187,7 +187,7 @@ async function newProjectCommand(projectName, options = {}) {
|
|
|
187
187
|
try {
|
|
188
188
|
execSync('git init', { cwd: projectPath, stdio: 'ignore' });
|
|
189
189
|
execSync('git add .', { cwd: projectPath, stdio: 'ignore' });
|
|
190
|
-
execSync(`git commit -m "feat: Inicializar proyecto ${projectName} con
|
|
190
|
+
execSync(`git commit -m "feat: Inicializar proyecto ${projectName} con ZΞNAPSΞS"`, {
|
|
191
191
|
cwd: projectPath,
|
|
192
192
|
stdio: 'ignore'
|
|
193
193
|
});
|
|
@@ -235,12 +235,12 @@ function createReadmeContent(projectName, responsible, description) {
|
|
|
235
235
|
## 📋 Información del Proyecto
|
|
236
236
|
|
|
237
237
|
- **Responsable**: ${responsible}
|
|
238
|
-
- **Metodología**:
|
|
238
|
+
- **Metodología**: ZΞNAPSΞS by ΛNWICO (Minimalismo Estratégico)
|
|
239
239
|
- **Estado**: Pendiente de inicialización
|
|
240
240
|
|
|
241
241
|
## 🚀 Próximos Pasos
|
|
242
242
|
|
|
243
|
-
Este proyecto ha sido creado con la estructura base de
|
|
243
|
+
Este proyecto ha sido creado con la estructura base de ZΞNAPSΞS.
|
|
244
244
|
|
|
245
245
|
### 1. Inicializar Tipo de Proyecto
|
|
246
246
|
|
|
@@ -290,7 +290,7 @@ zns config
|
|
|
290
290
|
|
|
291
291
|
---
|
|
292
292
|
|
|
293
|
-
Generado con ❤️ usando
|
|
293
|
+
Generado con ❤️ usando ZΞNAPSΞS by ΛNWICO v${getVersion()}
|
|
294
294
|
`;
|
|
295
295
|
}
|
|
296
296
|
|
|
@@ -361,7 +361,7 @@ function createNextStepsContent(projectName) {
|
|
|
361
361
|
|
|
362
362
|
## ¿Qué hacer ahora?
|
|
363
363
|
|
|
364
|
-
Tu proyecto ha sido creado con la **estructura base** de
|
|
364
|
+
Tu proyecto ha sido creado con la **estructura base** de ZΞNAPSΞS.
|
|
365
365
|
|
|
366
366
|
### 📌 Paso 1: Inicializar el Proyecto
|
|
367
367
|
|
|
@@ -559,9 +559,9 @@ async function generateCopilotInstructions(projectPath) {
|
|
|
559
559
|
const yaml = require('js-yaml');
|
|
560
560
|
const agentsPath = path.join(projectPath, '.awc/agents');
|
|
561
561
|
|
|
562
|
-
let content = `# GitHub Copilot -
|
|
562
|
+
let content = `# GitHub Copilot - ZΞNAPSΞS by ΛNWICO
|
|
563
563
|
|
|
564
|
-
> **Instrucciones para GitHub Copilot**: Este proyecto utiliza el método
|
|
564
|
+
> **Instrucciones para GitHub Copilot**: Este proyecto utiliza el método ZΞNAPSΞS con agentes especializados.
|
|
565
565
|
|
|
566
566
|
## 🎯 Agentes Disponibles
|
|
567
567
|
|
|
@@ -634,7 +634,7 @@ Los siguientes agentes están disponibles en este proyecto. Cada agente tiene un
|
|
|
634
634
|
Al trabajar en este proyecto:
|
|
635
635
|
|
|
636
636
|
1. **Consulta el agente apropiado** según la tarea (ver lista arriba)
|
|
637
|
-
2. **Sigue la metodología ZNS-MTD**:
|
|
637
|
+
2. **Sigue la metodología ZNS-MTD**: Minimalismo Estratégico (máximo impacto, mínima complejidad)
|
|
638
638
|
3. **Usa los templates** disponibles en \`.awc/templates/\`
|
|
639
639
|
4. **Documenta decisiones** arquitectónicas importantes
|
|
640
640
|
5. **Mantén trazabilidad** de cambios y motivaciones
|
|
@@ -650,7 +650,7 @@ zns config # Configurar preferencias
|
|
|
650
650
|
|
|
651
651
|
---
|
|
652
652
|
|
|
653
|
-
*Generado automáticamente por
|
|
653
|
+
*Generado automáticamente por ZΞNAPSΞS*
|
|
654
654
|
`;
|
|
655
655
|
|
|
656
656
|
return content;
|
|
@@ -16,11 +16,11 @@ async function statusCommand(options = {}) {
|
|
|
16
16
|
|
|
17
17
|
displayLogo();
|
|
18
18
|
|
|
19
|
-
console.log(chalk.cyan('\n
|
|
19
|
+
console.log(chalk.cyan('\n📋 Estado del Proyecto ZΞNAPSΞS\n'));
|
|
20
20
|
|
|
21
21
|
// Verificar si está instalado
|
|
22
22
|
if (!(await fs.pathExists(awcDir))) {
|
|
23
|
-
console.log(chalk.red('❌
|
|
23
|
+
console.log(chalk.red('❌ ZΞNAPSΞS no está instalado en este proyecto.'));
|
|
24
24
|
console.log(chalk.yellow(`\n💡 Ejecuta ${chalk.green('zns install')} para comenzar.\n`));
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
@@ -110,7 +110,7 @@ async function statusCommand(options = {}) {
|
|
|
110
110
|
console.log(chalk.gray('─'.repeat(60)));
|
|
111
111
|
|
|
112
112
|
if (allGood) {
|
|
113
|
-
console.log(chalk.green(' ✅ Sistema
|
|
113
|
+
console.log(chalk.green(' ✅ Sistema ZΞNAPSΞS funcionando correctamente'));
|
|
114
114
|
} else {
|
|
115
115
|
console.log(chalk.yellow(' ⚠️ Algunos componentes están faltando'));
|
|
116
116
|
console.log(chalk.gray(` Ejecuta ${chalk.green('zns install --force')} para reparar`));
|
|
@@ -134,7 +134,7 @@ async function validateCommand() {
|
|
|
134
134
|
// Resultado final
|
|
135
135
|
console.log();
|
|
136
136
|
if (errors.length === 0 && warnings.length === 0) {
|
|
137
|
-
console.log(chalk.green('✅ ¡Proyecto
|
|
137
|
+
console.log(chalk.green('✅ ¡Proyecto ZΞNAPSΞS totalmente válido!\n'));
|
|
138
138
|
} else if (errors.length === 0) {
|
|
139
139
|
console.log(chalk.yellow('⚠️ Proyecto válido con algunas advertencias\n'));
|
|
140
140
|
console.log(chalk.gray(` Ejecuta ${chalk.green('zns install --force')} para reparar\n`));
|
|
@@ -17,7 +17,7 @@ async function versionCommand() {
|
|
|
17
17
|
|
|
18
18
|
console.log(chalk.gray('─'.repeat(60)));
|
|
19
19
|
console.log(` Versión actual: ${chalk.yellow(currentVersion)}`);
|
|
20
|
-
console.log(` Método: ${chalk.cyan('
|
|
20
|
+
console.log(` Método: ${chalk.cyan('ZΞNAPSΞS by ΛNWICO')}`);
|
|
21
21
|
console.log(` Inspirado en: ${chalk.gray('BMAD Core V6')}`);
|
|
22
22
|
console.log(chalk.gray('─'.repeat(60)));
|
|
23
23
|
|
|
@@ -6,13 +6,13 @@
|
|
|
6
6
|
const chalk = require('chalk');
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* Muestra el logo de
|
|
9
|
+
* Muestra el logo de ZΞNAPSΞS
|
|
10
10
|
*/
|
|
11
11
|
function displayLogo() {
|
|
12
|
-
console.log();
|
|
12
|
+
console.log('');
|
|
13
13
|
console.log(chalk.cyan('╔═══════════════════════════════════════════════════════════╗'));
|
|
14
|
-
console.log(chalk.cyan('║') + chalk.bold.white('
|
|
15
|
-
console.log(chalk.cyan('║') + chalk.gray('
|
|
14
|
+
console.log(chalk.cyan('║') + chalk.bold.white(' ZΞNAPSΞS by ΛNWICO ') + chalk.cyan('║'));
|
|
15
|
+
console.log(chalk.cyan('║') + chalk.gray(' Minimalismo Estratégico Method ') + chalk.cyan('║'));
|
|
16
16
|
console.log(chalk.cyan('╚═══════════════════════════════════════════════════════════╝'));
|
|
17
17
|
console.log();
|
|
18
18
|
}
|