@tantawowa/hosanna-tools 2.22.0 → 2.24.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 (93) hide show
  1. package/README.md +103 -52
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli.js +445 -157
  4. package/dist/cli.js.map +1 -1
  5. package/dist/device/device-cli.d.ts +2 -2
  6. package/dist/device/device-cli.js +7 -6
  7. package/dist/device/device-cli.js.map +1 -1
  8. package/dist/device/devices-file.js +9 -1
  9. package/dist/device/devices-file.js.map +1 -1
  10. package/dist/device/drivers/roku-driver.js +1 -1
  11. package/dist/device/drivers/roku-driver.js.map +1 -1
  12. package/dist/device/log-stream.d.ts +2 -0
  13. package/dist/device/log-stream.js +24 -14
  14. package/dist/device/log-stream.js.map +1 -1
  15. package/dist/device/types.d.ts +4 -0
  16. package/dist/index.d.ts +54 -2
  17. package/dist/index.js +48 -7
  18. package/dist/index.js.map +1 -1
  19. package/dist/lib/env-info.js +30 -24
  20. package/dist/lib/env-info.js.map +1 -1
  21. package/dist/lib/hosanna-config.d.ts +60 -0
  22. package/dist/lib/hosanna-config.js +343 -0
  23. package/dist/lib/hosanna-config.js.map +1 -0
  24. package/dist/run/android-emulator.d.ts +42 -0
  25. package/dist/run/android-emulator.js +629 -0
  26. package/dist/run/android-emulator.js.map +1 -0
  27. package/dist/run/apple-tv.d.ts +32 -0
  28. package/dist/run/apple-tv.js +392 -0
  29. package/dist/run/apple-tv.js.map +1 -0
  30. package/dist/run/ios-device.d.ts +17 -0
  31. package/dist/run/ios-device.js +253 -0
  32. package/dist/run/ios-device.js.map +1 -0
  33. package/dist/run/ios-simulator.d.ts +21 -0
  34. package/dist/run/ios-simulator.js +206 -0
  35. package/dist/run/ios-simulator.js.map +1 -0
  36. package/dist/run/process-utils.d.ts +2 -0
  37. package/dist/run/process-utils.js +31 -0
  38. package/dist/run/process-utils.js.map +1 -0
  39. package/dist/run/run-config.d.ts +20 -0
  40. package/dist/run/run-config.js +72 -0
  41. package/dist/run/run-config.js.map +1 -0
  42. package/dist/run/run-controller.d.ts +74 -0
  43. package/dist/run/run-controller.js +1163 -0
  44. package/dist/run/run-controller.js.map +1 -0
  45. package/dist/run/session-manager.d.ts +25 -0
  46. package/dist/run/session-manager.js +99 -0
  47. package/dist/run/session-manager.js.map +1 -0
  48. package/dist/run/targets.d.ts +60 -0
  49. package/dist/run/targets.js +252 -0
  50. package/dist/run/targets.js.map +1 -0
  51. package/dist/run/types.d.ts +60 -0
  52. package/dist/run/types.js +32 -0
  53. package/dist/run/types.js.map +1 -0
  54. package/dist/support-tools/framework-sync.d.ts +75 -0
  55. package/dist/support-tools/framework-sync.js +346 -0
  56. package/dist/support-tools/framework-sync.js.map +1 -0
  57. package/dist/support-tools/mcp-server/cli-test-recorder.js +1 -1
  58. package/dist/support-tools/mcp-server/cli-test-recorder.js.map +1 -1
  59. package/dist/support-tools/mcp-server/cli-test-runner.js +1 -1
  60. package/dist/support-tools/mcp-server/cli-test-runner.js.map +1 -1
  61. package/dist/support-tools/mcp-server/game-tools.js +1 -1
  62. package/dist/support-tools/mcp-server/game-tools.js.map +1 -1
  63. package/dist/support-tools/mcp-server/index.d.ts +1 -1
  64. package/dist/support-tools/mcp-server/instance-lock.js +1 -1
  65. package/dist/support-tools/mcp-server/tools.js +3 -3
  66. package/dist/support-tools/mcp-server/tools.js.map +1 -1
  67. package/dist/updater/compiler-installer.d.ts +21 -0
  68. package/dist/updater/compiler-installer.js +143 -0
  69. package/dist/updater/compiler-installer.js.map +1 -1
  70. package/dist/updater/compiler-release-catalog.d.ts +25 -0
  71. package/dist/updater/compiler-release-catalog.js +115 -0
  72. package/dist/updater/compiler-release-catalog.js.map +1 -0
  73. package/dist/updater/framework-installer.d.ts +43 -0
  74. package/dist/updater/framework-installer.js +260 -0
  75. package/dist/updater/framework-installer.js.map +1 -0
  76. package/dist/updater/license-manager.d.ts +57 -0
  77. package/dist/updater/license-manager.js +265 -0
  78. package/dist/updater/license-manager.js.map +1 -0
  79. package/dist/updater/sdk-manager.d.ts +7 -1
  80. package/dist/updater/sdk-manager.js +15 -6
  81. package/dist/updater/sdk-manager.js.map +1 -1
  82. package/dist/updater/symlink-manager.js +25 -3
  83. package/dist/updater/symlink-manager.js.map +1 -1
  84. package/dist/updater/symlink-registry.d.ts +1 -0
  85. package/dist/updater/symlink-registry.js +6 -0
  86. package/dist/updater/symlink-registry.js.map +1 -1
  87. package/package.json +1 -1
  88. package/dist/lib/env-cloud-agent-setup-help.d.ts +0 -5
  89. package/dist/lib/env-cloud-agent-setup-help.js +0 -26
  90. package/dist/lib/env-cloud-agent-setup-help.js.map +0 -1
  91. package/dist/support-tools/cloud-agent-setup.d.ts +0 -41
  92. package/dist/support-tools/cloud-agent-setup.js +0 -132
  93. package/dist/support-tools/cloud-agent-setup.js.map +0 -1
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  ## Documentation
4
4
 
