@dreamboard-games/cli 0.1.30-alpha.4 → 0.1.30-alpha.40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/README.md +32 -113
  2. package/dist/agent-verifier/agent-workspace-verifier.mjs +2084 -57
  3. package/dist/agent-verifier/agent-workspace-verifier.mjs.map +1 -1
  4. package/dist/agent-verifier/{chunk-XQXDOBYB.mjs → chunk-4I2WWAPK.mjs} +27 -10
  5. package/dist/agent-verifier/chunk-4I2WWAPK.mjs.map +1 -0
  6. package/dist/agent-verifier/{chunk-C3VW3DTA.mjs → chunk-BWBN2TDJ.mjs} +535 -633
  7. package/dist/agent-verifier/chunk-BWBN2TDJ.mjs.map +1 -0
  8. package/dist/agent-verifier/{chunk-TAEQKBJB.mjs → chunk-GWRZRWCF.mjs} +1 -1
  9. package/dist/agent-verifier/chunk-GWRZRWCF.mjs.map +1 -0
  10. package/dist/agent-verifier/chunk-HUBV22JQ.mjs +89 -0
  11. package/dist/agent-verifier/chunk-HUBV22JQ.mjs.map +1 -0
  12. package/dist/agent-verifier/{chunk-MW2QIWWA.mjs → chunk-KAA3B4DI.mjs} +215 -223
  13. package/dist/agent-verifier/chunk-KAA3B4DI.mjs.map +1 -0
  14. package/dist/agent-verifier/{chunk-27EEIZCI.mjs → chunk-KDAQ4CZY.mjs} +34 -27
  15. package/dist/agent-verifier/chunk-KDAQ4CZY.mjs.map +1 -0
  16. package/dist/agent-verifier/{chunk-IAYRNVUC.mjs → chunk-LMW66VBH.mjs} +2 -13
  17. package/dist/agent-verifier/{chunk-IAYRNVUC.mjs.map → chunk-LMW66VBH.mjs.map} +1 -1
  18. package/dist/agent-verifier/{chunk-776W3UGV.mjs → chunk-LROY5SN2.mjs} +7 -45
  19. package/dist/agent-verifier/chunk-LROY5SN2.mjs.map +1 -0
  20. package/dist/agent-verifier/{chunk-H76MT5UR.mjs → chunk-M7UVBANQ.mjs} +2 -1
  21. package/dist/agent-verifier/chunk-M7UVBANQ.mjs.map +1 -0
  22. package/dist/agent-verifier/{chunk-5NYBTZB4.mjs → chunk-MIRGCMUC.mjs} +112 -26
  23. package/dist/agent-verifier/chunk-MIRGCMUC.mjs.map +1 -0
  24. package/dist/agent-verifier/{chunk-NAK77WXW.mjs → chunk-MYMVXTZT.mjs} +4 -5
  25. package/dist/agent-verifier/chunk-MYMVXTZT.mjs.map +1 -0
  26. package/dist/agent-verifier/chunk-OJFZVGEL.mjs +492 -0
  27. package/dist/agent-verifier/chunk-OJFZVGEL.mjs.map +1 -0
  28. package/dist/agent-verifier/{chunk-XKCJBIRY.mjs → chunk-QD4SQNUP.mjs} +2 -2
  29. package/dist/agent-verifier/{chunk-QBAF7EYR.mjs → chunk-TTB7AIHZ.mjs} +4 -4
  30. package/dist/agent-verifier/{chunk-QBAF7EYR.mjs.map → chunk-TTB7AIHZ.mjs.map} +1 -1
  31. package/dist/agent-verifier/{chunk-F2DIOJJZ.mjs → chunk-XCQQIPCO.mjs} +5 -46
  32. package/dist/agent-verifier/chunk-XCQQIPCO.mjs.map +1 -0
  33. package/dist/agent-verifier/{global-config-NYCSCAUI.mjs → global-config-2NUESNEQ.mjs} +5 -5
  34. package/dist/agent-verifier/{keychain-backend-A3MRWLPF.mjs → keychain-backend-FF4I6ODB.mjs} +11 -6
  35. package/dist/agent-verifier/keychain-backend-FF4I6ODB.mjs.map +1 -0
  36. package/dist/agent-verifier/{local-files-QVJ2H3MH.mjs → local-files-OF4QFISU.mjs} +8 -8
  37. package/dist/agent-verifier/{chunk-UIOLGH4A.mjs → local-typecheck-DHVLM37Z.mjs} +4 -4
  38. package/dist/agent-verifier/local-typecheck-DHVLM37Z.mjs.map +1 -0
  39. package/dist/agent-verifier/{materialize-workspace-OZKOQCSQ.mjs → materialize-workspace-JBDL6LF4.mjs} +22 -22
  40. package/dist/agent-verifier/materialize-workspace-JBDL6LF4.mjs.map +1 -0
  41. package/dist/agent-verifier/{chunk-Z6OZWUIZ.mjs → reducer-bundle-preflight-GLUJKTWU.mjs} +75 -24
  42. package/dist/agent-verifier/reducer-bundle-preflight-GLUJKTWU.mjs.map +1 -0
  43. package/dist/agent-verifier/{chunk-YDIOW2BO.mjs → reducer-contract-preflight-WVQQPW5F.mjs} +7 -6
  44. package/dist/agent-verifier/reducer-contract-preflight-WVQQPW5F.mjs.map +1 -0
  45. package/dist/agent-verifier/{chunk-ON62IGWK.mjs → reducer-native-test-harness-XQUPIT5D.mjs} +480 -703
  46. package/dist/agent-verifier/reducer-native-test-harness-XQUPIT5D.mjs.map +1 -0
  47. package/dist/agent-verifier/static-scaffold-U5DXE23S.mjs +24 -0
  48. package/dist/agent-verifier/{workspace-codegen-WPZHMATU.mjs → workspace-codegen-SPPVHURX.mjs} +3 -3
  49. package/dist/agent-verifier/{workspace-dependencies-B6A2ZX55.mjs → workspace-dependencies-5HEEKZFP.mjs} +5 -3
  50. package/dist/authoring-compatibility-internal.js +12 -0
  51. package/dist/chunk-5IYJOVUA.js +3902 -0
  52. package/dist/chunk-5IYJOVUA.js.map +1 -0
  53. package/dist/chunk-6NYVJYN4.js +313 -0
  54. package/dist/chunk-6NYVJYN4.js.map +1 -0
  55. package/dist/chunk-EQNBQVIW.js +204 -0
  56. package/dist/chunk-EQNBQVIW.js.map +1 -0
  57. package/dist/{chunk-M4SCKH5M.js → chunk-USZAPMQ4.js} +2488 -4993
  58. package/dist/chunk-USZAPMQ4.js.map +1 -0
  59. package/dist/{global-config-YBFEGJQG.js → global-config-RBMW7IVA.js} +3 -2
  60. package/dist/index.js +3099 -6188
  61. package/dist/index.js.map +1 -1
  62. package/dist/internal.js +35 -9
  63. package/dist/internal.js.map +1 -1
  64. package/dist/{keychain-backend-JHTXAKWC.js → keychain-backend-FSNTNTZE.js} +11 -6
  65. package/dist/keychain-backend-FSNTNTZE.js.map +1 -0
  66. package/package.json +9 -19
  67. package/release/authoring-release-set.json +38 -0
  68. package/skills/dreamboard/SKILL.md +32 -30
  69. package/skills/dreamboard/references/building-your-first-game.md +16 -16
  70. package/skills/dreamboard/references/cli.md +54 -54
  71. package/skills/dreamboard/references/manifest-authoring.md +11 -3
  72. package/skills/dreamboard/references/quickstart.md +19 -16
  73. package/skills/dreamboard/references/testing.md +6 -13
  74. package/dist/agent-verifier/chunk-27EEIZCI.mjs.map +0 -1
  75. package/dist/agent-verifier/chunk-5NYBTZB4.mjs.map +0 -1
  76. package/dist/agent-verifier/chunk-776W3UGV.mjs.map +0 -1
  77. package/dist/agent-verifier/chunk-C3VW3DTA.mjs.map +0 -1
  78. package/dist/agent-verifier/chunk-F2DIOJJZ.mjs.map +0 -1
  79. package/dist/agent-verifier/chunk-G42BGGG2.mjs +0 -70
  80. package/dist/agent-verifier/chunk-G42BGGG2.mjs.map +0 -1
  81. package/dist/agent-verifier/chunk-H76MT5UR.mjs.map +0 -1
  82. package/dist/agent-verifier/chunk-IDVQXGAO.mjs +0 -222
  83. package/dist/agent-verifier/chunk-IDVQXGAO.mjs.map +0 -1
  84. package/dist/agent-verifier/chunk-JO5AMVZU.mjs +0 -1744
  85. package/dist/agent-verifier/chunk-JO5AMVZU.mjs.map +0 -1
  86. package/dist/agent-verifier/chunk-KDBSVLCF.mjs +0 -624
  87. package/dist/agent-verifier/chunk-KDBSVLCF.mjs.map +0 -1
  88. package/dist/agent-verifier/chunk-MW2QIWWA.mjs.map +0 -1
  89. package/dist/agent-verifier/chunk-NAK77WXW.mjs.map +0 -1
  90. package/dist/agent-verifier/chunk-ON62IGWK.mjs.map +0 -1
  91. package/dist/agent-verifier/chunk-QZH6IEZS.mjs +0 -39
  92. package/dist/agent-verifier/chunk-QZH6IEZS.mjs.map +0 -1
  93. package/dist/agent-verifier/chunk-TAEQKBJB.mjs.map +0 -1
  94. package/dist/agent-verifier/chunk-UIOLGH4A.mjs.map +0 -1
  95. package/dist/agent-verifier/chunk-XQXDOBYB.mjs.map +0 -1
  96. package/dist/agent-verifier/chunk-YDIOW2BO.mjs.map +0 -1
  97. package/dist/agent-verifier/chunk-Z6OZWUIZ.mjs.map +0 -1
  98. package/dist/agent-verifier/compile-576O7TYP.mjs +0 -312
  99. package/dist/agent-verifier/compile-576O7TYP.mjs.map +0 -1
  100. package/dist/agent-verifier/keychain-backend-A3MRWLPF.mjs.map +0 -1
  101. package/dist/agent-verifier/local-typecheck-2JWG5IGL.mjs +0 -10
  102. package/dist/agent-verifier/materialize-workspace-OZKOQCSQ.mjs.map +0 -1
  103. package/dist/agent-verifier/reducer-bundle-preflight-7NYZF5ZT.mjs +0 -20
  104. package/dist/agent-verifier/reducer-contract-preflight-COD2CO22.mjs +0 -11
  105. package/dist/agent-verifier/reducer-native-test-harness-QC7HZUK4.mjs +0 -50
  106. package/dist/agent-verifier/static-scaffold-JBUE3ROP.mjs +0 -27
  107. package/dist/agent-verifier/sync-C6S3OGCD.mjs +0 -588
  108. package/dist/agent-verifier/sync-C6S3OGCD.mjs.map +0 -1
  109. package/dist/agent-verifier/test-Y5UGQV7J.mjs +0 -353
  110. package/dist/agent-verifier/test-Y5UGQV7J.mjs.map +0 -1
  111. package/dist/agent-verifier/workspace-codegen-WPZHMATU.mjs.map +0 -1
  112. package/dist/agent-verifier/workspace-dependencies-B6A2ZX55.mjs.map +0 -1
  113. package/dist/chunk-3NRROR4P.js +0 -432
  114. package/dist/chunk-3NRROR4P.js.map +0 -1
  115. package/dist/chunk-M4SCKH5M.js.map +0 -1
  116. package/dist/dev-host/components/drawer.tsx +0 -132
  117. package/dist/dev-host/components/input.tsx +0 -21
  118. package/dist/dev-host/dev-api-proxy-plugin.ts +0 -328
  119. package/dist/dev-host/dev-author-dom-warnings.ts +0 -100
  120. package/dist/dev-host/dev-diagnostics.ts +0 -62
  121. package/dist/dev-host/dev-fallback-stylesheet.ts +0 -53
  122. package/dist/dev-host/dev-hmr-guard-plugin.ts +0 -47
  123. package/dist/dev-host/dev-host-controller.ts +0 -674
  124. package/dist/dev-host/dev-host-player-query.ts +0 -17
  125. package/dist/dev-host/dev-host-session-transport.ts +0 -52
  126. package/dist/dev-host/dev-host-storage.ts +0 -56
  127. package/dist/dev-host/dev-log-relay-plugin.ts +0 -510
  128. package/dist/dev-host/dev-runtime-config.ts +0 -14
  129. package/dist/dev-host/dev-runtime-platform.ts +0 -335
  130. package/dist/dev-host/dev-virtual-modules-plugin.ts +0 -64
  131. package/dist/dev-host/host-main.css +0 -224
  132. package/dist/dev-host/host-main.tsx +0 -948
  133. package/dist/dev-host/index.html +0 -56
  134. package/dist/dev-host/lib/utils.ts +0 -6
  135. package/dist/dev-host/plugin-main.ts +0 -61
  136. package/dist/dev-host/plugin.html +0 -24
  137. package/dist/dev-host/shared-styles.css +0 -144
  138. package/dist/dev-host/start-dev-server.ts +0 -140
  139. package/dist/dev-host/virtual-modules.d.ts +0 -27
  140. package/dist/global-config-YBFEGJQG.js.map +0 -1
  141. package/dist/keychain-backend-JHTXAKWC.js.map +0 -1
  142. package/skills/dreamboard/scripts/events-extract.mjs +0 -218
  143. /package/dist/agent-verifier/{chunk-XKCJBIRY.mjs.map → chunk-QD4SQNUP.mjs.map} +0 -0
  144. /package/dist/agent-verifier/{global-config-NYCSCAUI.mjs.map → global-config-2NUESNEQ.mjs.map} +0 -0
  145. /package/dist/agent-verifier/{local-files-QVJ2H3MH.mjs.map → local-files-OF4QFISU.mjs.map} +0 -0
  146. /package/dist/agent-verifier/{local-typecheck-2JWG5IGL.mjs.map → static-scaffold-U5DXE23S.mjs.map} +0 -0
  147. /package/dist/agent-verifier/{reducer-bundle-preflight-7NYZF5ZT.mjs.map → workspace-codegen-SPPVHURX.mjs.map} +0 -0
  148. /package/dist/agent-verifier/{reducer-contract-preflight-COD2CO22.mjs.map → workspace-dependencies-5HEEKZFP.mjs.map} +0 -0
  149. /package/dist/{agent-verifier/reducer-native-test-harness-QC7HZUK4.mjs.map → authoring-compatibility-internal.js.map} +0 -0
  150. /package/dist/{agent-verifier/static-scaffold-JBUE3ROP.mjs.map → global-config-RBMW7IVA.js.map} +0 -0
  151. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.framework.json +0 -0
  152. /package/{dist/scaffold → scaffold}/assets/static/app/tsconfig.json +0 -0
  153. /package/{dist/scaffold → scaffold}/assets/static/ui/index.tsx +0 -0
  154. /package/{dist/scaffold → scaffold}/assets/static/ui/style.css +0 -0
  155. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.framework.json +0 -0
  156. /package/{dist/scaffold → scaffold}/assets/static/ui/tsconfig.json +0 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # dreamboard
