vgxness 1.2.1 → 1.3.1

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 (85) hide show
  1. package/README.md +20 -19
  2. package/dist/cli/cli-help.js +4 -7
  3. package/dist/cli/commands/index.js +1 -1
  4. package/dist/cli/commands/interactive-entrypoint-dispatcher.js +150 -0
  5. package/dist/cli/commands/setup-dispatcher.js +11 -8
  6. package/dist/cli/dispatcher.js +1 -8
  7. package/dist/cli/doctor-renderer.js +1 -1
  8. package/dist/cli/index.js +0 -0
  9. package/dist/cli/sdd-renderer.js +7 -7
  10. package/dist/cli/setup-status-renderer.js +1 -0
  11. package/dist/cli/tui/main-menu/index.js +0 -1
  12. package/dist/cli/tui/main-menu/main-menu-controller.js +0 -2
  13. package/dist/cli/tui/main-menu/main-menu-read-model.js +10 -8
  14. package/dist/cli/tui/main-menu/main-menu-render-shape.js +19 -2
  15. package/dist/cli/tui/main-menu/main-menu-state.js +1 -1
  16. package/dist/cli/tui/opentui/code/index.js +210 -0
  17. package/dist/cli/tui/opentui/code/screen.js +107 -0
  18. package/dist/cli/tui/opentui/code/smoke.js +32 -0
  19. package/dist/cli/tui/opentui/main-menu/index.js +3 -0
  20. package/dist/cli/tui/opentui/main-menu/renderer.js +68 -0
  21. package/dist/cli/tui/opentui/main-menu/screen.js +68 -0
  22. package/dist/cli/tui/opentui/main-menu/smoke.js +17 -0
  23. package/dist/cli/tui/opentui/main-menu/view.js +8 -0
  24. package/dist/cli/tui/opentui/setup/index.js +3 -0
  25. package/dist/cli/tui/opentui/setup/renderer.js +87 -0
  26. package/dist/cli/tui/opentui/setup/screen.js +170 -0
  27. package/dist/cli/tui/opentui/setup/smoke.js +42 -0
  28. package/dist/cli/tui/opentui/setup/view.js +12 -0
  29. package/dist/cli/tui/setup/setup-tui-input.js +43 -0
  30. package/dist/cli/tui/setup/setup-tui-read-model.js +4 -4
  31. package/dist/cli/tui/setup/setup-tui-render-shape.js +9 -10
  32. package/dist/cli/tui/setup/setup-tui-state.js +1 -1
  33. package/dist/cli/tui/setup/setup-tui-view-helpers.js +46 -0
  34. package/dist/cli/tui/visual/index.js +0 -2
  35. package/dist/code/runtime/sdd-context.js +2 -2
  36. package/dist/code/tui/approval-actions.js +33 -0
  37. package/dist/code/tui/prompt-mode.js +11 -0
  38. package/dist/code/tui/runtime-events.js +320 -0
  39. package/dist/mcp/validation.js +6 -2
  40. package/dist/orchestrator/natural-language-planner.js +1 -1
  41. package/dist/sdd/sdd-workflow-service.js +1 -25
  42. package/dist/setup/backup-rollback-service.js +2 -2
  43. package/dist/setup/providers/antigravity-setup-adapter.js +1 -1
  44. package/dist/setup/providers/claude-setup-adapter.js +2 -2
  45. package/dist/setup/providers/custom-setup-adapter.js +1 -1
  46. package/dist/setup/providers/opencode-setup-adapter.js +3 -3
  47. package/dist/setup/setup-lifecycle-service.js +6 -6
  48. package/dist/setup/setup-plan.js +3 -3
  49. package/dist/verification/verification-plan-service.js +1 -1
  50. package/docs/architecture.md +43 -42
  51. package/docs/cli.md +141 -133
  52. package/docs/funcionamiento-del-sistema.md +22 -23
  53. package/docs/harness-gap-analysis.md +15 -1
  54. package/docs/prd.md +14 -14
  55. package/docs/vgxcode.md +87 -0
  56. package/docs/vgxness-code.md +6 -4
  57. package/package.json +5 -6
  58. package/dist/cli/commands/dashboard-dispatcher.js +0 -560
  59. package/dist/cli/dashboard-operational-read-models.js +0 -428
  60. package/dist/cli/dashboard-renderer.js +0 -158
  61. package/dist/cli/dashboard-screen-renderers.js +0 -256
  62. package/dist/cli/dashboard-tui-read-model.js +0 -73
  63. package/dist/cli/dashboard-tui-state.js +0 -314
  64. package/dist/cli/guided-main-menu.js +0 -470
  65. package/dist/cli/interactive-dashboard.js +0 -34
  66. package/dist/cli/setup-wizard-read-model.js +0 -72
  67. package/dist/cli/setup-wizard-renderer.js +0 -155
  68. package/dist/cli/setup-wizard-state.js +0 -82
  69. package/dist/cli/tui/dashboard/dashboard-adapter.js +0 -4
  70. package/dist/cli/tui/main-menu/main-menu-app.js +0 -28
  71. package/dist/cli/tui/render-ink-app.js +0 -10
  72. package/dist/cli/tui/setup/screens/applying-screen.js +0 -6
  73. package/dist/cli/tui/setup/screens/cancellation-screen.js +0 -6
  74. package/dist/cli/tui/setup/screens/error-recovery-screen.js +0 -6
  75. package/dist/cli/tui/setup/screens/final-confirmation-screen.js +0 -6
  76. package/dist/cli/tui/setup/screens/opencode-details-screen.js +0 -10
  77. package/dist/cli/tui/setup/screens/plan-review-screen.js +0 -6
  78. package/dist/cli/tui/setup/screens/project-database-screen.js +0 -6
  79. package/dist/cli/tui/setup/screens/provider-screen.js +0 -7
  80. package/dist/cli/tui/setup/screens/result-screen.js +0 -16
  81. package/dist/cli/tui/setup/screens/screen-components.js +0 -103
  82. package/dist/cli/tui/setup/screens/welcome-screen.js +0 -6
  83. package/dist/cli/tui/setup/setup-tui-app.js +0 -113
  84. package/dist/cli/tui/visual/choice-list.js +0 -10
  85. package/dist/cli/tui/visual/layout.js +0 -10
