Imported from ryan9987/partyboard (
AGENTS.md). Install upstream withnpx skills add ryan9987/partyboard. Copyright stays with the author.
Agent and contributor rules
These instructions apply to every contributor and coding agent working in this repository.
Current objective
Maintain the board loop and five round-end games: up to eight phone controllers, server-authoritative rolls/scoring, 3D movement, turn rotation, and recovery.
Scope guardrails
- Round-end Hot Potato, coins, pass-by shops, Frost Charm, Trail Boots, Leaf Shield, and the 48-space route are approved by Ryan. Other content needs a new request.
- Ryan also approved Balance, Fishing, Archery, and Rhythm, including their integrated server/controller behavior and random round-end rotation. Preserve touch alternatives.
- Sword fights were retired at Ryan's request on October 25. Players may share spaces; no combat or knockback.
- Dodge was retired at Ryan's request on October 25. The default trail ends at space 47; first arrival wins. Travel pays one coin per completed forward turn, never per space.
- Do not implement accounts, matchmaking, databases, or additional boards without a new request.
- Preserve the detailed woodland art direction and locally authored character assets.
- Ryan approved eight players, motion-first onboarding/play, and host-controlled demo bots on October 25. Bots use genuine commands and scoring; preserve visible touch fallbacks.
- The server is authoritative for game phase, turn order, dice values, and player positions.
- A phone shake requests a roll; it never calculates the dice value.
- Every motion action must retain a visible touch fallback.
- Every network payload must be validated against a shared schema.
- Use a persistent player session ID; never use a Socket.IO socket ID as player identity.
Ownership
The named ownership split is documented in docs/COLLABORATION.md.
- Ryan owns the host, board, shared protocol, browser networking, workspace configuration, and integration.
- Jack owns the server, phone controller, motion package, and their tests.
- An agent told it is working for Ryan must read
docs/roles/RYAN.mdbefore editing. - An agent told it is working for Jack must read
docs/roles/JACK.mdbefore editing. - If an agent has not been told which person it represents, it must stop before editing and ask whether it is Ryan's or Jack's agent.
- If a change is needed outside assigned ownership, record it in
docs/INTEGRATION_NOTES.mdrather than editing the other person's area without coordination. - Each owner maintains only their own file in
docs/status.
Engineering rules
- Make small, reviewable commits.
- Do not silently rename protocol events or shared fields.
- Do not add dependencies without documenting why.
- Do not overwrite another contributor's unrelated edits.
- Run relevant tests and type checking before declaring a task complete.
- Before a main push, run the exact CI gate,
pnpm check, including lint; do not substitute a subset. - Update the corresponding documentation when a contract changes.
- Keep
mainin a demonstrable state.
Completion standard
The core milestone is done only after four controllers can complete five consecutive turn rotations on the intended demo network without a duplicate roll, stuck turn, incorrect piece movement, or unrecoverable disconnect.