5
- - **[MCP debugger & UI tests](src/support-tools/mcp-server/README.md)** — `hst run:mcp`, all MCP tools, commands by use case, examples, `hst test:ui` / `hst test:record`.
5
+ - **[MCP debugger & UI tests](src/support-tools/mcp-server/README.md)** — `hst mcp:start`, all MCP tools, commands by use case, examples, `hst test:ui` / `hst test:record`.
6
6
  - **[docs/README.md](docs/README.md)** — index of docs in this repo (MCP + source-map note).
7
7
  - **hosanna-ui** (separate repo): `docs/README.md` for agentic debugging and links back to this README.
8
8
 
@@ -23,7 +23,7 @@ npm install . -g # path to the hosanna-tools directory
23
23
  Hosanna Tools can also be imported by app build chains. The CLI remains available as `hst`, but package imports are library-safe and do not parse CLI arguments or call `process.exit` during import. Public wrappers for process-oriented commands use no-exit mode where supported, so API callers receive structured results or thrown errors instead of forced process termination.
24
24
 
25
25
  ```ts
26
- import { buildConfig, env, generate, install, roku, secrets } from '@tantawowa/hosanna-tools';
26
+ import { buildConfig, compiler, env, generate, roku, secrets } from '@tantawowa/hosanna-tools';
27
27
 
28
28
  await generate.all({
29
29
  rootFolder: './src',
@@ -37,7 +37,7 @@ await buildConfig.resolve({
37
37
  out: 'assets/meta/build-config.json',
38
38
  });
39
39
 
40
- await install.compiler({ version: '0.33.7' });
40
+ await compiler.install({ version: '0.33.7' });
41
41
  await roku.package({ env: 'prod', prebuild: 'npm run roku:build:prod' });
42
42
  ```
43
43
 
@@ -45,13 +45,13 @@ Common build-script replacements:
45
45
 
46
46
  | CLI command | Programmatic API |
47
47
  | --- | --- |
48
- | `npx hst generate --rootFolder ./src` | `await generate.all({ rootFolder: './src' })` |
48
+ | `npx hst generate:all --rootFolder ./src` | `await generate.all({ rootFolder: './src' })` |
49
49
  | `npx hst generate:clean` | `await generate.clean()` |
