A pass-the-poem party game for friends in the same room. Play at App—no install or account required.
Each player writes one line per round, seeing only the line before theirs.
Nine rounds follow 1, 2, 3, 4, 5, 4, 3, 2, 1 words. Then everyone reads the
complete poems aloud. Saving stays private; publishing a link is explicit and
reversible.
node scripts/local/cli.mjs devOpen http://127.0.0.1:3333 in separate browser profiles for distinct players.
The real Next.js/Convex stack needs Node and local Docker, not cloud credentials
or a host dotenv file. Ctrl-C stops the owned stack and preserves its data.
See local development for prerequisites, QA and reset.
With the Node runtime required by package.json, its exact pnpm pin, the Rust
toolchain in rust-toolchain.toml and both frozen lockfiles installed, run this
in a clean candidate checkout on Mirrodin:
pnpm check --mode fast
pnpm check --mode fullOmitting --mode runs full verification. Fast mode runs source quality and unit
checks; full adds formatting, coverage, Cloudflare backend tests, a Worker build,
route/image checks, the existing rendered guest lifecycle, party recovery and
native telemetry fault/recovery in workerd with a fresh SQLite Durable Object.
Full mode needs the lockfile's Playwright Chromium
(pnpm exec playwright install chromium), its system libraries and ffmpeg.
The caller owns compute isolation; fleet runs stay inside gha-runners.slice.
No production credential or dotenv file is needed. The check refuses live
credentials and uses a loopback-only backend and generated local identities.
Retain the command's source-bound output on the native executor. Browser
evidence is in .qa/worker/qa/evidence; Rust entry screenshots are alongside it
in .qa/worker/qa/entry-ui. Private raw logs stay on that executor.
A local pass is not a deployment, hosted Clerk verification or a PostHog usage result.
This command prepares the native release path; it does not yet replace the
existing deployer or authorize a second promotion path.
The candidate native train composes that same command with a secret-free production build and proof of the actual deploy input:
pnpm release:check --mode fast --public-config /path/to/production-public.jsonThe JSON contains only NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY,
NEXT_PUBLIC_POSTHOG_KEY and NEXT_PUBLIC_SENTRY_DSN, as already published to
browsers. No runtime or provider credential belongs in it. The command produces
.release/ and .qa/release/ (production-configured phone screenshots and its
receipt). ADR 0013 describes the
native controller, trust boundary and activation work still required.
- Product brief and current direction
- Identity and interactions
- Reference specification and user stories and feature map
- Architecture and Parlor membership boundary
- Contributing and testing
- CLI/MCP and browser acceptance
- Production deployment and CI/operations authority
- Sharing privacy, retention, schema migrations, and security
Commands and dependency versions live in package.json. Parlor is the vendored
room-membership integration pinned in
vendor/parlor/UPSTREAM.json; see
docs/ARCHITECTURE.md for membership detail.