@@ -25,7 +25,7 @@ Para resolverlos, el sistema se construye sobre estos bloques:
25
25
  | Politica de permisos | Decide si una operacion se permite, se bloquea o requiere aprobacion humana. |
26
26
  | MCP server | Expone herramientas para que agentes consulten y actualicen el control plane. |
27
27
  | CLI | Permite operar el sistema desde comandos reproducibles. |
28
- | Dashboard/TUI | Muestra estado local, setup, runs y progreso SDD para humanos. |
28
+ | TUI | Muestra setup y guias operativas locales para humanos. |
29
29
 
30
30
  ## Que problema resuelve
31
31
 
@@ -58,7 +58,7 @@ Scripts principales:
58
58
 
59
59
  | Script | Funcion |
60
60
  |---|---|
61
- | `npm run cli -- ...` | Ejecuta la CLI local desde `src/cli/index.ts`. |
61
+ | `bun run cli:bun -- ...` | Ejecuta la CLI local desde el repo usando el mismo runtime Bun que los bins instalados. |
62
62
  | `npm run build` | Compila TypeScript y copia migraciones. |
63
63
  | `npm run test` | Ejecuta tests con el runner nativo de Node. |
64
64
  | `npm run typecheck` | Valida tipos sin emitir archivos. |
@@ -71,7 +71,7 @@ Humano / operador
71
71
  |
72
72
  | usa
73
73
  v
74
- CLI / Dashboard / TUI
74
+ CLI / TUI
75
75
  |
76
76
  | llama servicios locales
77
77
  v
@@ -92,7 +92,7 @@ MCP control plane
92
92
  Core de vgxness
