| Filename | Latest commit message | Latest commit date |
|---|---|---|
Per mara's guidance on hyperhive#3901 (target ~15% comment density overall, less where obvious, more where not; prefer docs for abstract/general topics; don't restate facts in multiple places; don't document history). tabs.js: removed 4 pure "X now lives in Y" / "moved to Z" historical asides (the underlying facts are already documented in docs/web-ui/dashboard.md, not lost by removing the floating in-code aside) and merged one comment block that had drifted into restating the same fact twice (one ticker feeding two live displays, documented as if it were two separate tickers). swarm.js: cut a comment narrating the removal history of two features that no longer exist in the code (a per-agent queued-badge and a client-side jobq tally), keeping only the design constraint still in force (why the jobq-derived state here is deliberately narrow); cut a comment documenting a removed CSS class's history down to a statement of the current class's purpose; cut a comment restating the jobq-rollup rendering rationale already stated once, above, down to a one-line pointer; trimmed a "legacy flat layout is bit-identical" history clause down to what the depth-0 case actually renders. |
||
| .. | ||
| packages | ||
| .gitignore | ||
| npm-deps-hash | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
hyperhive frontend
npm workspaces project for the hyperhive browser-facing assets:
packages/shared/— shared modules used by both surfaces (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).
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; the
build derivation is wired up in nix/modules/frontend.nix. Per-agent
additions are layered on top of the default agent dist via the
hyperhive.frontend.extraFiles option in agent.nix.
Why npm + esbuild
- Hermetic: dependencies vendored via the checked-in lockfile;
buildNpmPackagein nix uses it as the source-of-truth so the output is reproducible without network access at build time. - esbuild: vanilla-JS bundler, no framework runtime overhead.
Each workspace's
build.mjsis ~30 lines. - Single-PR migration: see issue #273 for the design proposal and the four-commit shape (npm scaffold → nix derivations → container plumbing → Rust cutover).