Commit graph

10 commits

Author SHA1 Message Date
iris
3b4900690d readme: add canonical clone URL (closes #2)
mara on #2: the canonical upstream now lives at
`forge.darkest.space/hyperhive/website.git`. Added a `git clone`
line to the Build section so the README walks a fresh contributor
from clone → build with no detour through the issue tracker to
find the URL.
2026-05-27 20:12:04 +02:00
iris
817a38ec59 readme: AI-generation disclosure banner (vibec0re style)
mara on PR #1: \"add AI generated note to README (in vibec0re
style)\".

Block-glyph banner in the same `░▒▓█▓▒░` rendering as the
dashboard chrome + agent terminals (\`hyperhive/branding/...\`
fingerprint), plus a short prose disclosure noting that copy /
theme / layout / flake here are AI-authored by an agent in the
swarm itself, reviewed by the operator before merge. Hex motif
art stays attributed upstream (hand-drawn).

Visual rhyme is intentional — the website's identity is the
swarm rendering its own door, and the disclosure should read in
that voice instead of legalese.
2026-05-27 13:26:46 +02:00
iris
2d41bdbd16 readme: drop issue tracker + provenance refs
mara on PR #1: "remove issue link from readme, that does not
matter once project is up".

Dropped:

- The `Tracks [hyperhive#502](...)` line at the top — the
  project is the project, the tracking issue's relevance
  expires once it's live.
- The `## Repo provenance` section at the bottom — entirely
  workaround context (iris/website → hyperhive/website org
  transfer) that becomes stale as soon as the move happens.
  Cleaner to delete than to keep a paragraph that ages out
  of accuracy in a few hours.
2026-05-27 13:25:21 +02:00
iris
9cb4e0f26b readme: forge.darkest.space for the #502 issue link too
argus 🟡 follow-up — the README still pointed at
`localhost:3000` for the issue cross-reference. Same fix as the
templates: use the future-canonical `forge.darkest.space` URL so
nothing changes when the mirror goes live.
2026-05-27 13:02:34 +02:00
iris
5a12d1b2ec flake: drop flake-utils, match hyperhive's hand-rolled forAllSystems
mara on PR #1: \"never use flake utils - look at hyperhive flake\".

Rewrote the flake to mirror hyperhive's pattern:

- Single `nixpkgs` input (no `flake-utils`, no `treefmt-nix`,
  no `naersk` — none apply to a static-site dist).
- Hand-rolled `forAllSystems` over `[aarch64-linux, x86_64-linux]`
  via `lib.genAttrs`. Same shape as `hyperhive/hyperhive`'s flake
  so contributors see consistent ceremony across both repos.
- `packages.<system>.website` builds the dist; `packages.<system>.default`
  points at it. `devShells.<system>.default` exposes `zola` for the
  `zola serve` dev loop.
- Dropped the `apps.default` shortcut — `zola serve` is more usefully
  spelled `nix develop -c zola serve` since dev needs the whole shell
  anyway.

Also dropped the auto-generated flake.lock that the old
flake-utils tree had written; nix will regenerate it on first
`nix build` against the new inputs.
2026-05-27 12:57:56 +02:00
iris
ec64da8620 config: point forge_url at forge.darkest.space/hyperhive/hyperhive
mara on PR #1: "you can hard code upstream repo URL with
forge.darkest.space - that does not exist _yet_, but will have
hyperhive/hyperhive at some point". Hardcoding the future URL
now means no template / config churn when the mirror goes live —
only DNS + web wiring on the operator's side.
2026-05-27 12:57:05 +02:00
iris
b82a2ca1b3 config: hoist forge URL out of templates + add nginx deploy snippet
Addresses two review notes on PR #1:

**argus 🔴**: hardcoded `http://localhost:3000/hyperhive/hyperhive`
is meaningless to a public visitor at hyperhive.darkest.space.
Moved to `[extra] forge_url` in config.toml so it's swappable
without touching templates. Both consumer sites now reference
`{{ config.extra.forge_url }}`:

- `templates/base.html` — footer "code on the forge" link
- `templates/index.html` — hero CTA button

Default value points at the operator's current public mirror
(`git.berlin.ccc.de/vinzenz/hyperhive`); update when a canonical
hyperhive/hyperhive mirror lands.

**mara**: README now has a Deploy section with a minimal nginx
virtual-server example for serving the dist at
hyperhive.darkest.space, plus a one-liner NixOS module variant
for operators using the nginx module. Both stay self-contained
(no TLS termination boilerplate, no rewrites, no proxy_pass).
2026-05-27 12:56:34 +02:00
iris
3b4668aea8 dedupe: single canonical hyperhive.svg for favicon + og + hero
mara nit on #1: the three SVGs in static/ were identical copies
(md5 1108d7bd79ca…). Dropped favicon.svg + hex-mark.svg; kept
hyperhive.svg as the single source. Both consumers now point at
it: `<link rel="icon">` and the hero's `load_data(path="static/
hyperhive.svg", format="plain")`.

Also fixed: the original `load_data(path="hex-mark.svg")` would
have failed at build time anyway — Zola's `load_data` resolves
from project root, so files in `static/` need the full prefix
+ `format="plain"` to come back as raw markup. Build was never
validated locally (remote-builder unreachable from agent), so the
typo would have surfaced on the operator's first `nix build`.
Caught it during the dedupe pass.

If a future visual divergence is wanted (simpler favicon,
titled og:image), can split back into named copies then.
2026-05-27 12:55:04 +02:00
iris
d3a55c5631 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
iris
b1dd949291 Initial commit 2026-05-27 01:59:43 +02:00