93
93
  ```
94
94
 
95
- La regla importante es que CLI, MCP y dashboard no deberian tener reglas de negocio duplicadas. Todos deben pasar por los mismos servicios de dominio.
95
+ La regla importante es que CLI, MCP y TUI no deberian tener reglas de negocio duplicadas. Todos deben pasar por los mismos servicios de dominio.
96
96
 
97
97
  ## Capas del sistema
98
98
 
@@ -105,7 +105,7 @@ El sistema tiene varias superficies de uso.
105
105
  | CLI | Humano, scripts, smoke tests | `src/cli/dispatcher.ts` | Parsear comandos y llamar servicios. |
106
106
  | MCP stdio | Agentes y herramientas IA | `src/mcp/stdio-server.ts` | Exponer herramientas MCP locales. |
107
107
  | MCP control plane | Capa interna MCP | `src/mcp/control-plane.ts` | Validar tool calls y despacharlas a servicios. |
108
- | Dashboard/TUI | Humano local | `src/cli/interactive-dashboard.ts` | Mostrar estado operativo y permitir navegacion local. |
108
+ | TUI | Humano local | `src/cli/tui/` | Mostrar setup y guias operativas locales. |
109
109
 
110
110
  La CLI es intencionalmente fina. Abre la base local, instancia servicios y devuelve JSON o texto. No deberia contener la logica profunda del producto.
111
111
 
@@ -170,10 +170,10 @@ Una accion puede entrar por CLI o por MCP.
170
170
  Ejemplos CLI:
171
171
 
172
172
  ```bash
173
- npm run cli -- sdd status --project vgxness --change my-change
174
- npm run cli -- orchestrator preview --project vgxness --intent "Build a new checkout workflow" --change checkout-flow
175
- npm run cli -- agents resolve --project vgxness --workflow sdd --phase apply-progress
176
- npm run cli -- runs list --project vgxness
173
+ vgxness sdd status --project vgxness --change my-change
174
+ vgxness orchestrator preview --project vgxness --intent "Build a new checkout workflow" --change checkout-flow
175
+ vgxness agents resolve --project vgxness --workflow sdd --phase apply-progress
176
+ vgxness runs list --project vgxness
177
177
  ```
178
178
 
179
179
  Ejemplo MCP:
@@ -305,7 +305,7 @@ Este seam es importante porque separa la decision de ruteo de la ejecucion real.
305
305
  La CLI expone el planner con:
306
306
 
307
307
  ```bash
308
- npm run cli -- orchestrator preview --project vgxness --intent "Build a new persistent checkout workflow" --change checkout-flow --db .vgx/memory.sqlite
308
+ vgxness orchestrator preview --project vgxness --intent "Build a new persistent checkout workflow" --change checkout-flow --db .vgx/memory.sqlite
309
309
  ```
310
310
 
311
311
  Parametros:
@@ -325,7 +325,7 @@ Ejemplo de decision esperada:
325
325
  Intent: Build a new persistent checkout workflow capability
326
326
  Flow: sdd
327
327
  Suggested change id: checkout-flow
328
- Preview action: npm run cli -- sdd next --project vgxness --change checkout-flow
328
+ Preview action: vgxness sdd next --project vgxness --change checkout-flow
329
329
  Safety: no ejecuto nada
330
330
  ```
331
331
 
@@ -416,7 +416,7 @@ La precedencia de seleccion de base es:
416
416
  La ruta historica `.vgx/memory.sqlite` sigue siendo compatible, pero ahora es explicita:
417
417
 
418
418
  ```bash
419
- npm run cli -- memory search --project vgxness --db .vgx/memory.sqlite
419
+ vgxness memory search --project vgxness --db .vgx/memory.sqlite
420
420
  ```
421
421
 
422
422
  Este detalle es importante: `vgxness` puede funcionar como herramienta instalada globalmente sin acoplar la memoria al workdir actual, pero tambien permite aislar estado cuando se necesita reproducibilidad en tests o dogfood local.