2
2
 
3
- Dreamboard CLI for working with Dreamboard games from your own editor/tooling.
3
+ Dreamboard for working with Dreamboard games from your own editor/tooling.
4
4
 
5
5
  Dreamboard is built to take you from napkin sketch to playable prototype without the paper cuts:
6
6
 
@@ -18,7 +18,7 @@ Published npm package:
18
18
  npm install -g dreamboard
19
19
  ```
20
20
 
21
- The published CLI targets Node 20+.
21
+ The published `dreamboard` package targets Node 20+.
22
22
 
23
23
  ## Why Dreamboard
24
24
 
@@ -32,16 +32,14 @@ The published CLI targets Node 20+.
32
32
  Use browser login:
33
33
 
34
34
  ```bash
35
- dreamboard login
35
+ dreamboard auth login
36
36
  ```
37
37
 
38
- The published CLI stores your refreshable session in:
38
+ Dreamboard stores your refreshable session in `~/.dreamboard/auth.json` by default. The file is written atomically with owner-only permissions (`0600`).
39
39
 
40
- ```bash
41
- ~/.dreamboard/config.json
42
- ```
40
+ The operating system keychain is optional. Set `"credentialBackend": "keychain"` in `~/.dreamboard/config.json`, or use `DREAMBOARD_CREDENTIAL_BACKEND=keychain`, to opt in.
43
41
 
44
- That stored session includes the refresh token the CLI needs to renew access automatically. Direct JWT injection is intentionally not part of the published CLI flow.
42
+ That stored session includes the Clerk refresh token Dreamboard needs to renew and exchange for short-lived Dreamboard API tokens automatically. Direct JWT injection is intentionally not part of the published Dreamboard flow.
45
43
 
46
44
  ## Source Checkout Setup
47
45
 
@@ -51,7 +49,7 @@ For local source-checkout development, install workspace dependencies with pnpm
51
49
  pnpm install
52
50
  ```