50
- | `npx hst build-config resolve --env dev --platform roku --out assets/meta/build-config.json` | `await buildConfig.resolve({ env: 'dev', platform: 'roku', out: 'assets/meta/build-config.json' })` |
51
- | `npx hst install:compiler 0.33.7` | `await install.compiler({ version: '0.33.7' })` |
50
+ | `npx hst build-config:resolve --env dev --platform roku --out assets/meta/build-config.json` | `await buildConfig.resolve({ env: 'dev', platform: 'roku', out: 'assets/meta/build-config.json' })` |
51
+ | `npx hst compiler:install 0.33.7` | `await compiler.install({ version: '0.33.7' })` |
52
52
  | `npx hst roku:package --env prod --prebuild 'npm run roku:build:prod'` | `await roku.package({ env: 'prod', prebuild: 'npm run roku:build:prod' })` |
53
53
  | `npx hst secrets:check` | `await secrets.check({ cwd: process.cwd() })` |
54
- | `npx hst env` | `await env.check({ cwd: process.cwd() })` |
54
+ | `npx hst env check` | `await env.check({ cwd: process.cwd() })` |
55
55
 
56
56
  Long-running APIs such as `dev.run`, `debugger.start`, `mcp.start`, `test.record`, and RASP capture-style workflows keep the same operational behavior as the corresponding CLI commands: they start services, attach to debuggers, or wait for user/session activity. `mcp.start`, `dev.run`, and `test.ui` are wired for programmatic no-exit behavior through the top-level API.
57
57
 
@@ -143,9 +143,39 @@ Hosanna Tools is a comprehensive CLI toolset for the Hosanna framework that prov
143
143
 
144
144
  The CLI commands are organized into logical groups using colon-separated namespacing:
145
145
 
146
- ### Run Commands (`run:*`) - Development Execution
147
- - `run:dev` - Run dev processes: vite, generator watch, and optional debugger
148
- - `run:debugger` - Start the command debugger WebSocket proxy (only one debugger is needed for multiple apps; if the port is already in use, a friendly message is shown instead of crashing)
146
+ ### Development Commands
147
+ - `run` - Canonical cross-platform app launcher. Requires `--platform` and supports web, Roku, iOS, Apple TV, Android, and Android TV launch targets.
148
+ - `target:list` - List launch targets for humans or agents, including web previews, simulators, and physical devices.
149
+ - `dev:start` - Run dev processes: vite, generator watch, and optional debugger
150
+ - `debugger:start` - Start the command debugger WebSocket proxy (only one debugger is needed for multiple apps; if the port is already in use, a friendly message is shown instead of crashing)
151
+
152
+ Examples:
153
+
154
+ ```bash
155
+ hst run --platform web
156
+ hst run --platform roku --target web
157
+ hst run --platform ios --target web
158
+ hst run --platform android --target web
159
+ hst run --platform apple-tv --target web
160
+ hst run --platform android-tv --target web
161
+ hst run --platform roku --target simulated
162
+ hst run --platform roku --target emulated
163
+ hst run --platform ios --target simulator --device "iPhone 17 Pro"
164
+ hst run --platform ios --target device --device "George iPhone" --no-logs
165
+ hst run --platform android --target emulator --device "Pixel_8" --no-logs
166
+ hst run --platform android --target device --device "RF8M62694QT" --no-logs
167
+ hst run --platform android-tv --target emulator --device "Television_1080p" --no-logs
168
+ hst run --platform apple-tv --target simulator --device "Apple TV 4K"
169
+ hst run --platform roku --target device --device "Living Room"
170
+ hst run --platform roku --target device --device "Living Room" --replace
171
+ hst target:list --platform ios --target device --json
172
+ hst target:list --platform android --target emulator --json
173
+ hst target:list --platform android-tv --target emulator --json
174
+ hst target:list --platform apple-tv --target simulator --json
175
+ hst target:list --form-factor tv --json
176
+ ```
177
+
178
+ `hst run` is platform-explicit by design, so non-interactive agents do not guess between iOS, Apple TV, Android, Android TV, Roku, or web. `--target web` starts or reuses the shared Vite/debugger dev services for any platform and opens a profiled DOM runtime URL for interactive runs; use `--device <preset-id>` to override defaults such as `iphone-15`, `pixel-8`, `apple-tv-4k`, `android-tv-1080p`, or `rokufhd`, and use `--no-open` for server-only launches. For Roku, `simulated` and `emulated` are accepted aliases for the web preview; `device` deploys to a physical Roku. For iOS and Apple TV, `simulator` launches an Apple simulator and `device` launches paired physical hardware. For Android and Android TV, `emulator` launches an Android emulator and `device` launches ADB-connected physical hardware. Device/emulator runs record the target and refuse to overwrite a recorded session or safe-to-kill occupied resource in non-interactive mode unless `--replace` is passed. Preferred run defaults live in `.hosanna-tools/run.json`, and preferred devices live in `.hosanna-tools/devices.json` or `~/.hosanna-tools/devices.json`. Legacy `.hs-devices.json` files are still read for compatibility.
149
179
 
