g360-cli 1.0.0 → 1.1.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 (30) hide show
  1. package/README.md +626 -28
  2. package/package.json +1 -1
  3. package/src/assets/config/g360-skills.json +172 -0
  4. package/src/assets/templates/lit-web/index.html +20 -0
  5. package/src/assets/templates/lit-web/package.json +19 -0
  6. package/src/assets/templates/lit-web/src/components/app-root.js +73 -0
  7. package/src/assets/templates/lit-web/src/core/skill.json +18 -0
  8. package/src/assets/templates/lit-web/src/index.js +8 -0
  9. package/src/assets/templates/lit-web/src/styles/main.css +91 -0
  10. package/src/assets/templates/lit-web/vite.config.js +10 -0
  11. package/src/assets/templates/solid-web/index.html +21 -0
  12. package/src/assets/templates/solid-web/package.json +20 -0
  13. package/src/assets/templates/solid-web/src/components/App.jsx +21 -0
  14. package/src/assets/templates/solid-web/src/core/skill.json +18 -0
  15. package/src/assets/templates/solid-web/src/index.jsx +11 -0
  16. package/src/assets/templates/solid-web/src/styles/main.css +115 -0
  17. package/src/assets/templates/solid-web/vite.config.js +12 -0
  18. package/src/assets/templates/svelte-web/package.json +21 -0
  19. package/src/assets/templates/svelte-web/src/app.css +77 -0
  20. package/src/assets/templates/svelte-web/src/app.html +19 -0
  21. package/src/assets/templates/svelte-web/src/core/skill.json +18 -0
  22. package/src/assets/templates/svelte-web/src/routes/+page.svelte +38 -0
  23. package/src/assets/templates/svelte-web/svelte.config.js +16 -0
  24. package/src/assets/templates/web-pwa/index.html +19 -21
  25. package/src/assets/templates/web-pwa/package.json +18 -2
  26. package/src/cli.js +25 -0
  27. package/src/commands/clean.js +288 -30
  28. package/src/commands/convert.js +388 -0
  29. package/src/commands/init.js +2 -1
  30. package/src/commands/set-skill.js +84 -0
package/README.md CHANGED
@@ -1,53 +1,651 @@
1
1
  # g360-cli
2
2
 
3
- CLI tool for bootstrapping G360 ecosystem projects with standardized structure.
3
+ > CLI tool for bootstrapping G360 ecosystem projects with standardized structure, assets, and best practices.
4
4
 
