Watch
0
0
Fork
You've already forked hyperhive
0

hivectl: the open verb is gone and the docs say what hivectl has

This commit is contained in:
damocles 2026-11-06 23:37:12 +01:00 • committed by mara
commit 06b303aff2

View file

@ -21,13 +21,6 @@ markdown-docs` subcommand and kept in lockstep with the code by the
Regenerate with `nix build .#default && ./result/bin/hivectl
markdown-docs > docs/2-handbook/reference/hivectl-cli.md`.
## Forge
`hivectl` has no forge verbs and makes no forge accounts: a human's first SSO
login to the forge makes theirs, and `swarmctl forge make-admin <name>` makes it
a site admin. swarm-controller makes an agent's, and `swarmctl agent
mint-forge-token <agent>` checks and, if needed, re-mints its token.
## Agents
Container lifecycle shortcuts that go through the host admin socket.
@ -164,29 +157,3 @@ the harness already stamps onto stream-json events for the web UI
glyph-prefixed lines instead of raw JSON. Not an attempt at the web
UI's full collapsible-details rendering (`docs/4-implementation/web-ui/terminal-rendering.md`)
— that's presentation for a browser, this is a `tail -f`.
## Open
Print (and best-effort open in a browser) one of the hive's web surfaces.
Requires the `hive-c0re` daemon to be running.
```bash
hivectl open # operator dashboard (same as `open home`)
hivectl open home # operator dashboard (https://<hive>.hives.<swarm domain>/)
hivectl open forge # the forge (Forgejo) web UI
hivectl open matrix # the matrix GUI (fluffychat)
```
hivectl resolves the URL from the running daemon (`HostRequest::Urls`), which
reads the per-surface public URLs from c0re's service env — so custom
forge / matrix domains resolve correctly instead of assuming
`forge.<domain>`. The URL is **always printed** (the reliable core, since
the host is typically headless / driven over SSH), then hivectl tries
`xdg-open` as a convenience, reporting a missing or failing opener as a
note, not an error.
A surface has no URL when it isn't browser-reachable: `home` needs
`services.hyperhive.domain`; `forge` needs
`services.hyperhive.swarm.forge.publicUrl` (set by default); `matrix` needs
`services.hyperhive.swarm.matrix.gatewayHost` (set by default). In those cases the command
exits with a hint naming the option to set.