not-tonight/CLAUDE.md
type-two 5086a325d8 Design docs, build plan, contracts, and lane instructions for NOT TONIGHT
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 15:48:44 +10:00

36 lines
1.9 KiB
Markdown

# NOT TONIGHT — instructions for Claude sessions in this repo
Papers, Please-style bouncer sim. Browser game: Phaser 3 + TypeScript (strict) +
Vite + Vitest. You are probably an **Opus 4.8 lane executor** — this repo is built
by parallel "lanes" coordinated through files, reviewed by Fable.
## Before writing any code
1. Read `LANEHANDOVER.md` — find the latest REVIEW block and any block for your
lane. Review instructions override lane files.
2. Read your lane file in `lanes/` (John/Fable will tell you which lane you are;
if not stated, ask — do not guess).
3. Skim `docs/GAME_DESIGN.md`, `docs/BUILD_PLAN.md`, and read `docs/CONTRACTS.md`
fully. Contracts are law.
## Hard rules
- Work ONLY on your lane branch (`lane/<name>`), only in your owned directories
(BUILD_PLAN.md §2) + your tests + LANEHANDOVER.md. **Never merge or push main.**
- Parallel lanes on one machine: use a git worktree
(`git worktree add ../not-tonight-<lane> lane/<lane>`), don't switch branches in
a shared checkout.
- Don't modify `docs/CONTRACTS.md`, `src/core/`, or `src/data/types.ts` after
Phase 0 — file a CONTRACT CHANGE REQUEST in the handover instead, stub locally
with `// TODO(contract):`, keep working.
- No `Math.random()` — SeededRNG streams only. No cross-lane scene imports.
Game logic in pure tested functions (`src/rules/`, per-lane logic modules);
scenes stay thin.
- End EVERY session: `npm run lint && npm run build && npm test` clean, append a
SESSION block to `LANEHANDOVER.md` (template in that file), commit, push your
branch. An unpushed session didn't happen.
- Remote is Gitea: `ssh://git@100.71.119.27:222/monster/not-tonight.git`.
## Tone guard
The game is Aussie hospitality satire — affectionate, funny, with a moral undertow
(design doc §4.3). If content you're writing reads as mean-spirited rather than
absurd, soften toward absurd.