@tantawowa/hosanna-tools 2.22.0 → 2.23.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 +95 -52
- package/dist/build-info.json +3 -3
- package/dist/cli.js +437 -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 +51 -2
- package/dist/index.js +44 -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 +51 -0
- package/dist/lib/hosanna-config.js +323 -0
- package/dist/lib/hosanna-config.js.map +1 -0
- package/dist/run/android-emulator.d.ts +40 -0
- package/dist/run/android-emulator.js +590 -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 +367 -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 +229 -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 +187 -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 +66 -0
- package/dist/run/run-controller.js +1017 -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 +210 -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 +17 -0
- package/dist/updater/compiler-installer.js +102 -0
- package/dist/updater/compiler-installer.js.map +1 -1
- 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,35 @@ 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 roku --target simulated
|
|
158
|
+
hst run --platform roku --target emulated
|
|
159
|
+
hst run --platform ios --target simulator --device "iPhone 17 Pro"
|
|
160
|
+
hst run --platform ios --target device --device "George iPhone" --no-logs
|
|
161
|
+
hst run --platform android --target emulator --device "Pixel_8" --no-logs
|
|
162
|
+
hst run --platform android --target device --device "RF8M62694QT" --no-logs
|
|
163
|
+
hst run --platform android-tv --target emulator --device "Television_1080p" --no-logs
|
|
164
|
+
hst run --platform apple-tv --target simulator --device "Apple TV 4K"
|
|
165
|
+
hst run --platform roku --target device --device "Living Room"
|
|
166
|
+
hst run --platform roku --target device --device "Living Room" --replace
|
|
167
|
+
hst target:list --platform ios --target device --json
|
|
168
|
+
hst target:list --platform android --target emulator --json
|
|
169
|
+
hst target:list --platform android-tv --target emulator --json
|
|
170
|
+
hst target:list --platform apple-tv --target simulator --json
|
|
171
|
+
hst target:list --form-factor tv --json
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
`hst run` is platform-explicit by design, so non-interactive agents do not guess between iOS, Apple TV, Android, Android TV, Roku, or web. For Roku, `web`, `simulated`, and `emulated` all launch 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
175
|
|
|
150
176
|
### Roku Commands (`roku:*`) - Roku Deployment & Packaging
|
|
151
177
|
- `roku:run` - Deploy a Roku app to a device (supports .zip file or folder)
|
|
@@ -168,37 +194,39 @@ hst roku:map-stack --text "file/line: pkg:/components/source_0.brs(7475)"
|
|
|
168
194
|
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
195
|
|
|
170
196
|
### Generate Commands (`generate:*`) - Code Generation
|
|
171
|
-
- `generate` - Generate structs and command handler maps
|
|
197
|
+
- `generate:all` - Generate structs and command handler maps
|
|
172
198
|
- `generate:structs` - Generate structs only for the specified files
|
|
173
199
|
- `generate:clean` - Clean generated files in the generated folder
|
|
174
200
|
|
|
175
|
-
###
|
|
176
|
-
- `install` - Install the SDK by creating hosanna.json
|
|
177
|
-
- `install
|
|
178
|
-
- `
|
|
201
|
+
### Setup Commands
|
|
202
|
+
- `sdk:install` - Install the SDK by creating hosanna.json
|
|
203
|
+
- `compiler:install` - Install or update the Hosanna compiler (hsc)
|
|
204
|
+
- `compiler:status` - Print local compiler status for this project
|
|
205
|
+
- `compiler:list` - List compiler versions known from local config, install, and cache
|
|
206
|
+
- `template:create` - Create a new template app with the Hosanna SDK
|
|
179
207
|
|
|
180
208
|
### Build Config Commands (`build-config`) - Runtime Configuration
|
|
181
|
-
- `build-config
|
|
209
|
+
- `build-config:resolve` - Resolve `build-config/base.json`, env/platform overlays, secrets, and optional developer profiles into the canonical runtime `build-config.json`
|
|
182
210
|
|
|
183
211
|
Native builds can resolve config immediately before the platform build:
|
|
184
212
|
|
|
185
213
|
```bash
|
|
186
|
-
npx hst build-config
|
|
214
|
+
npx hst build-config:resolve --env dev --platform roku --out assets/meta/build-config.json
|
|
187
215
|
npm run roku:build
|
|
188
216
|
|
|
189
|
-
HS_ENV=dev HS_PLATFORM=android npx hst build-config
|
|
217
|
+
HS_ENV=dev HS_PLATFORM=android npx hst build-config:resolve --out assets/meta/build-config.json
|
|
190
218
|
npm run android:build-code
|
|
191
219
|
|
|
192
|
-
HS_ENV=dev HS_PLATFORM=apple HS_BUILD_PROFILE=george npx hst build-config
|
|
220
|
+
HS_ENV=dev HS_PLATFORM=apple HS_BUILD_PROFILE=george npx hst build-config:resolve --out assets/meta/build-config.json
|
|
193
221
|
npm run apple:build-code
|
|
194
222
|
```
|
|
195
223
|
|
|
196
224
|
### CI Commands (`ci:*`) - Continuous Integration
|
|
197
225
|
- `ci:extract-pkg-key` - Extract signing key from an existing signed Roku package as base64
|
|
198
|
-
- `
|
|
226
|
+
- `config set --git-url` - Configure hosanna.json git-url from argument or environment
|
|
199
227
|
|
|
200
228
|
### Build Config Commands (`build-config:*`) - Build/runtime config
|
|
201
|
-
- `build-config
|
|
229
|
+
- `build-config:resolve` - Merge build config overlays into `assets/meta/build-config.json`
|
|
202
230
|
- `build-config:restore-secrets` - Restore ignored `secrets/*.json` overlays from `BUILD_CONFIG_SECRETS_*_BASE64`
|
|
203
231
|
|
|
204
232
|
### Secrets Commands (`secrets:*`) - Portable `.secrets` files
|
|
@@ -209,10 +237,10 @@ npm run apple:build-code
|
|
|
209
237
|
|
|
210
238
|
Shared options: `--file` (secrets path), `--template` (template path for `check` / `init` / `list --template`), `--format text|json`.
|
|
211
239
|
|
|
212
|
-
### Environment Commands (`env
|
|
213
|
-
- `env` - Print environment information and run checks
|
|
214
|
-
- `env
|
|
215
|
-
- `env
|
|
240
|
+
### Environment Commands (`env ...`) - Environment Management
|
|
241
|
+
- `env check` - Print environment information and run checks
|
|
242
|
+
- `env fix` - Check and repair environment issues
|
|
243
|
+
- `env prepare-gitignore` - Ensure .gitignore contains required entries
|
|
216
244
|
|
|
217
245
|
### Framework Source Symlinks (semver-keyed registry)
|
|
218
246
|
|
|
@@ -231,8 +259,8 @@ tags, branches, `@latest`, and `LOCAL_SDK` alike.
|
|
|
231
259
|
| >= 1.0.0 | `hosanna-bridge-http`, `hosanna-bridge-lib`, `hosanna-bridge-targets`, `hosanna-list`, `hosanna-ui` |
|
|
232
260
|
| >= 1.31.0 | the above + `hosanna-bridge-core` |
|
|
233
261
|
|
|
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
|
|
262
|
+
`hst env check` always prints the active set, the matched registry version, and the
|
|
263
|
+
source (`built-in`, `hosanna.json override`, `+ N extra`). `hst env fix`
|
|
236
264
|
creates missing links, repairs wrong targets, and removes obsolete ones — with
|
|
237
265
|
no git/network access when only symlinks are wrong. Symlinks are also re-synced
|
|
238
266
|
as part of every SDK update.
|
|
@@ -251,7 +279,7 @@ to the resolved defaults; cannot break them. Folder names are forgiving
|
|
|
251
279
|
|
|
252
280
|
Use this for game projects (`hosanna-game`, `hosanna-game-examples`) or when a
|
|
253
281
|
project wants the example rigs (`hosanna-ui-examples`). Removing an entry makes
|
|
254
|
-
its symlink obsolete; the next `env
|
|
282
|
+
its symlink obsolete; the next `env fix` cleans it up.
|
|
255
283
|
|
|
256
284
|
**Replacing the registry (`symlink-registry`)** — rare; total control. A valid
|
|
257
285
|
key fully replaces the built-in registry (extras still append on top). Folders
|
|
@@ -268,7 +296,7 @@ everything the project needs:
|
|
|
268
296
|
```
|
|
269
297
|
|
|
270
298
|
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
|
|
299
|
+
built-in registry and is reported as an issue by `hst env check` — a typo cannot
|
|
272
300
|
silently break an install.
|
|
273
301
|
|
|
274
302
|
**Safety rules:**
|
|
@@ -276,16 +304,16 @@ silently break an install.
|
|
|
276
304
|
warning, never an error (older framework versions predate some folders).
|
|
277
305
|
- Obsolete cleanup only ever deletes **symlinks** at known framework paths
|
|
278
306
|
(registry union, extras, retired folders such as `src/hosanna-game`).
|
|
279
|
-
Real directories and files are never deleted; `env
|
|
307
|
+
Real directories and files are never deleted; `env fix` reports them for
|
|
280
308
|
manual handling instead.
|
|
281
|
-
- `.gitignore` (via `env
|
|
309
|
+
- `.gitignore` (via `env prepare-gitignore` or any SDK update) covers the union
|
|
282
310
|
of the built-in registry, any override, and any extras for the project.
|
|
283
311
|
|
|
284
|
-
### MCP Debugging Commands (`
|
|
285
|
-
- `
|
|
286
|
-
- `stop
|
|
312
|
+
### MCP Debugging Commands (`mcp:start`, `mcp:stop`) - AI Agent Debugging
|
|
313
|
+
- `mcp:start` - Start the Hosanna MCP server for AI agent debugging
|
|
314
|
+
- `mcp:stop` - Stop the Hosanna MCP server
|
|
287
315
|
|
|
288
|
-
**Cursor
|
|
316
|
+
**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`, `hst run --platform roku --target web`, or `hst run --platform roku --target device`.
|
|
289
317
|
|
|
290
318
|
### UI Test Commands (`test:*`) - UI Test Automation
|
|
291
319
|
- `test:ui` - Replay UI test recordings against a running Hosanna app
|
|
@@ -295,23 +323,39 @@ silently break an install.
|
|
|
295
323
|
|
|
296
324
|
```bash
|
|
297
325
|
# Development workflow
|
|
298
|
-
hst run
|
|
299
|
-
hst
|
|
300
|
-
hst
|
|
326
|
+
hst run --platform web # Start/reuse web dev services
|
|
327
|
+
hst run --platform roku --target web
|
|
328
|
+
hst run --platform roku --target simulated
|
|
329
|
+
hst run --platform roku --target emulated
|
|
330
|
+
hst run --platform ios --target simulator --device "iPhone 17 Pro"
|
|
331
|
+
hst run --platform ios --target device --device "George iPhone" --no-logs
|
|
332
|
+
hst run --platform android --target emulator --device "Pixel_8" --no-logs
|
|
333
|
+
hst run --platform android --target device --device "RF8M62694QT" --no-logs
|
|
334
|
+
hst run --platform android-tv --target emulator --device "Television_1080p" --no-logs
|
|
335
|
+
hst run --platform apple-tv --target simulator --device "Apple TV 4K"
|
|
336
|
+
hst run --platform roku --target device --device "Living Room"
|
|
337
|
+
hst run --platform roku --target device --device "Living Room" --replace
|
|
338
|
+
hst target:list --platform ios --target device --json
|
|
339
|
+
hst target:list --platform android --target emulator --json
|
|
340
|
+
hst target:list --platform android-tv --target emulator --json
|
|
341
|
+
hst target:list --platform apple-tv --target simulator --json
|
|
342
|
+
hst target:list --form-factor tv --json
|
|
343
|
+
hst generate:all --watch # Generate code with file watching
|
|
344
|
+
hst dev:start # Lower-level dev server command
|
|
301
345
|
|
|
302
346
|
# Building and packaging
|
|
303
347
|
hst roku:package --ip 192.168.1.10 # Package and deploy Roku app
|
|
304
348
|
hst generate:clean # Clean generated files
|
|
305
349
|
|
|
306
350
|
# Setup and installation
|
|
307
|
-
hst install
|
|
308
|
-
hst install
|
|
309
|
-
hst
|
|
351
|
+
hst sdk:install # Initialize Hosanna SDK
|
|
352
|
+
hst compiler:install # Install Hosanna compiler
|
|
353
|
+
hst template:create # Create new template app
|
|
310
354
|
|
|
311
355
|
# CI/CD operations
|
|
312
356
|
hst ci:extract-pkg-key myapp.pkg # Extract signing key for CI
|
|
313
357
|
hst build-config:restore-secrets
|
|
314
|
-
hst build-config
|
|
358
|
+
hst build-config:resolve --env prod --platform roku --out assets/meta/build-config.json
|
|
315
359
|
|
|
316
360
|
# Secrets (.secrets / .secrets.example)
|
|
317
361
|
hst secrets:list
|
|
@@ -321,13 +365,12 @@ hst secrets:exec -- npm run build
|
|
|
321
365
|
hst secrets:init
|
|
322
366
|
|
|
323
367
|
# Environment management
|
|
324
|
-
hst env
|
|
325
|
-
hst env
|
|
326
|
-
hst env:cloud-agent-setup --start-debugger --start-app
|
|
368
|
+
hst env fix # Check and fix environment issues
|
|
369
|
+
hst env prepare-gitignore # Update .gitignore
|
|
327
370
|
|
|
328
371
|
# MCP debugging (AI agent integration)
|
|
329
|
-
hst
|
|
330
|
-
hst
|
|
372
|
+
hst debugger:start # Start debug proxy (required)
|
|
373
|
+
hst mcp:start # Start MCP server for Cursor/Claude
|
|
331
374
|
|
|
332
375
|
# UI test automation
|
|
333
376
|
hst test:record --name "My test" # Record UI test interactively
|
|
@@ -350,7 +393,7 @@ Use **Type: Command** (not URL). Cursor spawns one long-lived process and speaks
|
|
|
350
393
|
| **Type** | **Command** |
|
|
351
394
|
| **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
395
|
| **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
|
|
396
|
+
| **Environment** | Optional; defaults match `hst debugger:start`. Use only if you use non-default ports. |
|
|
354
397
|
|
|
355
398
|
Equivalent **`~/.cursor/mcp.json`** or **`.cursor/mcp.json`** (project) entry:
|
|
356
399
|
|
|
@@ -384,20 +427,20 @@ Equivalent **`~/.cursor/mcp.json`** or **`.cursor/mcp.json`** (project) entry:
|
|
|
384
427
|
|-----|----------------|
|
|
385
428
|
| `HOSANNA_MANAGEMENT_PORT` | `59150` |
|
|
386
429
|
| `HOSANNA_MANAGEMENT_HOST` | `localhost` |
|
|
387
|
-
| `HOSANNA_EXTENSION_PORT` | `59153` (must match `hst
|
|
430
|
+
| `HOSANNA_EXTENSION_PORT` | `59153` (must match `hst debugger:start`) |
|
|
388
431
|
|
|
389
|
-
After saving, enable the server in the MCP list. **`hst
|
|
432
|
+
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
433
|
|
|
391
434
|
### Quick Start
|
|
392
435
|
|
|
393
436
|
```bash
|
|
394
437
|
# 1. Start the debug proxy (required for both MCP and test automation)
|
|
395
|
-
hst
|
|
438
|
+
hst debugger:start
|
|
396
439
|
|
|
397
440
|
# 2. Start your Hosanna app with remote debugging enabled
|
|
398
441
|
|
|
399
442
|
# 3. For AI debugging (Cursor, Claude Code):
|
|
400
|
-
# Add MCP server (see "Cursor Settings → MCP" above) or hst
|
|
443
|
+
# Add MCP server (see "Cursor Settings → MCP" above) or hst mcp:start in a terminal
|
|
401
444
|
|
|
402
445
|
# 4. For UI test recording:
|
|
403
446
|
hst test:record --name "My test flow"
|
package/dist/build-info.json
CHANGED