5
- ## Quick Start
5
+ [![npm version](https://img.shields.io/npm/v/g360-cli)](https://www.npmjs.com/package/g360-cli)
6
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
+
8
+ ## Tabla de Contenidos
9
+
10
+ - [Características](#características)
11
+ - [Instalación](#instalación)
12
+ - [Inicio Rápido](#inicio-rápido)
13
+ - [Comandos](#comandos)
14
+ - [Plantillas](#plantillas)
15
+ - [Componentes](#componentes)
16
+ - [Skills](#skills)
17
+ - [Configuración](#configuración)
18
+ - [API](#api)
19
+ - [Contribución](#contribución)
20
+ - [Licencia](#licencia)
21
+
22
+ ---
23
+
24
+ ## Características
25
+
26
+ - **Inicialización rápida** - Crea proyectos G360 con estructura estándar
27
+ - **Gestión de assets** - Trae componentes, skills y plantillas embebidas
28
+ - **Auditoría** - Verifica compliance de proyectos G360
29
+ - **Limpieza** - Elimina assets embebidos antes de deployment
30
+ - **Multi-plantilla** - Web PWA, Python CLI, VBA Excel
31
+ - **Modo offline** - Funciona sin conexión usando assets cacheados
32
+ - **Preview** - Dry-run para previsualizar cambios
33
+
34
+ ---
35
+
36
+ ## Instalación
37
+
38
+ ### Requisitos
39
+
40
+ - Node.js >= 18.0.0
41
+ - npm >= 8.0.0
42
+
43
+ ### Instalación global
44
+
45
+ ```bash
46
+ npm install -g g360-cli
47
+ ```
48
+
49
+ ### Verificar instalación
50
+
51
+ ```bash
52
+ g360 --version
53
+ g360 health
54
+ ```
55
+
56
+ ---
57
+
58
+ ## Inicio Rápido
6
59
 
7
60
  ```bash
8
- # Initialize a new project
9
- g360 init my-project
61
+ # 1. Inicializar nuevo proyecto
62
+ g360 init mi-proyecto
10
63
 
11
- # Bring G360 assets into your project
64
+ # 2. Entrar al proyecto
65
+ cd mi-proyecto
66
+
67
+ # 3. Traer assets G360
12
68
  g360 bring
13
69
 
14
- # List available templates
70
+ # 4. Ver estructura
71
+ g360 present
72
+
73
+ # 5. Auditar proyecto
74
+ g360 audit
75
+
76
+ # 6. Limpiar antes de deploy
77
+ g360 clean
78
+ ```
79
+
80
+ ---
81
+
82
+ ## Comandos
83
+
84
+ ### `g360 init`
85
+
86
+ Inicializa un nuevo proyecto G360.
87
+
88
+ ```bash
89
+ g360 init <nombre> [opciones]
90
+ ```
91
+
92
+ **Opciones:**
93
+
94
+ | Opción | Descripción | Valor por defecto |
95
+ |--------|-------------|-------------------|
96
+ | `-t, --template <tipo>` | Tipo de plantilla | `web-pwa` |
97
+ | `-s, --skill <skill>` | Skill a usar | `corporativo-movil` |
98
+ | `-d, --dir <ruta>` | Directorio destino | `.` |
99
+ | `--dry-run` | Previsualizar sin crear | `false` |
100
+ | `--force` | Sobrescribir existente | `false` |
101
+
102
+ **Ejemplos:**
103
+
104
+ ```bash
105
+ # Proyecto Lit para cliente móvil
106
+ g360 init mi-proyecto --template lit-web --skill corporativo-movil
107
+
108
+ # Proyecto Solid para herramienta propia
109
+ g360 init mi-herramienta --template solid-web --skill moderno-movil
110
+
111
+ # Proyecto SvelteKit minimalista
112
+ g360 init mi-script --template svelte-web --skill minimalista
113
+
114
+ # Preview sin crear
115
+ g360 init mi-proyecto --dry-run
116
+ ```
117
+
118
+ ---
119
+
120
+ ### `g360 set-skill`
121
+
122
+ Cambia el skill del proyecto actual.
123
+
124
+ ```bash
125
+ g360 set-skill <skill> [opciones]
126
+ ```
127
+
128
+ **Opciones:**
129
+
130
+ | Opción | Descripción |
131
+ |--------|-------------|
132
+ | `--verbose` | Mostrar detalles |
133
+ | `--force` | Sobrescribir skill existente |
134
+
135
+ **Ejemplos:**
136
+
137
+ ```bash
138
+ # Cambiar a skill corporativo para PC
139
+ g360 set-skill corporativo
140
+
141
+ # Cambiar a skill moderno para móvil
142
+ g360 set-skill moderno-movil
143
+
144
+ # Ver detalles del skill
145
+ g360 set-skill corporativo-g360 --verbose
146
+ ```
147
+
148
+ ---
149
+
150
+ ### `g360 convert`
151
+
152
+ Convierte un proyecto existente a identidad G360.
153
+
154
+ ```bash
155
+ g360 convert [ruta] [opciones]
156
+ ```
157
+
158
+ **Opciones:**
159
+
160
+ | Opción | Descripción | Valor por defecto |
161
+ |--------|-------------|-------------------|
162
+ | `-s, --skill <skill>` | Skill a aplicar | `corporativo-movil` |
163
+ | `--dry-run` | Previsualizar sin aplicar | `false` |
164
+ | `--restructure` | Reestructurar archivos | `false` |
165
+ | `--force` | Forzar cambios peligrosos | `false` |
166
+ | `--backup` | Crear backup antes | `false` |
167
+
168
+ **Ejemplos:**
169
+
170
+ ```bash
171
+ # Preview de cambios
172
+ g360 convert . --dry-run
173
+
174
+ # Convertir proyecto existente
175
+ g360 convert ./mi-proyecto --skill corporativo
176
+
177
+ # Con backup automático
178
+ g360 convert . --skill moderno --backup
179
+
180
+ # Forzar cambios peligrosos
181
+ g360 convert . --skill corporativo-movil --force
182
+ ```
183
+
184
+ ---
185
+
186
+ ### `g360 bring`
187
+
188
+ Trae assets G360 al proyecto actual.
189
+
190
+ ```bash
191
+ g360 bring [asset] [opciones]
192
+ ```
193
+
194
+ **Opciones:**
195
+
196
+ | Opción | Descripción |
197
+ |--------|-------------|
198
+ | `-p, --path <ruta>` | Ruta destino |
199
+ | `--dry-run` | Previsualizar |
200
+ | `--force` | Sobrescribir |
201
+
202
+ **Ejemplos:**
203
+
204
+ ```bash
205
+ # Traer todos los assets
206
+ g360 bring
207
+
208
+ # Traer solo componentes
209
+ g360 bring components
210
+
211
+ # Traer solo skills
212
+ g360 bring skills
213
+
214
+ # Traer engine específico
215
+ g360 bring engine/g360-skill-audit
216
+ ```
217
+
218
+ ---
219
+
220
+ ### `g360 list`
221
+
222
+ Lista assets disponibles.
223
+
224
+ ```bash
225
+ g360 list [tipo] [opciones]
226
+ ```
227
+
228
+ **Tipos:**
229
+
230
+ | Tipo | Descripción |
231
+ |------|-------------|
232
+ | `templates` | Lista de plantillas |
233
+ | `components` | Lista de componentes |
234
+ | `skills` | Lista de skills |
235
+ | `all` | Todo (por defecto) |
236
+
237
+ **Ejemplos:**
238
+
239
+ ```bash
240
+ # Listar todo
241
+ g360 list
242
+
243
+ # Solo plantillas
15
244
  g360 list templates
16
245
 
17
- # Present your project structure
246
+ # Solo componentes
247
+ g360 list components
248
+
249
+ # Salida JSON
250
+ g360 list --json
251
+ ```
252
+
253
+ ---
254
+
255
+ ### `g360 present`
256
+
257
+ Presenta la estructura del proyecto.
258
+
259
+ ```bash
260
+ g360 present [ruta] [opciones]
261
+ ```
262
+
263
+ **Opciones:**
264
+
265
+ | Opción | Descripción | Valor por defecto |
266
+ |--------|-------------|-------------------|
267
+ | `--depth <n>` | Profundidad máxima | `3` |
268
+
269
+ **Ejemplo:**
270
+
271
+ ```bash
18
272
  g360 present
273
+ g360 present ./mi-proyecto --depth 2
274
+ ```
275
+
276
+ ---
277
+
278
+ ### `g360 audit`
279
+
280
+ Audita el proyecto para compliance G360.
281
+
282
+ ```bash
283
+ g360 audit [ruta] [opciones]
284
+ ```
19
285
 
20
- # Audit your project
286
+ **Opciones:**
287
+
288
+ | Opción | Descripción |
289
+ |--------|-------------|
290
+ | `--fix` | Auto-corregir problemas |
291
+ | `--verbose` | Salida detallada |
292
+
293
+ **Ejemplo:**
294
+
295
+ ```bash
21
296
  g360 audit
297
+ g360 audit ./mi-proyecto --verbose
298
+ ```
22
299
 
23
- # Clean embedded assets before deployment
24
- g360 clean
300
+ ---
301
+
302
+ ### `g360 clean`
25
303
 
26
- # Check system health
304
+ Limpia código muerto, duplicados y archivos huérfanos del proyecto.
305
+
306
+ ```bash
307
+ g360 clean [ruta] [opciones]
308
+ ```
309
+
310
+ **Opciones:**
311
+
312
+ | Opción | Descripción |
313
+ |--------|-------------|
314
+ | `--dry-run` | Previsualizar archivos |
315
+ | `--force` | Omitir confirmación |
316
+ | `--dead` | Eliminar archivos muertos/descontinuados |
317
+ | `--duplicates` | Eliminar archivos duplicados |
318
+ | `--orphans` | Eliminar archivos huérfanos (sin referencias) |
319
+ | `--organize` | Mostrar archivos descolocados |
320
+ | `--all` | Ejecutar todas las verificaciones |
321
+
322
+ **Ejemplos:**
323
+
324
+ ```bash
325
+ # Preview de limpieza completa
326
+ g360 clean --dry-run --all
327
+
328
+ # Solo archivos muertos
329
+ g360 clean --dead --force
330
+
331
+ # Solo duplicados
332
+ g360 clean --duplicates --force
333
+
334
+ # Verificar huérfanos (sin eliminar)
335
+ g360 clean --orphans --dry-run
336
+ ```
337
+
338
+ ---
339
+
340
+ ### `g360 health`
341
+
342
+ Verifica el estado del sistema.
343
+
344
+ ```bash
345
+ g360 health [opciones]
346
+ ```
347
+
348
+ **Opciones:**
349
+
350
+ | Opción | Descripción |
351
+ |--------|-------------|
352
+ | `--verbose` | Info detallada |
353
+
354
+ **Ejemplo:**
355
+
356
+ ```bash
27
357
  g360 health
358
+ g360 health --verbose
359
+ ```
360
+
361
+ ---
362
+
363
+ ### `g360 update`
364
+
365
+ Actualiza g360-cli a la última versión.
366
+
367
+ ```bash
368
+ g360 update [opciones]
369
+ ```
370
+
371
+ **Opciones:**
372
+
373
+ | Opción | Descripción |
374
+ |--------|-------------|
375
+ | `--check` | Solo verificar sin actualizar |
28
376
 
29
- # Update to latest version
377
+ **Ejemplo:**
378
+
379
+ ```bash
380
+ # Verificar nueva versión
381
+ g360 update --check
382
+
383
+ # Actualizar
30
384
  g360 update
31
385
  ```
32
386
 
33
- ## Commands
387
+ ---
388
+
389
+ ## Plantillas
390
+
391
+ ### lit-web
392
+
393
+ Plantilla Web Components con Lit.
394
+
395
+ ```
396
+ mi-proyecto/
397
+ ├── index.html
398
+ ├── src/
399
+ │ ├── index.js
400
+ │ ├── components/
401
+ │ │ └── app-root.js
402
+ │ └── styles/
403
+ │ └── main.css
404
+ ├── vite.config.js
405
+ ├── package.json
406
+ └── skill.json
407
+ ```
408
+
409
+ ### solid-web
410
+
411
+ Plantilla con SolidJS.
412
+
413
+ ```
414
+ mi-proyecto/
415
+ ├── index.html
416
+ ├── src/
417
+ │ ├── index.jsx
418
+ │ ├── components/
419
+ │ │ └── App.jsx
420
+ │ └── styles/
421
+ │ └── main.css
422
+ ├── vite.config.js
423
+ ├── package.json
424
+ └── skill.json
425
+ ```
426
+
427
+ ### svelte-web
428
+
429
+ Plantilla con SvelteKit.
430
+
431
+ ```
432
+ mi-proyecto/
433
+ ├── src/
434
+ │ ├── app.html
435
+ │ ├── app.css
436
+ │ ├── routes/
437
+ │ │ └── +page.svelte
438
+ │ └── core/
439
+ │ └── skill.json
440
+ ├── svelte.config.js
441
+ ├── package.json
442
+ └── skill.json
443
+ ```
444
+
445
+ ### web-pwa (React)
446
+
447
+ Plantilla React + Vite con PWA.
448
+
449
+ ```
450
+ mi-proyecto/
451
+ ├── index.html
452
+ ├── app.js
453
+ ├── styles.css
454
+ ├── manifest.json
455
+ └── package.json
456
+ ```
457
+
458
+ ### python-cli
459
+
460
+ Plantilla CLI de Python.
461
+
462
+ ```
463
+ mi-cli/
464
+ ├── src/
465
+ │ ├── main.py
466
+ │ └── core/
467
+ │ └── skill.json
468
+ ├── requirements.txt
469
+ └── skill.json
470
+ ```
471
+
472
+ ### vba-excel
473
+
474
+ Plantilla VBA para Excel.
475
+
476
+ ```
477
+ mi-excel/
478
+ ├── src/
479
+ │ ├── Module_Main.bas
480
+ │ ├── g360-datamap.bas
481
+ │ └── skill.json
482
+ └── skill.json
483
+ ```
484
+
485
+ ---
486
+
487
+ ## Componentes
488
+
489
+ ### g360-signature
490
+
491
+ Firma G360 para proyectos web (Web Component).
492
+
493
+ ```html
494
+ <!-- Modo para clientes -->
495
+ <g360-signature mode="powered"></g360-signature>
496
+
497
+ <!-- Modo propio -->
498
+ <g360-signature mode="own"></g360-signature>
499
+
500
+ <!-- Con versión -->
501
+ <g360-signature mode="powered" version="1.0.0"></g360-signature>
502
+ ```
503
+
504
+ **Atributos:**
505
+ - `mode`: "own" (G360 by ccusi) o "powered" (powered by G360)
506
+ - `version`: Número de versión opcional
507
+
508
+ **Características:**
509
+ - Isotipo: 3 puntos verticales + chevron >
510
+ - Colores: #00d084 (verde), #94a3b8 (gris)
511
+ - Opacidad: 0.4 por defecto, 1.0 en hover
512
+ - Tema: auto-detecta prefers-color-scheme
513
+
514
+ ### G360DragModal
515
+
516
+ Modal draggable para interfaces.
517
+
518
+ ```jsx
519
+ import G360DragModal from './g360/components/G360DragModal.jsx';
520
+
521
+ G360DragModal({
522
+ isOpen: true,
523
+ title: 'Configuración',
524
+ onClose: () => setOpen(false),
525
+ children: '<p>Contenido del modal</p>'
526
+ });
527
+ ```
528
+
529
+ ---
530
+
531
+ ## Skills
532
+
533
+ Los skills definen el estilo visual, dispositivo y signature del proyecto.
534
+
535
+ ### corporativo
536
+
537
+ Proyectos para clientes - estilo corporativo conservador (PC).
538
+
539
+ ### corporativo-movil
540
+
541
+ Proyectos para clientes - estilo corporativo - enfoque móvil.
542
+
543
+ ### corporativo-g360
544
+
545
+ Proyectos para clientes con colores G360 vibrantes (PC).
546
+
547
+ ### corporativo-g360-movil
548
+
549
+ Proyectos para clientes con colores G360 - enfoque móvil.
550
+
551
+ ### moderno
552
+
553
+ Herramientas propias G360 - estilo innovador (PC).
554
+
555
+ ### moderno-movil
556
+
557
+ Herramientas propias G360 - estilo innovador (móvil).
558
+
559
+ ### minimalista
560
+
561
+ Proyectos minimalistas - scripts, CLI, Python.
562
+
563
+ ### custom
564
+
565
+ Configuración personalizada - colores ajustables.
566
+
567
+ ### Ejemplos de uso
568
+
569
+ ```bash
570
+ # Al crear proyecto
571
+ g360 init mi-proyecto --skill corporativo-movil
572
+
573
+ # Cambiar skill después
574
+ g360 set-skill moderno
575
+
576
+ # Ver skills disponibles
577
+ g360 list skills
578
+ ```
579
+
580
+ ---
581
+
582
+ ## Configuración
583
+
584
+ ### g360-manifest.json
585
+
586
+ Archivo de manifiesto del proyecto.
587
+
588
+ ```json
589
+ {
590
+ "name": "mi-proyecto",
591
+ "template": "web-pwa",
592
+ "version": "1.0.0",
593
+ "createdAt": "2024-01-01T00:00:00.000Z",
594
+ "assets": [
595
+ {
596
+ "name": "components",
597
+ "addedAt": "2024-01-01T00:00:00.000Z"
598
+ }
599
+ ]
600
+ }
601
+ ```
602
+
603
+ ### Configuración Global
604
+
605
+ ```bash
606
+ # Directorio de configuración
607
+ ~/.g360/
608
+
609
+ # Assets cacheados
610
+ ~/.g360/cache/
611
+ ```
612
+
613
+ ---
614
+
615
+ ## API
616
+
617
+ ### Módulo Principal
618
+
619
+ ```javascript
620
+ import { g360 } from 'g360-cli';
621
+
622
+ await g360.init({ name: 'proyecto', template: 'web-pwa' });
623
+ await g360.bring('components');
624
+ await g360.audit({ path: '.', verbose: true });
625
+ await g360.clean({ path: '.', force: true });
626
+ ```
627
+
628
+ ---
629
+
630
+ ## Contribución
631
+
632
+ 1. Fork el repositorio
633
+ 2. Crea una rama (`git checkout -b feature/nueva-funcion`)
634
+ 3. Commit tus cambios (`git commit -m 'Agregar nueva función'`)
635
+ 4. Push a la rama (`git push origin feature/nueva-funcion`)
636
+ 5. Abre un Pull Request
637
+
638
+ ---
34
639
 
35
- - `g360 init <name>` - Initialize a new G360 project
36
- - `g360 bring <asset>` - Bring assets into current project
37
- - `g360 list [type]` - List available templates/components/skills
38
- - `g360 present [path]` - Present project structure
39
- - `g360 audit [path]` - Audit project for G360 compliance
40
- - `g360 clean [path]` - Clean embedded assets
41
- - `g360 health` - Check system health
42
- - `g360 update` - Update g360-cli to latest version
640
+ ## Licencia
43
641
 
44
- ## Options
642
+ MIT License - ver [LICENSE](LICENSE) para más detalles.
45
643
 
46
- - `--dry-run` - Preview changes without applying
47
- - `--force` - Overwrite existing files
48
- - `--verbose` - Verbose output
49
- - `--offline` - Work offline (use cached assets)
644
+ ---
50
645
 
51
- ## License
646
+ ## Enlaces
52
647
 
53
- MIT
648
+ - [npm](https://www.npmjs.com/package/g360-cli)
649
+ - [GitHub](https://github.com/carloscus/g360-cli)
650
+ - [Documentación](#)
651
+ - [Reportar Issue](https://github.com/carloscus/g360-cli/issues)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "g360-cli",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "CLI tool for bootstrapping G360 ecosystem projects",
5
5
  "type": "module",
6
6
  "main": "src/cli.js",