53
51
 
54
- Playwright (for `dreamboard run`):
52
+ Playwright (for local dev-host verification):
55
53
 
56
54
  ```bash
57
55
  npx playwright install
@@ -62,146 +60,67 @@ npx playwright install
62
60
  Create a new game:
63
61
 
64
62
  ```bash
65
- dreamboard new my-game --description "A trick-taking card game"
63
+ dreamboard project create my-game --description "A trick-taking card game"
66
64
  ```
67
65
 
68
- Clone an existing game:
66
+ Clone an existing project:
69
67
 
70
68
  ```bash
71
- dreamboard clone my-game
69
+ dreamboard project clone my-game
72
70
  ```
73
71
 
74
- Sync local authored changes and regenerate scaffolded files:
72
+ Commit and push authored changes with Git:
75
73
 
76
74
  ```bash
77
- dreamboard sync
78
- dreamboard sync --update-sdk
75
+ git add .
76
+ git commit -m "Update game"
77
+ git push
79
78
  ```
80
79
 
81
- If the remote has advanced unexpectedly, reconcile authored changes explicitly with:
80
+ Inspect server state for an exact commit:
82
81
 
83
82
  ```bash
84
- dreamboard pull
83
+ dreamboard project status --commit HEAD --wait
85
84
  ```
86
85
 
87
- Compile the current authored head:
86
+ Verify an exact commit:
88
87
 
89
88
  ```bash
