hyperhive/docs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
atlas a1243fe04a docs: follow the swarm service names to the swarm domain
The three moves above falsify prose in five files, and none of it is
caught by a gate: clippy, cargo test and nix flake check read exactly
zero markdown.

Corrected where a doc stated a DEFAULT or enumerated the vhosts --
gateway (ACME requirements + the header table + the two Forgejo
reachability lines), matrix (gatewayHost, firewall rationale, agent
reachability), network (container table + the HTTP resolution bullet),
turn-loop config, dashboard.

Two mentions are deliberately left alone. `docs/tools/hivectl.md` says
the URL is read from the daemon "instead of assuming forge.<domain>" --
that sentence is about not assuming a shape and stays true. And
matrix.md's breaking-change note describes what `serverName` USED to
default to; it is history, correctly labelled, and rewriting it would
erase the record of an earlier migration.

The ACME line gained a requirement rather than a rename: with the
service names under the swarm domain, every one of those names has to
resolve to this host, not just the hive's own.
2026-08-09 17:32:44 +02:00
..
swarm refactor(nix): a hive's domain comes out of the swarm directory 2026-08-05 22:43:17 +02:00
tools fix(forge): validate list's label + milestone filters, and paginate both 2026-08-05 22:06:12 +02:00
turn-loop docs: follow the swarm service names to the swarm domain 2026-08-09 17:32:44 +02:00
web-ui docs: follow the swarm service names to the swarm domain 2026-08-09 17:32:44 +02:00
agent-hierarchy.md docs: a config change is a PR from a clone, not an edit in place 2026-08-04 22:40:22 +02:00
approvals.md docs: a config change is a PR from a clone, not an edit in place 2026-08-04 22:40:22 +02:00
boundary.md docs: move the socket-dir ownership rule to boundary.md 2026-08-04 01:00:48 +02:00
ci.md docs(ci): add a For operators section 2026-08-03 00:30:57 +02:00
conventions.md docs: name the swarm display name by its new path 2026-08-05 11:15:41 +02:00
coordinator.md wip(#3001): convert remaining unblocked call sites; sweep docs 2026-08-04 19:57:32 +02:00
forge.md feat(#2642): a github.com notification poller alongside the forge one 2026-07-31 17:23:18 +02:00
gateway.md docs: follow the swarm service names to the swarm domain 2026-08-09 17:32:44 +02:00
github.md docs(github): move impl detail below the operator-facing sections 2026-08-02 23:54:55 +02:00
gotchas.md feat(#2693): let the operator pin the claude-code every agent runs 2026-07-27 13:56:28 +02:00
knowledge.md docs: describe the knowledge-change broadcast in the sync-mechanism section 2026-08-02 03:13:04 +02:00
matrix.md docs: follow the swarm service names to the swarm domain 2026-08-09 17:32:44 +02:00
network.md docs: follow the swarm service names to the swarm domain 2026-08-09 17:32:44 +02:00
observability.md docs: name the swarm display name by its new path 2026-08-05 11:15:41 +02:00
persistence.md docs: a config change is a PR from a clone, not an edit in place 2026-08-04 22:40:22 +02:00
pr-review-gate.md docs: revise per review — no specific example, gate is per-repo config, soften auto-merge framing 2026-08-04 17:23:12 +02:00
README.md docs: split swarm.md into a directory, starting with the services page 2026-08-05 18:07:04 +02:00
security.md fix: declare the agent socket dir's owner in tmpfiles, not by chown after 2026-08-04 01:00:48 +02:00
setup.md hivectl: rename hivectl agents to hivectl agent <name> <verb> 2026-07-27 19:07:18 +02:00
snapshot-store.md refactor(nix): swarm.peers becomes swarm.hives, a directory of every hive 2026-08-05 20:44:16 +02:00
terminal-rendering.md refactor(#2416): remove the non-pr config-change flow (request_apply_commit / applycommit) 2026-07-15 21:03:52 +02:00
web-ui.md docs(web-ui): add an operator-facing README as the subdir landing page 2026-08-02 23:26:29 +02:00

hyperhive docs

Depth reference for hyperhive — the substrate, not the pitch (that's the top-level README / website). Every page here stands alone; pick the one matching your task rather than reading top to bottom. For the auto-generated NixOS options reference (every services.hyperhive.* / hyperhive.* option, host and agent), see the options site instead — this tree is prose, that one's generated straight from the module declarations.

Getting started

  • Bringing a fresh hive online?setup.md (first-run hivectl bootstrap).
  • What does the dashboard look like, and how do I use it?web-ui/ — the operator-facing starting point; its own sub-pages (shape, dashboard, agent, css-vars) go deeper into implementation.
  • What tools does an agent (or the operator) have available?tools/hivectl (yours) plus every agent's MCP tool surface (bash, forge, lifecycle, matrix, scheduling).

Dashboard & agent UI internals

Turn loop, config, approvals

  • How does claude get its prompt, and what tools does it have?turn-loop/ — the loop, binary shape, turn outcomes; sub-pages: claude-invocation, config, mcp.
  • How do config changes flow from manager to operator to container?approvals.md (two-step spawn, approval state machine, flake.lock validation).
  • What state survives destroy / purge / restart?persistence.md.

Trust boundary & security

  • What's the operator/agent trust boundary? What's a capability?boundary.md.
  • Agent trust model, prompt-injection threat model, credential isolation?security.md.
  • Who can do what to whom — agent hierarchy and privilege?agent-hierarchy.md.

Accounts & integrations

  • How do per-agent forge accounts work? What does forge_notify poll, and how does it format wake messages?forge.md (the hive's own Forgejo); tools/forge.md for the hive-forge CLI verbs agents actually call.
  • How does the matrix-tuwunel container work? Multiple accounts per agent?matrix.md (the homeserver); tools/matrix.md for the MCP tool surface and hyperhive.matrixAccounts.
  • How do I give an agent a GitHub account (gh + git push)? How is the PAT injected?github.md.
  • What does hivectl do? Provisioning, gateway users, container shells?tools/hivectl.md (the curated guide); tools/hivectl-cli.md for the exhaustive, auto-generated flag reference.

Networking & swarms

  • What nginx vhosts does the gateway serve? How does matrix discovery work?gateway.md.
  • How does DNS resolution work in agent containers? What's the bridge network for?network.md.
  • How do I connect two hives into a swarm?swarm/ (peer hives, TLS trust).
  • Where do agent snapshots go? How does the swarm's btrfs receive endpoint authenticate a pushing hive?snapshot-store.md.

Scheduler, CI, observability

  • How does the rebuild queue work? What are queue kinds and sources?coordinator.md.
  • How does the CI runner work? What's the auto-registration flow?ci.md.
  • How do I export Claude Code metrics (tokens, cost, tool calls) to Prometheus/Grafana?observability.md.

Process & conventions

  • Naming, commit style, wire protocol, the data-async pattern?conventions.md.
  • Why does the nspawn flag look like that?gotchas.md (bind mounts, conf flags, other NixOS/nspawn quirks).
  • What is /knowledge? How does the hive-wide knowledge repo sync, and how do I contribute a document?knowledge.md.