at trunk
1 folder
8 files
Build AT Mot: bilingual, database-free daily word game on atproto
AT Mot is a static client-side word game native to the AT Protocol. There is
no application database and no bespoke backend: player data lives in each
player's PDS, and the leaderboard is read from the public Constellation
backlink index.
What's included:
- Lexicons under bzh.herve.atmot.* (result, stats, defs) following the Lexicon
Style Guide, with a format linter and an idempotent publish script.
- Deterministic UTC daily word engine for EN + FR, with self-curated word lists
from public-domain/MIT sources (ENABLE, an-array-of-french-words, hermitdave
frequency) — French sourced independently of wordle-fr. Frozen epoch
2026-06-23, frozen puzzleTarget format via a single shared helper.
- Browser OAuth (atcute), write-once result records + a mutable self stats /
declaration record, all written client-side to the player's PDS.
- "Share to atproto": app.bsky.feed.post with a standard emoji grid and the
puzzle permalink as a real link facet + embed (so Constellation can discover
it). Leaderboard + per-puzzle pages aggregate Constellation backlinks in the
browser with caching and graceful degradation; live likes/reposts/replies.
- Clean minimal-nerdy UI: own brand board palette (teal/amber/slate, not
Wordle's), SkyPress fonts (Overused Grotesk + IBM Plex Mono), prefers-color-
scheme dark mode, a11y (per-tile aria, non-hue cues), mobile-first.
- Cloudflare Pages target (SPA fallback, hosted client-metadata.json).
- Dual MIT/Apache-2.0, README/NOTICE/DECISIONS, 41 passing tests, 0 audit
vulnerabilities.
Build AT Mot: bilingual, database-free daily word game on atproto
AT Mot is a static client-side word game native to the AT Protocol. There is
no application database and no bespoke backend: player data lives in each
player's PDS, and the leaderboard is read from the public Constellation
backlink index.
What's included:
- Lexicons under bzh.herve.atmot.* (result, stats, defs) following the Lexicon
Style Guide, with a format linter and an idempotent publish script.
- Deterministic UTC daily word engine for EN + FR, with self-curated word lists
from public-domain/MIT sources (ENABLE, an-array-of-french-words, hermitdave
frequency) — French sourced independently of wordle-fr. Frozen epoch
2026-06-23, frozen puzzleTarget format via a single shared helper.
- Browser OAuth (atcute), write-once result records + a mutable self stats /
declaration record, all written client-side to the player's PDS.
- "Share to atproto": app.bsky.feed.post with a standard emoji grid and the
puzzle permalink as a real link facet + embed (so Constellation can discover
it). Leaderboard + per-puzzle pages aggregate Constellation backlinks in the
browser with caching and graceful degradation; live likes/reposts/replies.
- Clean minimal-nerdy UI: own brand board palette (teal/amber/slate, not
Wordle's), SkyPress fonts (Overused Grotesk + IBM Plex Mono), prefers-color-
scheme dark mode, a11y (per-tile aria, non-hue cues), mobile-first.
- Cloudflare Pages target (SPA fallback, hosted client-metadata.json).
- Dual MIT/Apache-2.0, README/NOTICE/DECISIONS, 41 passing tests, 0 audit
vulnerabilities.