90
- dreamboard compile
91
- dreamboard compile --skip-local-check
89
+ dreamboard verify --commit HEAD
92
90
  ```
93
91
 
94
- Inspect local vs remote state:
92
+ Build or preview a pushed commit:
95
93
 
96
94
  ```bash
97
- dreamboard status
98
- dreamboard status --json
95
+ dreamboard build --commit HEAD
96
+ dreamboard preview --commit HEAD
99
97
  ```
100
98
 
101
- Run the game locally (server-compiled UI):
99
+ Run tests:
102
100
 
103
101
  ```bash
104
- dreamboard run
105
- dreamboard run --players 4
106
- dreamboard run --seed 1337
107
- dreamboard run --new-session
108
- ```
109
-
110
- If no successful compile exists for the current authored state yet, `dreamboard run` will ask you to run `dreamboard compile` first.
111
- By default, the CLI uses `manifest.json`'s `playerConfig.minPlayers` to decide how many seats to create.
112
-
113
- `dreamboard run` now defaults to a wait-and-observe loop when no scenario is provided:
114
-
115
- 1. Reuse the previous active session (`--resume` defaults to true) unless `--new-session` is set.
116
- 2. Subscribe to session SSE events.
117
- 3. Exit when `YOUR_TURN` (default `--until`) or `GAME_ENDED` is received.
118
- 4. Persist artifacts in `.dreamboard/run/`:
119
- - `session.json`
120
- - `events.ndjson`
121
- - `latest-your-turn.json`
122
- - `last-run-summary.json`
123
-
124
- `dreamboard run` is deterministic-by-default for new sessions: if `--seed` is not provided, it uses `1337`.
125
-
126
- Useful flags:
127
-
128
- - `--until YOUR_TURN|GAME_ENDED|ANY`
129
- - `--observe-events turns|all` (default `turns`; persist `YOUR_TURN` and `ACTION_REJECTED` messages)
130
- - `--seed <int>` (deterministic RNG seed for new sessions, default `1337`)
131
- - `--timeout-ms <ms>`
132
- - `--max-events <count>`
133
- - `--screenshot` (capture one Playwright screenshot for the selected run session)
134
- - `--output <path>`
135
- - `--delay <ms>`
136
- - `--width <px>`
137
- - `--height <px>`
138
- - `--scenario-driver api|ui` (default `api`)
139
-
140
- Playwright launch is now optional:
141
-
142
- 1. It is launched when `--scenario-driver ui` is used.
143
- 2. It is launched when `--screenshot` is used.
144
- 3. Default API scenarios (`--scenario` with `--scenario-driver api`) do not require Playwright.
145
- 4. Pure observe runs (`dreamboard run` without scenario/screenshot) do not require a browser session.
146
-
147
- ## Scenario Files
148
-
149
- `dreamboard run --scenario <file>` supports scenario JSON (API driver by default):
150
-
151
- ```json
152
- {
153
- "steps": [
154
- {
155
- "playerId": "player-1",
156
- "actionType": "playCard",
157
- "parameters": { "cardId": "hearts-7" },
158
- "turns": 1
159
- },
160
- {
161
- "playerId": "player-1",
162
- "actionType": "endTurn",
163
- "parameters": {},
164
- "turns": 1
165
- }
166
- ]
167
- }
102
+ dreamboard test
103
+ dreamboard test --scenario test/scenarios/main.scenario.ts
168
104
  ```
169
105
 
170
- `playerId` is required on every scenario step. The CLI executes all steps in order per invocation:
171
-
172
- ```bash
173
- dreamboard run
174
- dreamboard run --scenario path/to/scenario.json
175
- dreamboard run --scenario path/to/scenario.json --scenario-driver ui
176
- ```
177
-
178
- If there is no current `.dreamboard/run/latest-your-turn.json` for the active session (for example with `--new-session`), `dreamboard run --scenario ...` first observes SSE until it receives the initial `YOUR_TURN`, then starts executing scenario steps.
179
-
180
- API-driven scenarios are strict per step: after each `submitAction`, the CLI waits for either `ACTION_EXECUTED` or `ACTION_REJECTED`. On rejection, it stops immediately with `stopReason=scenario_rejected`.
181
-
182
- Screenshots are saved to `.dreamboard/screenshots/` by default. The CLI captures the same session selected by `--resume` / `--new-session`.
183
-
184
- To capture a screenshot during observe or scenario runs:
106
+ Start the local dev host:
185
107
 
186
108
  ```bash