150
180
  ### Roku Commands (`roku:*`) - Roku Deployment & Packaging
151
181
  - `roku:run` - Deploy a Roku app to a device (supports .zip file or folder)
@@ -168,37 +198,39 @@ hst roku:map-stack --text "file/line: pkg:/components/source_0.brs(7475)"
168
198
  Supported inputs include `file/line: pkg:/components/source_0.brs(7475)`, `at ... (pkg:/components/source_1.brs:6636)`, `in pkg:/components/source_3.brs(4710)`, and bare generated references such as `source_10.brs:8211`. See [docs/roku-map-stack.md](docs/roku-map-stack.md).
169
199
 
170
200
  ### Generate Commands (`generate:*`) - Code Generation
171
- - `generate` - Generate structs and command handler maps
201
+ - `generate:all` - Generate structs and command handler maps
172
202
  - `generate:structs` - Generate structs only for the specified files
173
203
  - `generate:clean` - Clean generated files in the generated folder
174
204
 
175
- ### Install Commands (`install:*`) - Setup & Installation
176
- - `install` - Install the SDK by creating hosanna.json
177
- - `install:compiler` - Install or update the Hosanna compiler (hsc)
178
- - `install:template` - Create a new template app with the Hosanna SDK
205
+ ### Setup Commands
206
+ - `sdk:install` - Install the SDK by creating hosanna.json
207
+ - `compiler:install` - Install or update the Hosanna compiler (hsc)
208
+ - `compiler:status` - Print local compiler status for this project
209
+ - `compiler:list` - List compiler versions known from local config, install, and cache
210
+ - `template:create` - Create a new template app with the Hosanna SDK
179
211
 
180
212
  ### Build Config Commands (`build-config`) - Runtime Configuration
181
- - `build-config resolve` - Resolve `build-config/base.json`, env/platform overlays, secrets, and optional developer profiles into the canonical runtime `build-config.json`
213
+ - `build-config:resolve` - Resolve `build-config/base.json`, env/platform overlays, secrets, and optional developer profiles into the canonical runtime `build-config.json`
182
214
 
183
215
  Native builds can resolve config immediately before the platform build:
184
216
 
185
217
  ```bash
186
- npx hst build-config resolve --env dev --platform roku --out assets/meta/build-config.json
218
+ npx hst build-config:resolve --env dev --platform roku --out assets/meta/build-config.json
187
219
  npm run roku:build
188
220
 
189
- HS_ENV=dev HS_PLATFORM=android npx hst build-config resolve --out assets/meta/build-config.json
221
+ HS_ENV=dev HS_PLATFORM=android npx hst build-config:resolve --out assets/meta/build-config.json
190
222
  npm run android:build-code
191
223
 
192
- HS_ENV=dev HS_PLATFORM=apple HS_BUILD_PROFILE=george npx hst build-config resolve --out assets/meta/build-config.json
224
+ HS_ENV=dev HS_PLATFORM=apple HS_BUILD_PROFILE=george npx hst build-config:resolve --out assets/meta/build-config.json
193
225
  npm run apple:build-code
194
226
  ```
195
227
 
196
228
  ### CI Commands (`ci:*`) - Continuous Integration
197
229
  - `ci:extract-pkg-key` - Extract signing key from an existing signed Roku package as base64
198
- - `ci:configure-hosanna-url` - Configure hosanna.json git-url from argument or environment
230
+ - `config set --git-url` - Configure hosanna.json git-url from argument or environment
199
231
 
200
232
  ### Build Config Commands (`build-config:*`) - Build/runtime config
