Playful venue instructions shown in the Oche dashboard. 501 Entertainment runs competitive-socialising games (darts first) - operators and players should never wonder “what are we playing?”.
All copy lives in one file:
apps/web/src/content/game-guides.ts
| Export | Purpose |
|---|---|
GameId |
'501' | 'around-the-clock' | 'cricket' | 'killer' | 'general' |
GAME_GUIDES |
Full guide per mode (objective, steps, scoring hint, venue tip) |
GAME_OPTIONS |
Labels for create-session picker |
resolveGameId(title) |
Infer mode from session title keywords |
getGameGuideForTitle(title) |
Guide for a session row |
| Screen | Component | Notes |
|---|---|---|
| Live overview | GameGuideCard |
Open by default while session is active |
| Session detail | GameGuideCard |
Collapsed by default |
| New session | GameGuideCard + game picker |
Preview updates when mode changes |
- Add or update an entry in
GAME_GUIDES(playful but accurate - venue staff may read this aloud). - If new mode: extend
GameIdand add toGAME_OPTIONS. - Update
resolveGameId()if titles use new keywords (or document explicit picker-only mode). - Update seed session titles in
packages/db/src/seed.tsif demo data should showcase the mode. - Run
npm run check.
- Clear rules first, personality second (one wry line per guide is enough).
- Always include “On this board” - ties rules to Oche +/− scoring.
- Avoid jargon without a one-line explanation.
Agents must follow .cursor/rules/32-game-guides.mdc when touching game copy or session create flow.