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 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 la skill, aísla el histórico, instala+configura Engram
63
- ozali doctor # health-check read-only (fuente de verdad, Engram, Cloud, Strict TDD, runner…)
64
- ozali update # actualiza la instalación (skill ozali + ozali-jarvis + permisos) al paquete
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** en repos inicializados con versiones anteriores. La skill
82
- `cdk` la **regenera tu agente** (no el CLI): tras `ozali update`, abre el agente y vuelve a correr la
83
- skill `ozali` para regenerar `cdk` con el contrato nuevo tus docs por hito y el plan congelado se
84
- conservan.
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. Usa brew en
94
- macOS/Linux, `go install` en Windows, con binario precompilado como fallback. Si prefieres no
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 la skill ozali,
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 (skill ozali + ozali-jarvis + permisos) al paquete.
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;