inovabiz-harness 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +116 -0
  2. package/dist/cli.js +1774 -0
  3. package/package.json +50 -0
package/README.md ADDED
@@ -0,0 +1,116 @@
1
+ # INOVABIZ Dev Kit Harness
2
+
3
+ TUI y CLI corporativa para explorar el AI Assets Registry y materializar su conocimiento en la carpeta `.agents/` de cada proyecto.
4
+
5
+ El Dev Kit sólo lee el Registry y nunca modifica el repositorio central. Si un perfil requiere una fuente externa, la CLI la identifica y ejecuta su comando de instalación antes de aplicar el perfil, sin exponer la salida interna del proceso.
6
+
7
+ ## Requisitos
8
+
9
+ - Node.js 20 o superior.
10
+ - Git.
11
+ - Git Credential Manager (GCM).
12
+
13
+ ## Instalación y desarrollo
14
+
15
+ ```bash
16
+ npm install
17
+ npm run check
18
+ npm link
19
+ ```
20
+
21
+ La prueba funcional aislada se ejecuta con `npm run test:functional`; compila el binario, prepara `output`, ejecuta `--setup=angular21` y vuelve a dejar el directorio vacío.
22
+
23
+ ## Configuración corporativa
24
+
25
+ Configura una vez la URL HTTPS del Registry corporativo, sin credenciales embebidas. El Dev Kit la guarda globalmente para el usuario:
26
+
27
+ ```bash
28
+ inovabiz-dev-kit-harness --remote "https://example.invalid/organization/project/_git/registry"
29
+ ```
30
+
31
+ La misma configuración se puede administrar con `inovabiz-dev-kit-harness config remote set|get|unset`. Para CI u overrides temporales, `INOVABIZ_DEV_KIT_REGISTRY_URL` tiene precedencia sobre la URL persistida. La rama `main` permanece fijada en el paquete. El Dev Kit no requiere App Registration ni PAT: GCM abre el inicio de sesión corporativo cuando una operación Git lo necesita y conserva la sesión en el almacén seguro del sistema operativo.
32
+
33
+ ## TUI
34
+
35
+ ```bash
36
+ inovabiz-dev-kit-harness
37
+ ```
38
+
39
+ En una terminal interactiva abre una aplicación de consola con tema teal oscuro, estado resumido del Registry y un menú principal. Las rutas extensas se reservan para **Estado y ayuda** y cada acción de escritura pasa antes por una revisión clara.
40
+
41
+ | Sección | Propósito | Atajos principales |
42
+ | --- | --- | --- |
43
+ | Inicio | Resumen del proyecto y accesos principales. | `1`–`5`, `↑`/`↓`, `Enter`, `q` |
44
+ | Perfiles | Buscar, consultar compatibilidad y revisar un setup antes de aplicarlo. | `/`, `↑`/`↓`, `Enter`, `Esc` |
45
+ | Configuración avanzada | Elegir tecnología y luego seleccionar overlays por categoría. | `Tab`, `↑`/`↓`, `c`, `Espacio`, `s`, `Esc` |
46
+ | Sincronizar proyecto | Revisar perfil, revisión y extras instalados antes de sincronizar. | `Enter`, `Esc` |
47
+ | Estado y ayuda | Ver autenticación, caché, destino completo y atajos. | `Esc` |
48
+
49
+ `Esc` siempre vuelve al menú principal. En la pantalla de revisión, `y` aplica, `f` aplica ignorando conflictos de archivos administrados y `n` cancela.
50
+
51
+ ## CLI no interactiva
52
+
53
+ ```bash
54
+ inovabiz-dev-kit-harness login # opcional: valida acceso e inicia GCM si hace falta
55
+ inovabiz-dev-kit-harness auth status
56
+ inovabiz-dev-kit-harness profiles
57
+ inovabiz-dev-kit-harness list skills --profile angular21
58
+ inovabiz-dev-kit-harness setup angular21
59
+ inovabiz-dev-kit-harness --setup=angular21
60
+ inovabiz-dev-kit-harness sync
61
+ inovabiz-dev-kit-harness add skills nestjs-feature-architecture --technology nestjs --version 10
62
+ inovabiz-dev-kit-harness remove skills nestjs-feature-architecture --technology nestjs --version 10
63
+ inovabiz-dev-kit-harness skill nestjs-feature-architecture --profile angular21 --technology nestjs --version 10
64
+ ```
65
+
66
+ Todos los comandos que consultan el Registry intentan autenticar automáticamente mediante GCM. `auth status` no inicia una sesión: informa si existe acceso reutilizable, si se requiere autenticación o si Azure DevOps no está disponible. El cierre o cambio de cuenta se administra directamente en GCM.
67
+
68
+ Un `setup` o `sync` que requiere skills externas las instala sin solicitar entradas adicionales. El Dev Kit acepta únicamente comandos `npx skills add <fuente>` y fuerza siempre `--path .agents/skills -y`, aunque esos flags no estén declarados en el Registry o indiquen otro destino.
69
+
70
+ Durante `setup`, la salida interna de `npx` se mantiene oculta. Al finalizar, el comando muestra únicamente `INOVABIZ Dev Kit configurado correctamente.`; `--json` conserva el resultado técnico completo para automatizaciones.
71
+
72
+ Integración recomendada en `package.json`:
73
+
74
+ ```json
75
+ {
76
+ "scripts": {
77
+ "dev": "inovabiz-dev-kit-harness sync && ng serve"
78
+ }
79
+ }
80
+ ```
81
+
82
+ El setup inicial también puede integrarse como `inovabiz-dev-kit-harness --setup=angular21 && ng serve`.
83
+
84
+ ### Fuente local
85
+
86
+ Para desarrollar o validar contra un checkout local:
87
+
88
+ ```bash
89
+ inovabiz-dev-kit-harness profiles --registry-path "../AI Assets Registry"
90
+ inovabiz-dev-kit-harness setup angular21 --registry-path "../AI Assets Registry"
91
+ ```
92
+
93
+ ### Caché y modo offline
94
+
95
+ Cada operación remota consulta `main` mediante Git/GCM, la resuelve a un commit y trabaja contra una snapshot inmutable. Si Azure DevOps sufre un error transitorio, se usa la última snapshot válida y se informa su antigüedad. Los errores de identidad o permisos nunca se ocultan con caché.
96
+
97
+ `--offline` prohíbe la consulta remota y exige una snapshot local válida.
98
+
99
+ ## Estado administrado
100
+
101
+ `.agents/.inovabiz-dev-kit-harness.json` registra el perfil, commit del Registry, assets base, overlays y hashes. Los archivos ajenos no se eliminan. Si un archivo administrado fue modificado localmente, la operación termina con conflicto; `--force` reemplaza exclusivamente archivos administrados.
102
+
103
+ Las fuentes externas declaradas mediante `SOURCE.json` se registran en `.agents/external-skills.json`. Cuando definen un comando, la CLI lo ejecuta una sola vez por fuente durante `setup` y `sync`, sin entrada interactiva y con salida oculta. Si el proceso falla, se informa el código de salida y un detalle limitado y sanitizado.
104
+
105
+ ## Publicación en npm
106
+
107
+ El scope público `@inovabiz` debe existir en npm y la cuenta o identidad de CI que publique debe tener permisos sobre él. Antes de publicar, revisa el contenido con `npm pack --dry-run --json`; el paquete está configurado para publicar únicamente `dist`, `README.md` y `package.json`.
108
+
109
+ ## Códigos de salida
110
+
111
+ - `0`: éxito.
112
+ - `1`: uso inválido.
113
+ - `2`: Registry o instalación inválida.
114
+ - `3`: conflicto local.
115
+ - `4`: autenticación o autorización.
116
+ - `5`: Registry no disponible y sin caché válida.