- frontend/README.md: list the missing packages/swarm-ui package, fix the vanilla-JS claim (all packages depend on preact), and the deprecated hyperhive.frontend.extraFiles spelling - hive-c0re/README.md: hive-c0re no longer provisions per-agent forge/matrix accounts (swarm-controller does); it wires gateway vhosts and reconciles forge/matrix config - hive-metric/README.md: OTEL_EXPORTER_OTLP_HEADERS is never set by the harness and has no way to be set - hive-agent-sock/README.md: fix the deprecated hyperhive.extraMcpServers spelling - docs/process/gotchas.md: fix a dangling hive-ag3nt/ path, the real directory is hive-agent/ Also fixes pre-existing vale error-level alerts (passive voice, Microsoft.Auto, Microsoft.Contractions) in the same files so prose-lint-errors passes clean.
36 lines
1.4 KiB
Markdown
36 lines
1.4 KiB
Markdown
# hyperhive frontend
|
|
|
|
npm workspaces project for the hyperhive browser-facing assets:
|
|
|
|
- `packages/shared/` — shared modules used by every surface (terminal
|
|
pane, Catppuccin palette + body typography).
|
|
- `packages/dashboard/` — the hive-c0re dashboard SPA.
|
|
- `packages/agent/` — the per-container web UI (default agent page,
|
|
stats, screen).
|
|
- `packages/swarm-ui/` — the swarm-level operator UI shell (project-
|
|
bootstrap scope, no functionality yet).
|
|
|
|
## Build
|
|
|
|
```
|
|
npm install # one-off; uses the checked-in package-lock.json
|
|
npm run build # builds every workspace into packages/*/dist/
|
|
```
|
|
|
|
The Rust binaries serve `packages/dashboard/dist/` and
|
|
`packages/agent/dist/` via `tower_http::ServeDir` at runtime;
|
|
`nix/packages/frontend.nix` wires up the build derivation. The
|
|
`services.hyperhive.agent.frontend.extraFiles` option in `agent.nix`
|
|
layers per-agent additions on top of the default agent dist.
|
|
|
|
## Why npm + esbuild
|
|
|
|
- **Hermetic**: dependencies vendored via the checked-in lockfile;
|
|
`buildNpmPackage` in nix uses it as the source-of-truth so the
|
|
output is reproducible without network access at build time.
|
|
- **esbuild**: each package is a small Preact app, bundled with no
|
|
framework beyond Preact itself. Each workspace's `build.mjs` is ~30
|
|
lines.
|
|
- **Single-PR migration**: see the tracked design proposal and
|
|
the four-commit shape (npm scaffold → nix derivations → container
|
|
plumbing → Rust cutover).
|