ozali 0.4.1 → 0.6.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 +21 -9
- package/cli/bin/ozali.mjs +16 -5
- package/cli/lib/commands.mjs +614 -30
- package/cli/lib/detect.mjs +9 -1
- package/cli/lib/util.mjs +24 -0
- package/cli/test/smoke.test.mjs +124 -0
- package/docs/deploy-cloud-gcloud.md +149 -0
- package/docs/deploy-cloud-vps.md +174 -0
- package/docs/ideas/postgres-vs-mysql-engram-cloud.md +137 -0
- package/docs/team-history.md +52 -0
- package/package.json +2 -1
- package/skill/SKILL.md +48 -3
- package/skill/references/cdk-contract.md +72 -0
- package/skill/references/engram-convention.md +78 -0
- package/skill-commit/SKILL.md +81 -0
package/README.md
CHANGED
|
@@ -59,9 +59,9 @@ git clone <repo> && node ozali/cli/bin/ozali.mjs init
|
|
|
59
59
|
### Uso del CLI
|
|
60
60
|
|
|
61
61
|
```bash
|
|
62
|
-
ozali init # detecta agente, instala
|
|
63
|
-
ozali doctor # health-check read-only (fuente de verdad, Engram, Cloud, Strict TDD
|
|
64
|
-
ozali update # actualiza
|
|
62
|
+
ozali init # detecta agente, instala skills ozali + ozali-commit, aísla histórico, configura Engram
|
|
63
|
+
ozali doctor # health-check read-only (fuente de verdad, Engram, Cloud, versión de cdk, Strict TDD…)
|
|
64
|
+
ozali update # actualiza skills ozali + ozali-commit + ozali-jarvis + permisos; avisa si cdk quedó atrás
|
|
65
65
|
ozali sync # lleva el histórico (docs + Engram) al repo de conocimiento de equipo
|
|
66
66
|
ozali audit # navega/audita la memoria de Engram del proyecto (o general)
|
|
67
67
|
```
|
|
@@ -78,10 +78,17 @@ pnpm add -g ozali@<versión> # actualiza el CLI global (pinea la versión por
|
|
|
78
78
|
ozali update # en cada repo: refresca skill ozali + ozali-jarvis + permisos
|
|
79
79
|
```
|
|
80
80
|
|
|
81
|
-
`ozali update` también **crea ozali-jarvis**
|
|
82
|
-
`cdk` la **regenera tu agente** (no el CLI):
|
|
83
|
-
|
|
84
|
-
|
|
81
|
+
`ozali update` también **crea ozali-jarvis** y **instala la skill `ozali-commit`** en repos
|
|
82
|
+
inicializados con versiones anteriores. La skill `cdk` la **regenera/migra tu agente** (no el CLI):
|
|
83
|
+
`ozali update` **detecta la versión de contrato** de `cdk` y, si quedó atrás (o aún referencia
|
|
84
|
+
`copsis-commit` de versiones viejas), te avisa y te da los pasos manuales. Tras `ozali update`, abre
|
|
85
|
+
el agente y vuelve a correr la skill `ozali`: su **pre-flight** detecta el `cdk` existente, lo **migra
|
|
86
|
+
automáticamente** al contrato vigente (eliminando `copsis-commit` y cableando `ozali-commit`) y
|
|
87
|
+
estampa la versión — tus docs por hito y el plan congelado se conservan.
|
|
88
|
+
|
|
89
|
+
> **Commit del hito (`ozali-commit`):** `init`/`update` instalan la skill `ozali-commit`
|
|
90
|
+
> (`.claude/skills/ozali-commit/`), sucesora de `copsis-commit`. `cdk` la invoca al cerrar cada hito
|
|
91
|
+
> para generar el commit convencional (feat/fix/hotfix/refactor + scope) tras tu aprobación.
|
|
85
92
|
|
|
86
93
|
`init` también escribe un **perfil base de permisos** (`.claude/settings.json` para Claude Code,
|
|
87
94
|
`opencode.json` para opencode) para reducir confirmaciones: deja libres comandos seguros y bloquea
|
|
@@ -90,8 +97,10 @@ los destructivos. Es un template — tus reglas se conservan al re-correr `init`
|
|
|
90
97
|
confiable (`hasTrustDialogAccepted` en `~/.claude.json`); usa `--no-trust` para omitirlo.
|
|
91
98
|
|
|
92
99
|
`init` también **instala Engram** y registra su MCP con `engram setup <agente>`: en modo
|
|
93
|
-
interactivo te pregunta (default sí), y con `--yes` lo instala automáticamente.
|
|
94
|
-
|
|
100
|
+
interactivo te pregunta (default sí), y con `--yes` lo instala automáticamente. En **Linux**
|
|
101
|
+
descarga el **binario precompilado** correcto según tu arquitectura (amd64/arm64) a `~/.local/bin`
|
|
102
|
+
(sin sudo); en **macOS** usa brew → `go install` con el binario como fallback; en **Windows**
|
|
103
|
+
usa `go install`. Si algún paso falla, imprime instrucciones específicas de tu SO. Si prefieres no
|
|
95
104
|
instalarlo, pasa `--no-engram` (arranca en modo `docs`). Opcionalmente habilita **Engram Cloud**
|
|
96
105
|
(réplica de equipo opt-in) además del git-sync.
|
|
97
106
|
|
|
@@ -119,8 +128,11 @@ Claude Code y opencode (perfiles de permisos para ambos en
|
|
|
119
128
|
| Uso previsto (modelo mental) | [docs/intended-usage.md](docs/intended-usage.md) |
|
|
120
129
|
| Seguridad del instalador (npx/pnpm) | [docs/security.md](docs/security.md) |
|
|
121
130
|
| Histórico aislado y memoria de equipo | [docs/team-history.md](docs/team-history.md) |
|
|
131
|
+
| Desplegar Engram Cloud (VPS) | [docs/deploy-cloud-vps.md](docs/deploy-cloud-vps.md) |
|
|
132
|
+
| Desplegar Engram Cloud (Google Cloud) | [docs/deploy-cloud-gcloud.md](docs/deploy-cloud-gcloud.md) |
|
|
122
133
|
| Skill bootstrap | [skill/SKILL.md](skill/SKILL.md) |
|
|
123
134
|
| Calibración de testing + TDD | [skill/references/calibration-blueprint.md](skill/references/calibration-blueprint.md) |
|
|
135
|
+
| Contrato y versión de `cdk` | [skill/references/cdk-contract.md](skill/references/cdk-contract.md) |
|
|
124
136
|
| Blueprint de agentes | [skill/references/agents-blueprint.md](skill/references/agents-blueprint.md) |
|
|
125
137
|
| Memoria híbrida (docs + Engram) | [skill/references/engram-convention.md](skill/references/engram-convention.md) |
|
|
126
138
|
|
package/cli/bin/ozali.mjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
// Seguridad: sin dependencias ni scripts de instalación. Ejecuta seguro con
|
|
4
4
|
// `pnpm dlx ozali` o `npx --ignore-scripts ozali`. Ver docs/security.md.
|
|
5
5
|
import { c, err, pkgVersion } from "../lib/util.mjs";
|
|
6
|
-
import { init, doctor, update, sync, audit } from "../lib/commands.mjs";
|
|
6
|
+
import { init, doctor, update, sync, audit, cloud } from "../lib/commands.mjs";
|
|
7
7
|
|
|
8
8
|
const HELP = `
|
|
9
9
|
${c.bold("ozali")} ${c.dim("v" + pkgVersion())} — bootstrap de IA por equipo (TDD/SDD + memoria Engram)
|
|
@@ -12,12 +12,14 @@ ${c.bold("Uso:")}
|
|
|
12
12
|
ozali <comando> [opciones]
|
|
13
13
|
|
|
14
14
|
${c.bold("Comandos:")}
|
|
15
|
-
init Detecta el agente (Claude Code/opencode), instala
|
|
16
|
-
aísla el histórico, configura Engram y el repo de conocimiento.
|
|
17
|
-
doctor Health-check read-only del proyecto (fuente de verdad, Engram, TDD…).
|
|
18
|
-
update Actualiza la instalación (
|
|
15
|
+
init Detecta el agente (Claude Code/opencode), instala las skills ozali y
|
|
16
|
+
ozali-commit, aísla el histórico, configura Engram y el repo de conocimiento.
|
|
17
|
+
doctor Health-check read-only del proyecto (fuente de verdad, Engram, versión de cdk, TDD…).
|
|
18
|
+
update Actualiza la instalación (skills ozali + ozali-commit + ozali-jarvis + permisos)
|
|
19
|
+
al paquete y avisa si la skill cdk quedó desactualizada.
|
|
19
20
|
sync Sincroniza el histórico (docs + Engram) con el repo de conocimiento.
|
|
20
21
|
audit Navega/audita la memoria de Engram del proyecto (o general).
|
|
22
|
+
cloud Gestiona Engram Cloud: status, upgrade, repair, dashboard, config.
|
|
21
23
|
|
|
22
24
|
${c.bold("Opciones comunes:")}
|
|
23
25
|
--yes, -y No interactivo: usa defaults.
|
|
@@ -34,6 +36,10 @@ ${c.bold("Opciones comunes:")}
|
|
|
34
36
|
--general (audit) Auditoría general (todos los proyectos en Engram).
|
|
35
37
|
--tui (audit) Abre el navegador interactivo de Engram.
|
|
36
38
|
--search <q> (audit) Busca <q> en la memoria.
|
|
39
|
+
--dashboard (audit) Abre el dashboard de Engram Cloud en el navegador.
|
|
40
|
+
--conflicts (audit) Lista conflictos de memoria pendientes.
|
|
41
|
+
--judged (audit --conflicts) Muestra conflictos ya juzgados.
|
|
42
|
+
--stats (audit --conflicts) Estadísticas de conflictos.
|
|
37
43
|
-h, --help Esta ayuda. -v, --version Versión.
|
|
38
44
|
|
|
39
45
|
${c.bold("Instalación segura:")}
|
|
@@ -57,6 +63,10 @@ function parseArgs(argv) {
|
|
|
57
63
|
else if (a === "--general") opts.general = true;
|
|
58
64
|
else if (a === "--tui") opts.tui = true;
|
|
59
65
|
else if (a === "--search") opts.search = argv[++i];
|
|
66
|
+
else if (a === "--dashboard") opts.dashboard = true;
|
|
67
|
+
else if (a === "--conflicts") opts.conflicts = true;
|
|
68
|
+
else if (a === "--judged") opts.judged = true;
|
|
69
|
+
else if (a === "--stats") opts.stats = true;
|
|
60
70
|
else if (a === "--agent") opts.agent = argv[++i];
|
|
61
71
|
else if (a === "--scope") opts.scope = argv[++i];
|
|
62
72
|
else if (a === "--knowledge-repo") opts.knowledgeRepo = argv[++i];
|
|
@@ -83,6 +93,7 @@ async function main() {
|
|
|
83
93
|
case "update": return update(cwd, opts);
|
|
84
94
|
case "sync": return sync(cwd, opts);
|
|
85
95
|
case "audit": return await audit(cwd, opts);
|
|
96
|
+
case "cloud": return await cloud(cwd, opts);
|
|
86
97
|
default:
|
|
87
98
|
err(`comando desconocido "${cmd}". Usa ${c.bold("ozali --help")}.`);
|
|
88
99
|
return 1;
|