201
- - `build-config resolve` - Merge build config overlays into `assets/meta/build-config.json`
233
+ - `build-config:resolve` - Merge build config overlays into `assets/meta/build-config.json`
202
234
  - `build-config:restore-secrets` - Restore ignored `secrets/*.json` overlays from `BUILD_CONFIG_SECRETS_*_BASE64`
203
235
 
204
236
  ### Secrets Commands (`secrets:*`) - Portable `.secrets` files
@@ -209,10 +241,10 @@ npm run apple:build-code
209
241
 
210
242
  Shared options: `--file` (secrets path), `--template` (template path for `check` / `init` / `list --template`), `--format text|json`.
211
243
 
212
- ### Environment Commands (`env:*`) - Environment Management
213
- - `env` - Print environment information and run checks with auto-fix option
214
- - `env:prepare-gitignore` - Ensure .gitignore contains required entries
215
- - `env:cloud-agent-setup` - Write `build-config/profiles/cloud-agent.json`, patch `remoteDebug` for cloud agents, optionally start debugger and `npm run dev` with `HS_BUILD_PROFILE=cloud-agent`
244
+ ### Environment Commands (`env ...`) - Environment Management
245
+ - `env check` - Print environment information and run checks
246
+ - `env fix` - Check and repair environment issues
247
+ - `env prepare-gitignore` - Ensure .gitignore contains required entries
216
248
 
217
249
  ### Framework Source Symlinks (semver-keyed registry)
218
250
 
@@ -231,8 +263,8 @@ tags, branches, `@latest`, and `LOCAL_SDK` alike.
231
263
  | >= 1.0.0 | `hosanna-bridge-http`, `hosanna-bridge-lib`, `hosanna-bridge-targets`, `hosanna-list`, `hosanna-ui` |
232
264
  | >= 1.31.0 | the above + `hosanna-bridge-core` |
233
265
 
234
- `hst env` always prints the active set, the matched registry version, and the
235
- source (`built-in`, `hosanna.json override`, `+ N extra`). `hst env --fix`
266
+ `hst env check` always prints the active set, the matched registry version, and the
267
+ source (`built-in`, `hosanna.json override`, `+ N extra`). `hst env fix`
236
268
  creates missing links, repairs wrong targets, and removes obsolete ones — with
237
269
  no git/network access when only symlinks are wrong. Symlinks are also re-synced
238
270
  as part of every SDK update.
@@ -251,7 +283,7 @@ to the resolved defaults; cannot break them. Folder names are forgiving
251
283
 
252
284
  Use this for game projects (`hosanna-game`, `hosanna-game-examples`) or when a
253
285
  project wants the example rigs (`hosanna-ui-examples`). Removing an entry makes
254
- its symlink obsolete; the next `env --fix` cleans it up.
286
+ its symlink obsolete; the next `env fix` cleans it up.
255
287
 
256
288
  **Replacing the registry (`symlink-registry`)** — rare; total control. A valid
257
289
  key fully replaces the built-in registry (extras still append on top). Folders
