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.
- package/README.md +116 -0
- package/dist/cli.js +1774 -0
- 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.
|