Skip to content

Commit 91260da

Browse files
committed
comms-t6xq: design spec for commy.social static site + trailer README
1 parent 61a71e9 commit 91260da

1 file changed

Lines changed: 128 additions & 0 deletions

File tree

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
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

Comments
 (0)