@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.
- package/README.md +103 -52
- package/dist/build-info.json +3 -3
- package/dist/cli.js +445 -157
- package/dist/cli.js.map +1 -1
- package/dist/device/device-cli.d.ts +2 -2
- package/dist/device/device-cli.js +7 -6
- package/dist/device/device-cli.js.map +1 -1
- package/dist/device/devices-file.js +9 -1
- package/dist/device/devices-file.js.map +1 -1
- package/dist/device/drivers/roku-driver.js +1 -1
- package/dist/device/drivers/roku-driver.js.map +1 -1
- package/dist/device/log-stream.d.ts +2 -0
- package/dist/device/log-stream.js +24 -14
- package/dist/device/log-stream.js.map +1 -1
- package/dist/device/types.d.ts +4 -0
- package/dist/index.d.ts +54 -2
- package/dist/index.js +48 -7
- package/dist/index.js.map +1 -1
- package/dist/lib/env-info.js +30 -24
- package/dist/lib/env-info.js.map +1 -1
- package/dist/lib/hosanna-config.d.ts +60 -0
- package/dist/lib/hosanna-config.js +343 -0
- package/dist/lib/hosanna-config.js.map +1 -0
- package/dist/run/android-emulator.d.ts +42 -0
- package/dist/run/android-emulator.js +629 -0
- package/dist/run/android-emulator.js.map +1 -0
- package/dist/run/apple-tv.d.ts +32 -0
- package/dist/run/apple-tv.js +392 -0
- package/dist/run/apple-tv.js.map +1 -0
- package/dist/run/ios-device.d.ts +17 -0
- package/dist/run/ios-device.js +253 -0
- package/dist/run/ios-device.js.map +1 -0
- package/dist/run/ios-simulator.d.ts +21 -0
- package/dist/run/ios-simulator.js +206 -0
- package/dist/run/ios-simulator.js.map +1 -0
- package/dist/run/process-utils.d.ts +2 -0
- package/dist/run/process-utils.js +31 -0
- package/dist/run/process-utils.js.map +1 -0
- package/dist/run/run-config.d.ts +20 -0
- package/dist/run/run-config.js +72 -0
- package/dist/run/run-config.js.map +1 -0
- package/dist/run/run-controller.d.ts +74 -0
- package/dist/run/run-controller.js +1163 -0
- package/dist/run/run-controller.js.map +1 -0
- package/dist/run/session-manager.d.ts +25 -0
- package/dist/run/session-manager.js +99 -0
- package/dist/run/session-manager.js.map +1 -0
- package/dist/run/targets.d.ts +60 -0
- package/dist/run/targets.js +252 -0
- package/dist/run/targets.js.map +1 -0
- package/dist/run/types.d.ts +60 -0
- package/dist/run/types.js +32 -0
- package/dist/run/types.js.map +1 -0
- package/dist/support-tools/framework-sync.d.ts +75 -0
- package/dist/support-tools/framework-sync.js +346 -0
- package/dist/support-tools/framework-sync.js.map +1 -0
- package/dist/support-tools/mcp-server/cli-test-recorder.js +1 -1
- package/dist/support-tools/mcp-server/cli-test-recorder.js.map +1 -1
- package/dist/support-tools/mcp-server/cli-test-runner.js +1 -1
- package/dist/support-tools/mcp-server/cli-test-runner.js.map +1 -1
- package/dist/support-tools/mcp-server/game-tools.js +1 -1
- package/dist/support-tools/mcp-server/game-tools.js.map +1 -1
- package/dist/support-tools/mcp-server/index.d.ts +1 -1
- package/dist/support-tools/mcp-server/instance-lock.js +1 -1
- package/dist/support-tools/mcp-server/tools.js +3 -3
- package/dist/support-tools/mcp-server/tools.js.map +1 -1
- package/dist/updater/compiler-installer.d.ts +21 -0
- package/dist/updater/compiler-installer.js +143 -0
- package/dist/updater/compiler-installer.js.map +1 -1
- package/dist/updater/compiler-release-catalog.d.ts +25 -0
- package/dist/updater/compiler-release-catalog.js +115 -0
- package/dist/updater/compiler-release-catalog.js.map +1 -0
- package/dist/updater/framework-installer.d.ts +43 -0
- package/dist/updater/framework-installer.js +260 -0
- package/dist/updater/framework-installer.js.map +1 -0
- package/dist/updater/license-manager.d.ts +57 -0
- package/dist/updater/license-manager.js +265 -0
- package/dist/updater/license-manager.js.map +1 -0
- package/dist/updater/sdk-manager.d.ts +7 -1
- package/dist/updater/sdk-manager.js +15 -6
- package/dist/updater/sdk-manager.js.map +1 -1
- package/dist/updater/symlink-manager.js +25 -3
- package/dist/updater/symlink-manager.js.map +1 -1
- package/dist/updater/symlink-registry.d.ts +1 -0
- package/dist/updater/symlink-registry.js +6 -0
- package/dist/updater/symlink-registry.js.map +1 -1
- package/package.json +1 -1
- package/dist/lib/env-cloud-agent-setup-help.d.ts +0 -5
- package/dist/lib/env-cloud-agent-setup-help.js +0 -26
- package/dist/lib/env-cloud-agent-setup-help.js.map +0 -1
- package/dist/support-tools/cloud-agent-setup.d.ts +0 -41
- package/dist/support-tools/cloud-agent-setup.js +0 -132
- 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
|
|
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,
|
|
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
|
|
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
|
|
51
|
-
| `npx hst install
|
|
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
|
-
###
|
|
147
|
-
- `run
|
|
148
|
-
- `
|
|
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
|
-
###
|
|
176
|
-
- `install` - Install the SDK by creating hosanna.json
|
|
177
|
-
- `install
|
|
178
|
-
- `
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
-
- `
|
|
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
|
|
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
|
|
213
|
-
- `env` - Print environment information and run checks
|
|
214
|
-
- `env
|
|
215
|
-
- `env
|
|
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
|
|
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
|
|
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
|
|
311
|
+
Real directories and files are never deleted; `env fix` reports them for
|
|
280
312
|
manual handling instead.
|
|
281
|
-
- `.gitignore` (via `env
|
|
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 (`
|
|
285
|
-
- `
|
|
286
|
-
- `stop
|
|
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
|
|
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
|
|
299
|
-
hst
|
|
300
|
-
hst
|
|
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
|
|
308
|
-
hst install
|
|
309
|
-
hst
|
|
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
|
|
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
|
|
325
|
-
hst env
|
|
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
|
|
330
|
-
hst
|
|
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
|
|
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
|
|
438
|
+
| `HOSANNA_EXTENSION_PORT` | `59153` (must match `hst debugger:start`) |
|
|
388
439
|
|
|
389
|
-
After saving, enable the server in the MCP list. **`hst
|
|
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
|
|
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
|
|
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"
|
package/dist/build-info.json
CHANGED