@@ -268,7 +300,7 @@ everything the project needs:
268
300
  ```
269
301
 
270
302
  An invalid `symlink-registry`/`symlink-extra-folders` value falls back to the
271
- built-in registry and is reported as an issue by `hst env` — a typo cannot
303
+ built-in registry and is reported as an issue by `hst env check` — a typo cannot
272
304
  silently break an install.
273
305
 
274
306
  **Safety rules:**
@@ -276,16 +308,16 @@ silently break an install.
276
308
  warning, never an error (older framework versions predate some folders).
277
309
  - Obsolete cleanup only ever deletes **symlinks** at known framework paths
278
310
  (registry union, extras, retired folders such as `src/hosanna-game`).
279
- Real directories and files are never deleted; `env --fix` reports them for
311
+ Real directories and files are never deleted; `env fix` reports them for
280
312
  manual handling instead.
281
- - `.gitignore` (via `env:prepare-gitignore` or any SDK update) covers the union
313
+ - `.gitignore` (via `env prepare-gitignore` or any SDK update) covers the union
282
314
  of the built-in registry, any override, and any extras for the project.
283
315
 
284
- ### MCP Debugging Commands (`run:mcp`, `stop:mcp`) - AI Agent Debugging
285
- - `run:mcp` - Start the Hosanna MCP server for AI agent debugging
286
- - `stop:mcp` - Stop the Hosanna MCP server
316
+ ### MCP Debugging Commands (`mcp:start`, `mcp:stop`) - AI Agent Debugging
317
+ - `mcp:start` - Start the Hosanna MCP server for AI agent debugging
318
+ - `mcp:stop` - Stop the Hosanna MCP server
287
319
 
288
- **Cursor agents and MCP:** Cursor does not magically attach to a terminal `hst run:mcp`. You add Hosanna as an MCP server (project **`.cursor/mcp.json`** or **Cursor Settings → MCP → Add Custom MCP**) so Cursor spawns **`hosanna-mcp`** (stdio transport). That process talks to the **command debugger** on HTTP **59150** and extension WebSocket **59153** by default. In **Cursor Cloud Agents**, run **`npx hst env:cloud-agent-setup --start-debugger --start-app`** so those services are up before the agent uses MCP tools. See [Cursor MCP settings](#cursor-settings--mcp-hosanna-debugger) below.
320
+ **Cursor and MCP:** Cursor does not magically attach to a terminal `hst mcp:start`. Add Hosanna as a Command MCP server (project **`.cursor/mcp.json`** or **Cursor Settings → MCP → Add Custom MCP**) so Cursor spawns **`hosanna-mcp`** over stdio. Start the command debugger/app explicitly with `hst run --platform web --target web`, `hst run --platform ios --target web`, `hst run --platform android-tv --target web`, or `hst run --platform roku --target device`.
289
321
 
290
322
  ### UI Test Commands (`test:*`) - UI Test Automation
291
323
  - `test:ui` - Replay UI test recordings against a running Hosanna app
@@ -295,23 +327,43 @@ silently break an install.
295
327
 
296
328
  ```bash
297
329
  # Development workflow
298
- hst run:dev # Start development server
299
- hst generate --watch # Generate code with file watching
300
- hst roku:run --app-package myapp.zip # Deploy to Roku device
330
+ hst run --platform web # Start/reuse web dev services
331
+ hst run --platform roku --target web
332
+ hst run --platform ios --target web
333
+ hst run --platform android --target web
334
+ hst run --platform apple-tv --target web
335
+ hst run --platform android-tv --target web
336
+ hst run --platform roku --target simulated
337
+ hst run --platform roku --target emulated
338
+ hst run --platform ios --target simulator --device "iPhone 17 Pro"
339
+ hst run --platform ios --target device --device "George iPhone" --no-logs
340
+ hst run --platform android --target emulator --device "Pixel_8" --no-logs
341
+ hst run --platform android --target device --device "RF8M62694QT" --no-logs
342
+ hst run --platform android-tv --target emulator --device "Television_1080p" --no-logs
343
+ hst run --platform apple-tv --target simulator --device "Apple TV 4K"
344
+ hst run --platform roku --target device --device "Living Room"
345
+ hst run --platform roku --target device --device "Living Room" --replace
346
+ hst target:list --platform ios --target device --json
347
+ hst target:list --platform android --target emulator --json
348
+ hst target:list --platform android-tv --target emulator --json
349
+ hst target:list --platform apple-tv --target simulator --json
350
+ hst target:list --form-factor tv --json
351
+ hst generate:all --watch # Generate code with file watching
352
+ hst dev:start # Lower-level dev server task used by hst run
301
353
 
302
354
  # Building and packaging
303
355
  hst roku:package --ip 192.168.1.10 # Package and deploy Roku app
304
356
  hst generate:clean # Clean generated files
305
357
 
306
358
  # Setup and installation
307
- hst install # Initialize Hosanna SDK
308
- hst install:compiler # Install Hosanna compiler
309
- hst install:template # Create new template app
359
+ hst sdk:install # Initialize Hosanna SDK
360
+ hst compiler:install # Install Hosanna compiler
361
+ hst template:create # Create new template app
310
362
 
311
363
  # CI/CD operations
312
364
  hst ci:extract-pkg-key myapp.pkg # Extract signing key for CI
313
365
  hst build-config:restore-secrets
314
- hst build-config resolve --env prod --platform roku --out assets/meta/build-config.json
366
+ hst build-config:resolve --env prod --platform roku --out assets/meta/build-config.json
315
367
 
