CLAUDE.md: phase moves from "local sandbox" to deployed; adds the operations recipe (tar pipe to /var/www/duplicate-chess on Caddy CT 600). DECISIONS.md: supersedes the "Deployment deferred" entry with the chosen architecture — Caddy handle_path serving the static build under the chess.sethpc.xyz origin, rather than a separate subdomain or a Fastify static mount.
Duplicate Chess
A local, single-operator browser sandbox for duplicate chess — a four-player chess variant invented by Andrew Freiberg. Four players (North, South, East, West) and four boards (NW, NE, SW, SE); each player controls one colour on two boards and must play the identical move on both. A captured piece leaves a frozen "ghost" twin on the player's other board.
This tool puts all four boards on one screen as a rotated "compass", enforces the synchronized-move coupling, renders ghosts, shows the move-legality intersection, and detects the endgame.
Develop
pnpm install
pnpm dev # run the dev server
pnpm build # production build
pnpm test # run the engine test suite (vitest)
pnpm exec svelte-check --tsconfig ./tsconfig.json typechecks the Svelte/TS code.
Design
See docs/superpowers/specs/2026-05-19-duplicate-chess-design.md for the full design,
and docs/superpowers/plans/2026-05-19-duplicate-chess-sandbox.md for the build plan.
This is v1 — a local sandbox. Networked multiplayer, AI opponents, and a free position editor are explicitly out of scope (see the spec, §7).