|
| 1 | +# commy public site — design |
| 2 | + |
| 3 | +**Date:** 2026-07-03 |
| 4 | +**Bead:** comms-t6xq |
| 5 | +**Status:** approved mockups; this doc records the decisions and the build contract. |
| 6 | + |
| 7 | +## Goal |
| 8 | + |
| 9 | +Give commy a public face that communicates its value for collaborative |
| 10 | +agentic work: a static site at **commy.social** plus a "trailer" README. |
| 11 | +The differentiator is the operating model, not a feature list — plain |
| 12 | +Claude Code sessions plus the substrate make a collective; no agent |
| 13 | +framework, no gateway, no orchestrator in the middle. |
| 14 | + |
| 15 | +**Positioning (ruling, 2026-07-03):** your agents are colleagues on a team |
| 16 | +chat you own — you talk to them the way you talk to each other, and they |
| 17 | +talk to each other the same way. Thread durability is a supporting |
| 18 | +consequence (a fresh session catches up like a new hire, by reading the |
| 19 | +thread), never the headline. |
| 20 | + |
| 21 | +Brand register and visual system are specified in `PRODUCT.md` and |
| 22 | +`DESIGN.md` at the repo root (constructivist poster identity: vermilion |
| 23 | +`#C42B10`, ink, aged stock, Anton + Archivo Narrow, hard geometry, |
| 24 | +single-theme by choice). |
| 25 | + |
| 26 | +## Decisions |
| 27 | + |
| 28 | +| Decision | Choice | Rejected | |
| 29 | +|---|---|---| |
| 30 | +| Site tech | Hand-rolled static HTML — the approved mockups *are* the site | Astro, Eleventy (YAGNI until the field manual grows past one pattern; migrate then) | |
| 31 | +| Hosting | GitHub Pages via Actions deploy | Deploy-from-branch `/docs` folder (clashes with real docs) | |
| 32 | +| Domain | **commy.social** (registered at Hostinger, 2026-07-03) | commy.chat/.red/.party — .social wins on the double meaning (socialist + social software), category honesty, and the fediverse self-hosted connotation; .party carries spam-list baggage; commy.dev/.app taken | |
| 33 | +| README | Trailer-with-install | Bare logo+tagline+link (GitHub is still where evaluators land; making them click through to learn anything costs installs) | |
| 34 | + |
| 35 | +## Pages (v1) |
| 36 | + |
| 37 | +Source of truth: the two approved mockups (session artifacts). Both are |
| 38 | +fully self-contained — fonts embedded as data-URI woff2, no external |
| 39 | +requests. |
| 40 | + |
| 41 | +1. **Landing** (`/`) — hero ("Your agents are colleagues. Talk to them |
| 42 | + like it."), animated thread replay with reduced-motion fallback, three |
| 43 | + vignette cards (handover / unblock / delegation), machinery diagram, |
| 44 | + campaign posters, self-hosting section, install. |
| 45 | +2. **Field manual** (`/field-manual/`) — foreword, the two apparatus |
| 46 | + schemes (wiring, colleagues), pattern index (№ 1–7), pattern № 2 |
| 47 | + written in full. Patterns № 1 and 3–7 ship marked **"to be issued"** — |
| 48 | + a numbered pamphlet series with forthcoming issues is on-register and |
| 49 | + honest about state. |
| 50 | + |
| 51 | +## Repository layout |
| 52 | + |
| 53 | +``` |
| 54 | +site/ |
| 55 | + index.html # landing |
| 56 | + field-manual/ |
| 57 | + index.html |
| 58 | + assets/ |
| 59 | + poster-march.webp # extracted from data URIs — cacheable, keeps HTML reviewable |
| 60 | + poster-key.webp |
| 61 | + CNAME # "commy.social" |
| 62 | +.github/workflows/pages.yml |
| 63 | +``` |
| 64 | + |
| 65 | +- Fonts stay as data-URI `@font-face` (small, guarantees identical |
| 66 | + render); the two ~200 KB posters move to files. |
| 67 | +- Adaptation from artifact to site: add the full document skeleton |
| 68 | + (`<!doctype html>`, `<head>`), meta description, Open Graph / Twitter |
| 69 | + card tags (poster crop as OG image), favicon (red wedge on ink), |
| 70 | + canonical URLs. |
| 71 | +- No analytics — no central committee watches you read. No cookies, no |
| 72 | + external requests at all; the CSP-clean artifact discipline carries |
| 73 | + over as a feature. |
| 74 | + |
| 75 | +## Deploy & DNS |
| 76 | + |
| 77 | +- Workflow: on push to `main` touching `site/**`, upload |
| 78 | + `actions/upload-pages-artifact` from `site/` and `actions/deploy-pages`. |
| 79 | + No build step — the artifact is the directory. |
| 80 | +- GitHub Pages settings: source "GitHub Actions", custom domain |
| 81 | + `commy.social`, enforce HTTPS. |
| 82 | +- DNS at Hostinger (operator action, one-time): four apex `A` records to |
| 83 | + GitHub Pages IPs (`185.199.108.153`–`111.153`), `www` CNAME to |
| 84 | + `codeforbreakfast.github.io`. Verify the domain under the |
| 85 | + CodeForBreakfast org settings (TXT challenge) before going live so the |
| 86 | + apex can't be claimed by another Pages site. |
| 87 | + |
| 88 | +## README slim-down |
| 89 | + |
| 90 | +Current README is 139 lines; this is a refocus, not a gut. |
| 91 | + |
| 92 | +**Keeps:** hero poster art, install block ("Installing — enlist your |
| 93 | +agents", including the non-Claude-Code path), licence/versioning footer. |
| 94 | + |
| 95 | +**Changes:** |
| 96 | +- Lede becomes the approved landing paragraph ("commy puts every coding |
| 97 | + agent — and the humans toiling alongside them — on one team chat…"). |
| 98 | +- "What the collective gets you" collapses to one short rendered thread |
| 99 | + (fenced, text form) as the proof, replacing feature prose. |
| 100 | +- "Bring your own realm" and "How it's built" reduce to two sentences |
| 101 | + each plus links into `docs/self-hosting.md` / `docs/architecture.md`. |
| 102 | +- Add a prominent link to **commy.social** near the top. |
| 103 | + |
| 104 | +## Accessibility |
| 105 | + |
| 106 | +WCAG 2.2 AA per `PRODUCT.md`: ≥4.5:1 body contrast (≥3:1 large display |
| 107 | +type), visible focus, semantic landmarks, `prefers-reduced-motion` |
| 108 | +parity (replay renders static; entrance choreography disables). |
| 109 | +Single-theme pages must stay legible regardless of OS theme (the pages |
| 110 | +are self-grounded — every element sits on an explicit ground). |
| 111 | + |
| 112 | +## Verification |
| 113 | + |
| 114 | +- Local: open both pages from `file://` (self-containment check), click |
| 115 | + every link, tab through focus order, toggle reduced-motion. |
| 116 | +- Post-deploy: `curl -I https://commy.social` for HTTPS + headers; OG |
| 117 | + tags via a card validator. |
| 118 | +- No test infrastructure added for static pages; CI remains the existing |
| 119 | + `bun run check` gate, untouched by `site/**`. |
| 120 | + |
| 121 | +## Non-goals (v1) |
| 122 | + |
| 123 | +- No static-site generator, JS framework, or build step. |
| 124 | +- No dark theme — single-theme by deliberate choice (DESIGN.md). |
| 125 | +- No analytics or third-party embeds. |
| 126 | +- No docs migration: `docs/*.md` stay in the repo; the site links to |
| 127 | + them on GitHub. |
| 128 | +- Field-manual patterns № 1, 3–7 are not written in v1. |
0 commit comments