@@ -616,7 +616,7 @@ Tools representativas (no exhaustivas; la fuente actual de nombres soportados es
616
616
  La CLI se ejecuta localmente con:
617
617
 
618
618
  ```bash
619
- npm run cli -- <area> <command> [flags]
619
+ vgxness <area> <command> [flags]
620
620
  ```
621
621
 
622
622
  Areas principales vistas en el dispatcher:
@@ -633,7 +633,6 @@ Areas principales vistas en el dispatcher:
633
633
  | `sdd` | Estado, readiness y guardado de artefactos SDD. |
634
634
  | `orchestrator` | Preview de ruteo desde lenguaje natural hacia direct, plan, sdd o diagnose. |
635
635
  | `opencode` | Previews/integracion OpenCode. |
636
- | `dashboard` | Estado visual o interactivo. |
637
636
  | `mcp` | Setup, doctor e instalacion MCP. |
638
637
 
639
638
  La base se selecciona con la misma regla que el resto del sistema:
@@ -645,7 +644,7 @@ La base se selecciona con la misma regla que el resto del sistema:
645
644
  Sin `--db`, la CLI usa la base global de usuario. Si se quiere la base del repo para pruebas locales, se debe pedir explicitamente:
646
645
 
647
646
  ```bash
648
- npm run cli -- sdd status --project vgxness --change my-change --db .vgx/memory.sqlite
647
+ vgxness sdd status --project vgxness --change my-change --db .vgx/memory.sqlite
649
648
  ```
650
649
 
651
650
  ## Setup local
@@ -693,7 +692,7 @@ El proyecto ya contiene implementaciones concretas de:
693
692
  7. Politica de permisos base.
694
693
  8. MCP stdio server y control plane.
695
694
  9. CLI para operar los servicios.
696
- 10. Setup status y dashboard local.
695
+ 10. Setup status y TUI local.
697
696
  11. Integracion inicial con OpenCode.
698
697
  12. CLI instalable con memoria global por defecto y compatibilidad explicita con `--db`.
699
698
 
@@ -715,7 +714,7 @@ Supongamos que se quiere trabajar en un cambio llamado `add-agent-profiles`.
715
714
  ### 1. Revisar setup
716
715
 
717
716
  ```bash
718
- npm run cli -- setup status --project vgxness
717
+ vgxness setup status --project vgxness
719
718
  ```
720
719
 
721
720
  El sistema revisa store, MCP y agente default.
@@ -723,7 +722,7 @@ El sistema revisa store, MCP y agente default.
723
722
  ### 2. Clasificar el pedido natural
724
723
 
725
724
  ```bash
726
- npm run cli -- orchestrator preview --project vgxness --intent "Build a new agent profile workflow" --change add-agent-profiles
725
+ vgxness orchestrator preview --project vgxness --intent "Build a new agent profile workflow" --change add-agent-profiles
727
726
  ```
728
727
 
729
728
  El sistema devuelve un preview no ejecutable. Si detecta nueva capacidad, arquitectura, workflow, persistencia, seguridad o riesgo de ejecucion, recomienda `sdd` y puede incluir el proximo comando manual de SDD.
@@ -731,7 +730,7 @@ El sistema devuelve un preview no ejecutable. Si detecta nueva capacidad, arquit
731
730
  ### 3. Consultar estado SDD
732
731
 
733
732
  ```bash
734
- npm run cli -- sdd status --project vgxness --change add-agent-profiles
733
+ vgxness sdd status --project vgxness --change add-agent-profiles
735
734
  ```
736
735
 
737
736
  Si no hay artefactos, la primera fase lista deberia ser `explore`.
@@ -739,7 +738,7 @@ Si no hay artefactos, la primera fase lista deberia ser `explore`.
739
738
  ### 4. Guardar el artefacto de exploracion
740
739
 
741
740
  ```bash
742
- npm run cli -- sdd save-artifact --project vgxness --change add-agent-profiles --phase explore --content "# Explore"
741
+ vgxness sdd save-artifact --project vgxness --change add-agent-profiles --phase explore --content "# Explore"
743
742
  ```
744
743
 
745
744
  El sistema guarda el contenido en memoria como artefacto con topic key:
@@ -751,7 +750,7 @@ sdd/add-agent-profiles/explore
751
750
  ### 5. Preguntar la siguiente fase
752
751
 
753
752
  ```bash
754
- npm run cli -- sdd next --project vgxness --change add-agent-profiles
753
+ vgxness sdd next --project vgxness --change add-agent-profiles
755
754
  ```
756
755
 
757
756
  Si `explore` esta presente, la siguiente fase runnable sera `proposal`.
@@ -759,7 +758,7 @@ Si `explore` esta presente, la siguiente fase runnable sera `proposal`.
759
758
  ### 6. Resolver un agente para implementar
760
759
 
761
760
  ```bash
762
- npm run cli -- agents resolve --project vgxness --workflow sdd --phase apply-progress --provider opencode --task "Implement agent profile routing"
761
+ vgxness agents resolve --project vgxness --workflow sdd --phase apply-progress --provider opencode --task "Implement agent profile routing"
763
762
  ```
764
763
 
765
764
  El sistema devuelve candidatos con score y razones.
@@ -814,7 +813,7 @@ Si todo vive solo en prompts, el sistema depende de disciplina del LLM. Si todo
814
813
  ```text
815
814
  src/
816
815
  agents/ Registro, resolucion, activacion y renderers de agentes.
817
- cli/ Dispatcher, dashboard y renderers de salida CLI.
816
+ cli/ Dispatcher, TUI y renderers de salida CLI.
818
817
  export/ Redaccion/export de snapshots.
819
818
  harness/ Handlers reutilizables para tools internas.
820
819
  mcp/ Servidor stdio, schemas, validacion, doctor e instalacion MCP.
@@ -1,4 +1,18 @@
1
- # Harness Systems Gap Analysis
1
+ # Historical Harness Systems Gap Analysis
2
+
3
+ > **Status:** historical planning note. This document predates much of the v1 runtime foundation. Use `docs/architecture.md`, `docs/prd.md`, and `docs/cli.md` as the current product references. Keep this file for design context, not as a live gap checklist.
4
+
5
+ ## Current interpretation after v1.3.0
6
+
7
+ Several items below now exist as v1 foundations: local run records, preflight/approval planning, SDD artifacts, memory-backed storage, agent/subagent registries, provider setup previews, package evidence, and MCP control-plane tools.
8
+
9
+ The remaining strategic gaps are narrower:
10
+
11
+ - real provider/executor dispatch instead of planning-only run execution;
12
+ - stronger SDD governance gates that combine artifact presence, human acceptance, verification evidence, and blockers;
13
+ - operational TUI screens for SDD, runs, approvals, doctor, and settings;
14
+ - sandbox/worktree enforcement beyond advisory planning;
15
+ - export/import/redaction and upgrade/rollback evidence for beta readiness.
2
16
 
3
17
  This research compares current agent harness patterns against the `vgxness` PRD and identifies what the product still needs before it can become a serious local-first SDD harness.
4
18
 
package/docs/prd.md CHANGED
@@ -119,7 +119,7 @@ The MCP server is the main integration surface for AI coding tools. It should ex
119
119
 
120
120
  Minimum MCP capabilities:
121
121
 
122
- - Start a local MCP server through `vgx mcp start` or an installed provider config.
122
+ - Start a local MCP server through `vgxness mcp start` or an installed provider config.
123
123
  - Install MCP integration for supported tools through guided setup.
124
124
  - Expose SDD status, readiness, next-phase, and artifact operations.
125
125
  - Expose run start/checkpoint/finalize and approval-request operations.
@@ -160,15 +160,15 @@ Minimum CLI capabilities:
160
160
  Candidate CLI shape:
161
161
 
162
162
  ```bash
163
- vgx init
164
- vgx doctor
165
- vgx status
166
- vgx mcp install opencode
167
- vgx mcp status
168
- vgx sdd status <change>
169
- vgx sdd next <change>
170
- vgx profiles list
171
- vgx profiles set apply <model>
163
+ vgxness init
164
+ vgxness doctor
165
+ vgxness status
166
+ vgxness mcp install opencode
167
+ vgxness mcp status
168
+ vgxness sdd status <change>
169
+ vgxness sdd next <change>
170
+ vgxness profiles list
171
+ vgxness profiles set apply <model>
172
172
  ```
173
173
 
174
174
  #### TUI
@@ -190,7 +190,7 @@ TUI state requirements:
190
190
 
191
191
  - Loading, empty, error, success, blocked, and permission states must be explicit and actionable.
192
192
  - Keyboard navigation and visible focus are required.
193
- - The dashboard TUI is read-only; provider config writes/install/apply are external-only, require explicit confirmation outside the dashboard, and are not run by dashboard flows.
193
+ - TUI status/setup surfaces are read-only; provider config writes/install/apply are external-only, require explicit confirmation outside the TUI, and are not run by preview/status flows.
194
194
 
195
195
  #### Installation experience
196
196
 
@@ -299,7 +299,7 @@ Minimum capabilities:
299
299
  - Cloud sync.
300
300
  - Multi-user collaboration.
301
301
  - Team permissions and governance.
302
- - Web dashboard.
302
+ - Web console.
303
303
  - Hosted memory service.
304
304
  - Marketplace for agents.
305
305
  - Full provider parity across every AI coding tool.
@@ -332,11 +332,11 @@ After the MVP proves local individual usage, expand toward:
332
332
  - Team/shared memory spaces.
333
333
  - Permissions, governance, and audit trails.
334
334
  - PR and chained-PR coordination.
335
- - Hosted dashboard for inspection and collaboration.
335
+ - Hosted web console for inspection and collaboration.
336
336
  - Additional provider adapters.
337
337
  - Import/export between local and cloud memory backends.
338
338
  - Distributed agent workers.
339
- - Hosted observability and evaluation dashboard.
339
+ - Hosted observability and evaluation UI.
340
340
  - Skill marketplace or shared skill catalog.
341
341
 
342
342
  ## Success criteria
@@ -0,0 +1,87 @@
1
+ # VGXNESS Code OpenTUI shell (`vgxcode`)
2
+
3
+ Experimental Bun/OpenTUI coding interface for VGXNESS Code.
4
+
5
+ **Naming rule:** `VGXNESS Code` is the public product/runtime surface (`vgxness code ...`; `vgx code ...` remains a compatibility alias). `vgxcode` is the internal root-owned OpenTUI shell that renders and drives that runtime during repository development.
6
+
7
+ ## Why this is root-owned
8
+
9
+ VGXNESS ships the existing `vgxness`/`vgx` CLI bins while the OpenTUI coding interface remains an internal root-owned surface. The repository root owns `@opentui/core`, the Bun lockfile, and verification.
10
+
11
+ This keeps the shipped `vgxness`/`vgx` CLI stable while letting us build the OpenTUI experience directly from root source.
12
+
13
+ ## Run
14
+
15
+ Prerequisite: install Bun.
16
+
17
+ ```bash
18
+ bun src/cli/tui/opentui/code/index.ts
19
+ ```
20
+
21
+ Interactive mode starts in read-only `inspect`. Type a task/question and press `Enter`; `vgxcode` runs the root Bun CLI bridge as one of:
22
+
23
+ ```bash
24
+ bun run cli:bun -- code inspect "<your prompt>" --events-jsonl
25
+ bun run cli:bun -- code plan "<your prompt>" --events-jsonl
26
+ bun run cli:bun -- code craft-preview "<your prompt>" --events-jsonl
27
+ bun run cli:bun -- code craft "<your prompt>" --events-jsonl --approval-channel stdio
28
+ ```
29
+
30
+ The OpenTUI shell uses `bun run --silent cli:bun -- ...` internally so Bun lifecycle output does not pollute the JSONL event stream.
31
+
32
+ The prompt defaults to `inspect`. Press `Tab` to toggle between `inspect` and `plan`, or prefix a prompt with `/inspect`, `/plan`, `/craft-preview`, or `/craft`:
33
+
34
+ ```text
35
+ /plan outline a safe implementation
36
+ /inspect summarize the current architecture
37
+ /craft-preview show the diff you would make
38
+ /craft apply the smallest approved fix
39
+ ```
40
+
41
+ After submit, the prompt input is cleared and the submitted prompt remains visible as `Last submitted`. The UI shows explicit `idle`, `running`, `completed`, and `error` states.
42
+
43
+ `vgxcode` does not own mutation policy. `inspect`, `plan`, and `craft-preview` are read-only/preview paths. `/craft` is approval-capable and may mutate only through the VGXNESS Code runtime and its explicit approval channel; the OpenTUI shell only renders pending approvals and writes approve/deny decisions to the live runtime process.
44
+
45
+ To replay real read-only runtime events without spawning the root CLI, pipe the root Bun CLI JSONL bridge into `vgxcode`:
46
+
47
+ ```bash
48
+ bun run cli:bun -- code inspect "What is this project?" --events-jsonl | bun src/cli/tui/opentui/code/index.ts
49
+ bun run cli:bun -- code plan "Plan a safe change" --events-jsonl | bun src/cli/tui/opentui/code/index.ts
50
+ bun run cli:bun -- code craft-preview "Preview a safe change" --events-jsonl | bun src/cli/tui/opentui/code/index.ts
51
+ ```
52
+
53
+ Use `bun run cli:bun -- ...` for OpenTUI-adjacent local testing. `npm run cli -- ...` uses Node/tsx and can fail when a path loads `@opentui/core`.
54
+
55
+ Press `Ctrl+C` to exit.
56
+
57
+ ## Current scope
58
+
59
+ The shell reads newline-delimited `CodeRuntimeEvent` JSON from stdin when piped. If stdin has events or parse errors, `vgxcode` renders that stream and does not spawn the root CLI. If stdin is a TTY, the OpenTUI entrypoint opens the interactive prompt and uses `inspect` by default through the JSONL bridge.
60
+
61
+ Errors are shown in the Activity panel when JSONL parsing fails, unsupported runtime events appear, npm/lifecycle banners appear in the stream, or the spawned root CLI exits non-zero.
62
+
63
+ ## Checks
64
+
65
+ ```bash
66
+ npm run check:bun-lock # from the repository root; read-only/advisory
67
+ bun run verify:typecheck
68
+ node --import tsx --test test/cli/tui/opentui-code.test.ts
69
+ bun run smoke:opentui-code
70
+ ```
71
+
72
+ The root `npm run check:bun-lock` command compares root `package.json`
73
+ dependency specifiers with the root `bun.lock` without installing Bun or
74
+ mutating `node_modules`. The root lockfile is the repository dependency
75
+ authority; package evidence is validated by `bun run package:bun:evidence`.
76
+
77
+ Manual interactive check:
78
+
79
+ ```bash
80
+ bun src/cli/tui/opentui/code/index.ts
81
+ # type: What is this project?
82
+ # press Enter
83
+ ```
84
+
85
+ ## Safety rule
86
+
87
+ `vgxcode` renders state and user decisions. It must not execute tools directly, bypass approvals, or own mutation policy. Runtime, approvals, verification, SDD, and memory stay in the VGXNESS core runtime.
@@ -2,12 +2,14 @@
2
2
 
3
3
  VGXNESS Code is the native VGXNESS coding CLI/runtime. It is not an OpenCode wrapper, fork, compatibility layer, config format, prompt copy, or branded re-skin. Provider adapters translate VGXNESS-native requests only.
4
4
 
5
+ `vgxcode` is the internal root-owned OpenTUI shell for VGXNESS Code development. Public commands stay under `vgxness code ...`; the OpenTUI shell should render runtime state and approval decisions without becoming a separate mutation policy layer.
6
+
5
7
  ## Commands
6
8
 
7
- - `vgx code inspect "<question>"` — read-only repository investigation.
8
- - `vgx code plan "<task>"` — read-only implementation planning.
9
- - `vgx code craft "<task>"` — bounded edit-capable work with approval gates.
10
- - `vgx code sdd <change> <phase>` — SDD-backed phase work; use `--save-artifact` only when persistence is intended.
9
+ - `vgxness code inspect "<question>"` — read-only repository investigation.
10
+ - `vgxness code plan "<task>"` — read-only implementation planning.
11
+ - `vgxness code craft "<task>"` — bounded edit-capable work with approval gates.
12
+ - `vgxness code sdd <change> <phase>` — SDD-backed phase work; use `--save-artifact` only when persistence is intended.
11
13
 
12
14
  Useful controls: `--provider`, `--model`, `--stream`, `--json`, `--max-source-bytes`, `--approval-policy ask|allow|deny`, `--verification none|suggest|run|repair`, `--transcript off|summary|full`, and `--memory off|ask|auto`.
13
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vgxness",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "description": "CLI and MCP control plane for guided AI-agent workflows, SDD, memory, and OpenCode setup.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "repository": {
@@ -21,7 +21,8 @@
21
21
  "type": "module",
22
22
  "scripts": {
23
23
  "cli": "tsx src/cli/index.ts",
24
- "build": "tsc -p tsconfig.build.json && node scripts/copy-migrations.mjs",
24
+ "cli:bun": "bun src/cli/index.ts",
25
+ "build": "node scripts/clean-dist.mjs && tsc -p tsconfig.build.json && node scripts/copy-migrations.mjs",
25
26
  "verify": "bun run verify:typecheck && bun run verify:test && bun run verify:test:bun-storage && bun run verify:bun-sqlite && bun run verify:package",
26
27
  "verify:typecheck": "tsc --noEmit",
27
28
  "verify:test": "node scripts/run-node-tests.mjs",
@@ -30,11 +31,11 @@
30
31
  "verify:bun-sqlite": "bun scripts/probe-bun-sqlite.mjs",
31
32
  "ci:bun": "bun run check:bun-lock && bun run verify",
32
33
  "check:bun-lock": "node scripts/check-bun-lock.mjs",
33
- "check:vgxcode:bun-lock": "node scripts/check-bun-lock.mjs --package-json packages/vgxcode/package.json --bun-lock packages/vgxcode/bun.lock",
34
34
  "check:bun:typecheck": "node scripts/run-bun-typecheck.mjs",
35
35
  "probe:bun": "node scripts/probe-bun-compat.mjs",
36
36
  "probe:bun-runtime": "node scripts/probe-bun-runtime-cli-mcp.mjs",
37
37
  "verify:bun-runtime": "node scripts/probe-bun-runtime-cli-mcp.mjs --require-pass",
38
+ "smoke:opentui-code": "bun src/cli/tui/opentui/code/smoke.ts",
38
39
  "package:bun:evidence": "node scripts/probe-bun-package-evidence.mjs",
39
40
  "test": "node scripts/run-node-tests.mjs",
40
41
  "typecheck": "tsc --noEmit"
@@ -53,13 +54,11 @@
53
54
  ],
54
55
  "dependencies": {
55
56
  "@modelcontextprotocol/sdk": "^1.29.0",
56
- "ink": "^7.0.3",
57
- "react": "^19.2.6",
57
+ "@opentui/core": "^0.2.16",
58
58
  "zod": "^4.4.3"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "^22.15.18",
62
- "@types/react": "^19.2.15",
63
62
  "tsx": "^4.19.4",
64
63
  "typescript": "^5.8.3"
65
64
  },