dreamboard
SKILL.md
Dreamboard
Goal
Create and iterate on a Dreamboard game locally, then sync rules, scaffold, UI, and tests back to the platform.
Why Dreamboard
Dreamboard exists to turn a board-game idea into a playable digital prototype quickly.
- Describe the game instead of hand-building every primitive first.
- Generate rules scaffolding, components, and UI structure faster.
- Playtest with real players without repeated print-and-play friction.
- Iterate live while Dreamboard handles turns, hands, and multiplayer plumbing.
Prereqs
- Dreamboard CLI installed and available as
dreamboardInstall withnpm install -g dreamboard - Authenticated via
dreamboard login
Core Workflow
- Create a game:
dreamboard new <slug> --description "<<short description>>" - Author
rule.mdandmanifest.json - Run
dreamboard updateafter every manifest or rule change - Implement rules in
app/phases/*.tsand UI data inshared/ui-args.ts - Implement UI in
ui/App.tsxandui/components/* - Typecheck from the game root:
bun install && bun run typecheck - Push compiled changes:
dreamboard push - Generate deterministic bases:
dreamboard test generate - Run regression scenarios:
dreamboard test run - Validate the live UI with
dreamboard run --screenshot
Choose The Right Reference
Read only the reference that matches the task:
- Rules and manifest: references/rule-authoring.md, references/manifest-authoring.md
- App logic and engine concepts: references/phase-handlers.md, references/api-reference.md, references/hands-vs-decks.md, references/all-players-tracking.md, references/app-best-practices.md
- UI and UX:
references/ui-best-practices.md,
references/ui-style-guide.md,
genre references under
references/ui-genre-*.md - TypeScript regression harness (
dreamboard test generate/run): references/test-harness.md - JSON runtime scenarios (
dreamboard run --scenario ...): references/scenario-format.md - Rejection and edge-case pressure using JSON runtime scenarios: references/adversarial-testing.md
Rulebook Imports
Rulebook lookups are temporarily unavailable.
Testing Modes
There are two different scenario systems:
dreamboard test generate/dreamboard test runTypeScript scenario files intest/scenarios/*.scenario.tsagainst deterministic generated base snapshots. Use this for regression coverage.dreamboard run --scenario path/to/file.jsonJSON action scripts that drive a live session. Use this for debugging flows, reproductions, and adversarial experiments.
Do not mix the two formats.
UX Bar
UX is part of the implementation, not polish for later.
- Make turn ownership and available actions obvious without reading logs.
- Keep round-resolution and game-over feedback visible long enough for a player to perceive it.
- Use
dreamboard run --screenshotto verify initial state, active player, round resolution, and game-over feedback on realistic viewport sizes.
Guardrails
manifest.jsonandrule.mdare the source of truth for scaffolding.- Run
dreamboard updateafter manifest changes to keep generated files in sync. dreamboard updateis local-first and fails when remote drift is detected.- Use
dreamboard update --pullonly when you explicitly need to reconcile unexpected remote changes into the workspace. dreamboard test generateshould be re-run after base changes, compiled-result changes, or game identity changes.- Add at least one zero-step
initial-statescenario so setup invariants fail before action tests begin. - Keep
scripts/events-extract.mjsas a debugging helper for.dreamboard/run/events.ndjson; assertions belong in test scenarios.
Editable Surface
Edit:
app/phases/*.tsshared/ui-args.tsui/App.tsxui/components/*ui/sdk/components/*
Do not edit framework-owned files such as:
app/index.tsapp/sdk/*app/generated/*ui/index.tsxui/sdk/context/*ui/sdk/hooks/*ui/sdk/types/*
Framework Feedback
Use feedback.md in the game project root to record framework issues, missing features, or workflow friction. Include reproduction steps, expected behavior, and actual behavior when possible.
Weekly Installs
6
Repository
dreamboard-game…oard-cliFirst Seen
3 days ago
Security Audits
Installed on
opencode6
gemini-cli6
antigravity6
github-copilot6
codex6
kimi-cli6