initial landing scaffold (hyperhive/website MVP)
Tracks hyperhive#502 — landing-only first cut. Static site
generator: Zola (Rust, fits the swarm's stack and the operator's
"sounds exciting" go-ahead on the issue thread).
## Structure
- `flake.nix` — `nix build .#website` produces the dist; `nix
develop` drops into a shell with zola for `zola serve` live
reload. No CI runner; the flake is the validation contract.
- `config.toml` — Zola config; base URL `hyperhive.darkest.space`
per #502. Single-page landing — feeds / search index off.
- `content/_index.md` — landing copy. Editable without touching
templates so non-engineers can refresh prose.
- `templates/base.html` + `templates/index.html` — base layout +
landing-specific extension. og:tags + favicon wired through.
- `sass/main.scss` — theme. Catppuccin Mocha palette + the amber
accent from the swarm's identity hex mark. Self-contained
(no @import) so the file is reviewable in one place.
- `static/{favicon,hex-mark,hyperhive}.svg` — copies of the
dashboard's `branding/hyperhive.svg` (hex motif). Used as
favicon, hero inline, and og:image respectively.
## Theme
Monospace identity throughout — matches dashboard / agent
terminals so the website reads as part of the same family
rather than a separate marketing artifact. Banner glyphs
(`░▒▓█▓▒░`) on the title, dashed dividers, cyan/mauve/amber
accents, glow text-shadow on the hero. Subtle CSS-only pulse
on the hex motif (slow `rotate` on the SVG; speeds up on hover
for a small "noticed" cue).
## Three-column "what's inside"
`the swarm` / `the dashboard` / `the boundary` — quick
orientation for visitors who clicked through from a link
without context. Copy intentionally short; deep dives belong
in /docs (future, not in this MVP).
## Scope drop
Per mara on #502:
- no nav / blog / docs yet — landing only
- no screenshots in MVP, follow via issues in this repo
- public visibility
## Provenance
Scaffolded under `iris/website` because my agent forge token
doesn't carry org-admin to create repos under `hyperhive/`.
Manager confirmed their token doesn't either; mara will do the
org transfer once she gets to it. README documents this.
2026-05-27 10:08:56 +02:00
|
|
|
{% extends "base.html" %}
|
|
|
|
|
|
|
|
|
|
{% block content %}
|
|
|
|
|
{# Hero — hex motif left, headline + tagline + CTA right. Stacks
|
|
|
|
|
vertically on narrow viewports via the .hero CSS grid. #}
|
|
|
|
|
<section class="hero">
|
|
|
|
|
<div class="hero-art" aria-hidden="true">
|
|
|
|
|
{# Inline so the SVG inherits the page's font + can be styled
|
|
|
|
|
(hover pulse animation on the rings). Same source as the
|
2026-05-27 12:55:04 +02:00
|
|
|
dashboard branding/hyperhive.svg — single canonical copy at
|
|
|
|
|
static/hyperhive.svg drives favicon + og:image + hero inline.
|
|
|
|
|
If a future visual divergence is wanted (smaller favicon,
|
|
|
|
|
titled og:image), split into named copies then.
|
|
|
|
|
`format="plain"` returns the raw markup string instead of
|
|
|
|
|
parsing the SVG as XML. #}
|
|
|
|
|
{% set hex_svg = load_data(path="static/hyperhive.svg", format="plain") %}
|
initial landing scaffold (hyperhive/website MVP)
Tracks hyperhive#502 — landing-only first cut. Static site
generator: Zola (Rust, fits the swarm's stack and the operator's
"sounds exciting" go-ahead on the issue thread).
## Structure
- `flake.nix` — `nix build .#website` produces the dist; `nix
develop` drops into a shell with zola for `zola serve` live
reload. No CI runner; the flake is the validation contract.
- `config.toml` — Zola config; base URL `hyperhive.darkest.space`
per #502. Single-page landing — feeds / search index off.
- `content/_index.md` — landing copy. Editable without touching
templates so non-engineers can refresh prose.
- `templates/base.html` + `templates/index.html` — base layout +
landing-specific extension. og:tags + favicon wired through.
- `sass/main.scss` — theme. Catppuccin Mocha palette + the amber
accent from the swarm's identity hex mark. Self-contained
(no @import) so the file is reviewable in one place.
- `static/{favicon,hex-mark,hyperhive}.svg` — copies of the
dashboard's `branding/hyperhive.svg` (hex motif). Used as
favicon, hero inline, and og:image respectively.
## Theme
Monospace identity throughout — matches dashboard / agent
terminals so the website reads as part of the same family
rather than a separate marketing artifact. Banner glyphs
(`░▒▓█▓▒░`) on the title, dashed dividers, cyan/mauve/amber
accents, glow text-shadow on the hero. Subtle CSS-only pulse
on the hex motif (slow `rotate` on the SVG; speeds up on hover
for a small "noticed" cue).
## Three-column "what's inside"
`the swarm` / `the dashboard` / `the boundary` — quick
orientation for visitors who clicked through from a link
without context. Copy intentionally short; deep dives belong
in /docs (future, not in this MVP).
## Scope drop
Per mara on #502:
- no nav / blog / docs yet — landing only
- no screenshots in MVP, follow via issues in this repo
- public visibility
## Provenance
Scaffolded under `iris/website` because my agent forge token
doesn't carry org-admin to create repos under `hyperhive/`.
Manager confirmed their token doesn't either; mara will do the
org transfer once she gets to it. README documents this.
2026-05-27 10:08:56 +02:00
|
|
|
{{ hex_svg | safe }}
|
|
|
|
|
</div>
|
|
|
|
|
<div class="hero-text">
|
|
|
|
|
<h1>
|
|
|
|
|
<span class="banner-glyph">░▒▓</span>
|
|
|
|
|
hyperhive
|
|
|
|
|
<span class="banner-glyph">▓▒░</span>
|
|
|
|
|
</h1>
|
|
|
|
|
<p class="hero-tagline">{{ config.description }}</p>
|
|
|
|
|
<p class="hero-cta">
|
2026-05-27 12:56:34 +02:00
|
|
|
<a class="cta-primary" href="{{ config.extra.forge_url }}">
|
initial landing scaffold (hyperhive/website MVP)
Tracks hyperhive#502 — landing-only first cut. Static site
generator: Zola (Rust, fits the swarm's stack and the operator's
"sounds exciting" go-ahead on the issue thread).
## Structure
- `flake.nix` — `nix build .#website` produces the dist; `nix
develop` drops into a shell with zola for `zola serve` live
reload. No CI runner; the flake is the validation contract.
- `config.toml` — Zola config; base URL `hyperhive.darkest.space`
per #502. Single-page landing — feeds / search index off.
- `content/_index.md` — landing copy. Editable without touching
templates so non-engineers can refresh prose.
- `templates/base.html` + `templates/index.html` — base layout +
landing-specific extension. og:tags + favicon wired through.
- `sass/main.scss` — theme. Catppuccin Mocha palette + the amber
accent from the swarm's identity hex mark. Self-contained
(no @import) so the file is reviewable in one place.
- `static/{favicon,hex-mark,hyperhive}.svg` — copies of the
dashboard's `branding/hyperhive.svg` (hex motif). Used as
favicon, hero inline, and og:image respectively.
## Theme
Monospace identity throughout — matches dashboard / agent
terminals so the website reads as part of the same family
rather than a separate marketing artifact. Banner glyphs
(`░▒▓█▓▒░`) on the title, dashed dividers, cyan/mauve/amber
accents, glow text-shadow on the hero. Subtle CSS-only pulse
on the hex motif (slow `rotate` on the SVG; speeds up on hover
for a small "noticed" cue).
## Three-column "what's inside"
`the swarm` / `the dashboard` / `the boundary` — quick
orientation for visitors who clicked through from a link
without context. Copy intentionally short; deep dives belong
in /docs (future, not in this MVP).
## Scope drop
Per mara on #502:
- no nav / blog / docs yet — landing only
- no screenshots in MVP, follow via issues in this repo
- public visibility
## Provenance
Scaffolded under `iris/website` because my agent forge token
doesn't carry org-admin to create repos under `hyperhive/`.
Manager confirmed their token doesn't either; mara will do the
org transfer once she gets to it. README documents this.
2026-05-27 10:08:56 +02:00
|
|
|
◆ explore the code →
|
|
|
|
|
</a>
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
{# Landing prose — pulled from _index.md so non-engineers can edit
|
|
|
|
|
copy without touching templates. #}
|
|
|
|
|
<section class="prose">
|
|
|
|
|
{{ section.content | safe }}
|
|
|
|
|
</section>
|
|
|
|
|
|
|
|
|
|
{# Three-column "what's inside" — quick orientation for visitors
|
|
|
|
|
who clicked through from a link without context. Copy here is
|
|
|
|
|
intentionally short; deep dives belong in /docs (future). #}
|
|
|
|
|
<section class="grid-3">
|
|
|
|
|
<article class="card">
|
|
|
|
|
<h2><span class="card-glyph">▣</span> the swarm</h2>
|
|
|
|
|
<p>
|
|
|
|
|
Each agent is a NixOS container with its own claude session,
|
|
|
|
|
a logical name, and a parent in the topology tree. Containers
|
|
|
|
|
come and go; the topology is the operator's facts file.
|
|
|
|
|
</p>
|
|
|
|
|
</article>
|
|
|
|
|
<article class="card">
|
|
|
|
|
<h2><span class="card-glyph">⟁</span> the dashboard</h2>
|
|
|
|
|
<p>
|
|
|
|
|
One web page shows live agent state, the broker stream, the
|
|
|
|
|
approval queue, scheduled prompts, and the rebuild pipeline.
|
|
|
|
|
Everything that mutates the swarm passes through here.
|
|
|
|
|
</p>
|
|
|
|
|
</article>
|
|
|
|
|
<article class="card">
|
|
|
|
|
<h2><span class="card-glyph">◇</span> the boundary</h2>
|
|
|
|
|
<p>
|
|
|
|
|
Agents can ask, schedule, request approvals, and message peers
|
|
|
|
|
— but never spawn / destroy / mutate config themselves. Those
|
|
|
|
|
actions queue up and wait on the human at the dashboard.
|
|
|
|
|
</p>
|
|
|
|
|
</article>
|
|
|
|
|
</section>
|
|
|
|
|
{% endblock %}
|