hyperhive/hivectl
Repository files (latest commit first)
Filename Latest commit message Latest commit date
iris bc8f1b3cb8 fix: sync generated CLI docs with their clap source strings
docs/tools/swarmctl-cli.md and docs/tools/hivectl-cli.md are generated
(nix/checks.nix's swarmctl-docs/hivectl-docs freshness checks diff a
fresh 'markdown-docs' run against the committed copy). The earlier
Contractions/Foreign fixes in this branch edited the generated
markdown directly instead of the clap #[arg(...)]/doc-comment strings
in swarmctl/src/main.rs and hivectl/src/cli.rs -- so CI's freshness
check would regenerate the docs from unfixed source and silently
undo the fix (found by argus's review).

Applied the exact same 13 wording changes to source (5 in
swarmctl/src/main.rs, 8 in hivectl/src/cli.rs) that the earlier commits
already made to the generated .md, matched 1:1 against
'git diff origin/main HEAD -- docs/tools/{swarmctl,hivectl}-cli.md'
rather than guessed. Regenerated both docs from the now-fixed source
and confirmed byte-identical to what's already committed (both
'diff <(binary markdown-docs) docs/tools/X-cli.md' exit 0) -- source
and generated output are back in sync.

cargo clippy -p swarmctl -p hivectl --all-targets -- -D warnings and
scripts/check-doc-refs.sh both clean.
2026-09-07 16:28:06 +02:00
..
src fix: sync generated CLI docs with their clap source strings 2026-09-07 16:28:06 +02:00
Cargo.toml hivectl: migrate dag_progress to hive-jobq-wire's generic GraphNode 2026-08-03 20:35:24 +02:00
README.md hivectl: add start/stop agent verbs, rename spawn to create 2026-08-02 19:42:59 +02:00

hivectl

The operator-facing host CLI. A thin client for the hive-c0re daemon — speaks the host admin socket protocol (hive-host-sock) and does not link the daemon crate. Container lifecycle, the approval queue, and provisioning verbs all forward to the daemon and need it running; a few (wg/peer-config, choom) work off local host state instead.

When to use it

Reach for this crate when adding an operator-run host command — agents talk to the daemon over their own MCP tool surface (hive-agent-mcp), not this binary. hivectl is what a human operator (or a host-side script) runs.

Shape

One module per subcommand family; main.rs is just the clap parse + dispatch:

  • agents.rs — container lifecycle (start/stop/create/kill/rebuild/restart/…).
  • approvals.rs — the config/init-config/meta-input approval queue.
  • dag_progress.rs — rebuild-queue progress rendering.
  • power.rs — restart/start/stop at the container level.
  • choom.rs — drop into an interactive claude session in a container.
  • forge.rs, matrix.rs, github.rs, gateway.rs — per-integration account/token provisioning.
  • wg.rs — WireGuard mesh helpers.
  • subvol.rs — btrfs state-subvolume ops.
  • quota.rs, util.rs, completions.rs, open.rs — shared helpers, shell completions, browser-open.

Full verb reference: docs/tools/hivectl.md.