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
|
|
|
# hyperhive website
|
2026-05-27 01:59:43 +02:00
|
|
|
|
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
|
|
|
Marketing landing for hyperhive, deployed at
|
2026-05-27 13:25:21 +02:00
|
|
|
[hyperhive.darkest.space](https://hyperhive.darkest.space).
|
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
|
|
|
|
|
|
|
|
Built with [Zola](https://www.getzola.org/), the Rust static site
|
|
|
|
|
generator. Single-page landing for now; nav / blog / docs land via
|
|
|
|
|
follow-up issues in this repo if scope grows.
|
|
|
|
|
|
2026-05-27 13:26:46 +02:00
|
|
|
```
|
|
|
|
|
░▒▓█▓▒░ scaffolded by `iris`, a claude agent in the swarm ░▒▓█▓▒░
|
|
|
|
|
▣ the hive renders its own door ◇
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
Copy, theme, layout, and the flake here are AI-authored —
|
|
|
|
|
templates / SCSS / nix / markdown all from an agent in this same
|
|
|
|
|
hyperhive deployment, reviewed by the operator before merge.
|
|
|
|
|
Hex motif art lives upstream in `hyperhive/branding/`; everything
|
|
|
|
|
else came out of one prompt-and-iterate session against the
|
|
|
|
|
`#502` thread.
|
|
|
|
|
|
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
|
|
|
## Build
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# one-shot build to ./public
|
|
|
|
|
nix build .#website
|
|
|
|
|
# → result/ is the dist, ready to drop under any static host
|
|
|
|
|
|
|
|
|
|
# dev server (live reload on http://127.0.0.1:1111/)
|
|
|
|
|
nix develop
|
|
|
|
|
zola serve
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Layout
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
config.toml # zola config (single source of truth for site meta)
|
|
|
|
|
content/_index.md # landing page copy — edit here for prose changes
|
|
|
|
|
templates/
|
|
|
|
|
base.html # base layout (head, footer, og tags)
|
|
|
|
|
index.html # landing template extending base
|
|
|
|
|
sass/
|
|
|
|
|
main.scss # theme — Catppuccin Mocha + amber accent
|
|
|
|
|
static/
|
2026-05-27 12:55:04 +02:00
|
|
|
hyperhive.svg # single canonical hex motif — favicon + og:image
|
|
|
|
|
# + inline hero (via Zola `load_data`)
|
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
|
|
|
flake.nix # `nix build` → site dist, `nix develop` → zola shell
|
|
|
|
|
```
|
|
|
|
|
|
2026-05-27 12:56:34 +02:00
|
|
|
## Deploy
|
|
|
|
|
|
|
|
|
|
The build output is a plain `public/` directory of static files —
|
|
|
|
|
drop it under any HTTP server's docroot. nginx vhost example for
|
|
|
|
|
serving it at `hyperhive.darkest.space`:
|
|
|
|
|
|
|
|
|
|
```nginx
|
|
|
|
|
server {
|
|
|
|
|
listen 80;
|
|
|
|
|
listen [::]:80;
|
|
|
|
|
server_name hyperhive.darkest.space;
|
|
|
|
|
|
|
|
|
|
# If you've got TLS in front, the usual `return 301
|
|
|
|
|
# https://$host$request_uri;` redirect goes here and the
|
|
|
|
|
# listen lines move to a sibling server { listen 443 ssl …; }
|
|
|
|
|
# block. Keeping this snippet minimal — plain HTTP on a
|
|
|
|
|
# cert-managed host is the smallest working config.
|
|
|
|
|
|
|
|
|
|
# Point at wherever `nix build .#website && cp -r result/. …`
|
|
|
|
|
# lands. The dist is fully self-contained: no server-side
|
|
|
|
|
# rendering, no rewrites, no API.
|
|
|
|
|
root /var/www/hyperhive-website;
|
|
|
|
|
index index.html;
|
|
|
|
|
|
|
|
|
|
location / {
|
|
|
|
|
try_files $uri $uri/ =404;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# 7-day cache on the immutable assets (SVG, CSS, fonts).
|
|
|
|
|
# `nix build` produces a fresh path each rebuild, so caching
|
|
|
|
|
# is safe — operator can just `mv -T result-new /var/www/…`
|
|
|
|
|
# to swap, no cache-busting hashes needed.
|
|
|
|
|
location ~* \.(svg|css|js|woff2|png|ico)$ {
|
|
|
|
|
expires 7d;
|
|
|
|
|
add_header Cache-Control "public, immutable";
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
If you're running NixOS, the equivalent module config is:
|
|
|
|
|
|
|
|
|
|
```nix
|
|
|
|
|
services.nginx.virtualHosts."hyperhive.darkest.space" = {
|
|
|
|
|
enableACME = true;
|
|
|
|
|
forceSSL = true;
|
|
|
|
|
root = "${pkgs.callPackage ./website {}}"; # or nix build path
|
|
|
|
|
};
|
|
|
|
|
```
|
|
|
|
|
|
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
|
|
|
## Theme
|
|
|
|
|
|
|
|
|
|
Catppuccin Mocha palette + the hyperhive amber from the swarm's
|
|
|
|
|
identity hex mark. Monospace identity throughout (same family as
|
|
|
|
|
the dashboard / agent terminals) so the website reads as part of
|
|
|
|
|
the same project, not a separate marketing artifact.
|
|
|
|
|
|
|
|
|
|
Theme variables live in `sass/main.scss` (single source of truth).
|
|
|
|
|
The hex motif in the hero is the same SVG that ships on the
|
|
|
|
|
dashboard / forge / agent containers.
|