316
368
  # Secrets (.secrets / .secrets.example)
317
369
  hst secrets:list
@@ -321,13 +373,12 @@ hst secrets:exec -- npm run build
321
373
  hst secrets:init
322
374
 
323
375
  # Environment management
324
- hst env --fix # Check and fix environment issues
325
- hst env:prepare-gitignore # Update .gitignore
326
- hst env:cloud-agent-setup --start-debugger --start-app
376
+ hst env fix # Check and fix environment issues
377
+ hst env prepare-gitignore # Update .gitignore
327
378
 
328
379
  # MCP debugging (AI agent integration)
329
- hst run:debugger # Start debug proxy (required)
330
- hst run:mcp # Start MCP server for Cursor/Claude
380
+ hst debugger:start # Start debug proxy (required)
381
+ hst mcp:start # Start MCP server for Cursor/Claude
331
382
 
332
383
  # UI test automation
333
384
  hst test:record --name "My test" # Record UI test interactively
@@ -350,7 +401,7 @@ Use **Type: Command** (not URL). Cursor spawns one long-lived process and speaks
350
401
  | **Type** | **Command** |
351
402
  | **Command** | `hosanna-mcp` if `@tantawowa/hosanna-tools` is on your `PATH` (e.g. `npm install -g` or project `node_modules/.bin`). Otherwise use **`npx`** and put the package + binary in **Arguments** (see JSON below). |
352
403
  | **Arguments** | Usually empty when **Command** is `hosanna-mcp`. With `npx`: `-y --package=@tantawowa/hosanna-tools hosanna-mcp` (one token per argv if the UI supports a list; otherwise a single line matching the JSON `args` array). |
353
- | **Environment** | Optional; defaults match `hst run:debugger`. Use only if you use non-default ports. |
404
+ | **Environment** | Optional; defaults match `hst debugger:start`. Use only if you use non-default ports. |
354
405
 
355
406
  Equivalent **`~/.cursor/mcp.json`** or **`.cursor/mcp.json`** (project) entry:
356
407
 
@@ -384,20 +435,20 @@ Equivalent **`~/.cursor/mcp.json`** or **`.cursor/mcp.json`** (project) entry:
384
435
  |-----|----------------|
385
436
  | `HOSANNA_MANAGEMENT_PORT` | `59150` |
386
437
  | `HOSANNA_MANAGEMENT_HOST` | `localhost` |
387
- | `HOSANNA_EXTENSION_PORT` | `59153` (must match `hst run:debugger`) |
438
+ | `HOSANNA_EXTENSION_PORT` | `59153` (must match `hst debugger:start`) |
388
439
 
389
- After saving, enable the server in the MCP list. **`hst run:mcp`** is still useful in a terminal for manual runs; Cursor agents use the configured MCP spawn instead.
440
+ After saving, enable the server in the MCP list. **`hst mcp:start`** is still useful in a terminal for manual runs; Cursor agents use the configured MCP spawn instead.
390
441
 
391
442
  ### Quick Start
392
443
 
393
444
  ```bash
394
445
  # 1. Start the debug proxy (required for both MCP and test automation)
395
- hst run:debugger
446
+ hst debugger:start
396
447
 
397
448
  # 2. Start your Hosanna app with remote debugging enabled
398
449
 
399
450
  # 3. For AI debugging (Cursor, Claude Code):
400
- # Add MCP server (see "Cursor Settings → MCP" above) or hst run:mcp in a terminal
451
+ # Add MCP server (see "Cursor Settings → MCP" above) or hst mcp:start in a terminal
401
452
 
402
453
  # 4. For UI test recording:
403
454
  hst test:record --name "My test flow"
@@ -1,6 +1,6 @@
1
1
  {
2
- "buildDate": "2026-06-13T08:12:41+01:00",
3
- "buildDateISO": "2026-06-13T07:12:41.815Z",
2
+ "buildDate": "2026-06-18T12:04:11+01:00",
3
+ "buildDateISO": "2026-06-18T11:04:11.438Z",
4
4
  "timeZone": "Europe/London",
5
- "gitHash": "477199d"
5
+ "gitHash": "746701c"
6
6
  }