home-hosted 0.7.11 → 0.7.13

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/AGENTS.md CHANGED
@@ -23,7 +23,9 @@ seed entry, or a path that names one.
23
23
 
24
24
  ```sh
25
25
  pnpm run up|down|restart|status # detached; `down` asks /_hh/shutdown, signals are the fallback
26
+ # `restart <id>` restarts one server via /_hh, panel stays up
26
27
  pnpm run start # up --foreground (systemd, docker, a foreground shell)
28
+ pnpm exec tsx src/cli.ts logs # the panel's own console output (--lines, --follow, --json)
27
29
  pnpm dev # tsx-watch panel :6000 + the stock UI's Vite :6001 (proxies /api), state in .dev-state/
28
30
  pnpm dev --ui noc-console # the same, for another UI; --port/--ui-port override
29
31
  pnpm run build # dist/cli.js + the stock UI (uis/stock/dist)
@@ -53,6 +55,19 @@ UI and every UI zip, lets changelogen write the changelog, bump `package.json`,
53
55
  trusted publishing (OIDC, no token). npm only offers a trusted publisher for a package that already
54
56
  exists, so the first release has to be published by hand.
55
57
 
58
+ Four workflows, and the split is deliberate:
59
+
60
+ | workflow | runs on | what it proves |
61
+ | --- | --- | --- |
62
+ | `quickcheck.yml` / `test.yml` | every push and PR | lint, types, the whole suite with coverage — Linux only |
63
+ | `cross-platform.yml` | the release gate, or by hand | the same suite on macOS and Windows |
64
+ | `release.yml` | dispatched with a version | the platform gate, then tag, publish, release assets |
65
+
66
+ The platform gate is not a per-push job on purpose: it is the expensive half, and it is what makes a
67
+ platform-specific break fail before shipping rather than on someone's machine. It also runs on a
68
+ `dry-run`, because that is exactly what a rehearsal needs to exercise. Every job carries a
69
+ `timeout-minutes`, so a wedged runner is reported instead of sitting out GitHub's 6-hour default.
70
+
56
71
  ### Which version to dispatch
57
72
 
58
73
  Below 1.0 the **minor is the breaking channel**: a fix or a non-breaking feature is a **patch**
package/README.md CHANGED
@@ -340,10 +340,12 @@ restarts itself), and how hand-edits are validated: [SERVERS.md](./docs/SERVERS.
340
340
  | --- | --- |
341
341
  | `home-hosted up` | start the panel detached, and keep it alive in the background |
342
342
  | `home-hosted down` | stop it cleanly — supervised processes included, persistent entries left running |
343
- | `home-hosted restart` | `down`, then `up` |
343
+ | `home-hosted restart` | `down`, then `up` — or `restart <id>` to restart one server, leaving the panel up |
344
344
  | `home-hosted status` | pid, URL, health, uptime, state and log paths (`--json` for scripts) |
345
345
  | `home-hosted start <id>` | start one server in the default workspace — and anything it `dependsOn` (`--workspace <id>`) |
346
346
  | `home-hosted stop <id>` | stop one server, nothing else (`--workspace <id>`) |
347
+ | `home-hosted restart <id>` | restart one server, nothing else (`--workspace <id>`) — the same as the panel's per-server Restart |
348
+ | `home-hosted logs` | read the panel's own console output — the file `up` redirects it into (`--lines`, `--follow`, `--json`) |
347
349
  | `home-hosted set-password` | set the panel password without opening a browser |
348
350
  | `home-hosted set-token` | set the API token scripts and agents use (`--generate`, `--clear`) |
349
351
  | `home-hosted migrate` | relocate a pre-workspaces state directory and stamp every config for this release (`--dry-run`, `--yes`) |
@@ -358,11 +360,13 @@ restarts itself), and how hand-edits are validated: [SERVERS.md](./docs/SERVERS.
358
360
  `home-hosted <command> --help` prints what that command takes.
359
361
 
360
362
  ```text
361
- up, restart -c/--config -p/--port --host --open --no-autostart --foreground --print-config
363
+ up -c/--config -p/--port --host --open --no-autostart --foreground --print-config
362
364
 
363
365
  down (no flags)
364
366
  status --json
367
+ logs --lines <n> --follow --json
365
368
  start, stop <id> [-w/--workspace <id>] (both need the panel up)
369
+ restart [<id>] [-w/--workspace <id>] (no id: the panel; with one: that server)
366
370
  init --dir --name --pm --no-install -y/--yes
367
371
  set-password --clear
368
372
  set-token --generate --clear
@@ -375,7 +379,8 @@ every command --home <dir> --project <dir> (or $HHOSTED_HOME, $HHOSTED
375
379
  env vars HHOSTED_PASSWORD, HHOSTED_MIGRATE=allow, HHOSTED_TOKEN, GITHUB_TOKEN or GH_TOKEN
376
380
  ```
377
381
 
378
- `up` and `restart` share the same flags: `restart` is `down`, then `up` with exactly what it was given.
382
+ `up` and `restart` share the same flags: bare `restart` is `down`, then `up` with exactly what it was
383
+ given. Given a server id — `restart web` — it restarts only that entry, and the panel keeps running.
379
384
  `-c/--config` is the **default workspace's** servers file (`<state>/.hh/default/servers.config.json`),
380
385
  for a launcher that pins one; a workspace picked in the UI keeps its own. `start`/`stop` omit
381
386
  `--workspace` to act in the panel's default workspace.
@@ -507,6 +512,24 @@ specific:
507
512
 
508
513
  ## ❓ FAQ
509
514
 
515
+ <details>
516
+ <summary><b>The panel is up but something is wrong — where do I look?</b></summary>
517
+
518
+ `home-hosted logs` prints the panel's own console output, which is where it reports what it is
519
+ doing and anything it could not finish:
520
+
521
+ ```bash
522
+ home-hosted logs # the last 50 lines
523
+ home-hosted logs --follow # keep printing, like tail -f
524
+ home-hosted logs --lines all # the whole thing, including the rotation
525
+ ```
526
+
527
+ It is the same file `status` names, and reading it needs no session or API token — a panel that
528
+ is answering badly is exactly when you cannot get one. `up` prints the tail automatically when
529
+ the panel fails to start.
530
+
531
+ </details>
532
+
510
533
  <details>
511
534
  <summary><b>Is it a systemd replacement?</b></summary>
512
535