187
- dreamboard run --screenshot
188
- dreamboard run --scenario path/to/scenario.json --screenshot
189
- dreamboard run --screenshot --output ./shot.png --delay 1500 --width 1440 --height 900
109
+ dreamboard dev
190
110
  ```
191
111
 
192
112
  ## Notes
193
113
 
194
114
  - Project state lives in `.dreamboard/project.json`.
195
- - Snapshots for `status` are stored in `.dreamboard/snapshot.json`.
196
- - Published/public CLI installs target Node 20+ and support remote workflows.
197
- - Published/public CLI builds are production-only; they do not support environment overrides or direct JWT injection.
115
+ - Published/public `dreamboard` installs target Node 20+ and support commit-scoped
116
+ build, preview, release, and status workflows.
117
+ - Published stable `dreamboard` builds are production-only and do not support environment overrides or direct JWT injection. Published alpha builds allow `--env <local|staging|prod>` for operator verification, but still reject direct JWT injection.
198
118
  - Local embedded-harness testing remains Bun-only and requires a source checkout with local backend support.
199
- - Internal source-checkout builds may expose extra auth and environment helpers, but those are not part of the published CLI contract.
119
+ - Internal source-checkout builds may expose extra auth and environment helpers, but those are not part of the published Dreamboard contract.
200
120
 
201
121
  ## Skill Source
202
122
 
203
123
  - Public skill source lives under `skills/dreamboard/`.
204
124
  - `skills/dreamboard/references/*.md` are generated from `docs/` via `pnpm run sync:skill-docs`.
205
- - `dreamboard new` installs the bundled skill into `.agents/skills/dreamboard/` in the generated game project.
206
- - The Node helper script for run-artifact inspection is `.agents/skills/dreamboard/scripts/events-extract.mjs`.
207
- - Public GitHub repo for the CLI is [dreamboard-games/dreamboard-cli](https://github.com/dreamboard-games/dreamboard-cli).
125
+ - `dreamboard project create` installs the bundled skill into `.agents/skills/dreamboard/` in the generated game project.
126
+ - Public GitHub repo for Dreamboard is [dreamboard-games/dreamboard](https://github.com/dreamboard-games/dreamboard).