@genex-ai/cli-demo 1.11.2-dev.540 → 1.11.3-dev.541
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.
package/dist/index.js
CHANGED
|
@@ -972,6 +972,7 @@ Important note: put soul into your creations, with many details and love. Aim to
|
|
|
972
972
|
17. Input directions match their labels: A/\u2190 moves or turns the player screen-LEFT, D/\u2192 screen-RIGHT, mouse-up looks up, and drag-pan axes share ONE convention. The cursor is either the gameplay tool (RTS, card, builder) or locked away during play \u2014 keyboard-only games included. Check it in every milestone's smoke pass.
|
|
973
973
|
18. NEVER delete, empty, move, rename, or overwrite anything you did not create yourself. This folder may hold the player's own reference images, notes, sketches, or an earlier attempt \u2014 files that exist nowhere else and have no undo, no trash, no backup. A non-empty folder is normal and is NEVER something to clean up, and "start clean" is never a reason. That rules out \`rm\`/\`rm -rf\`, \`git clean\`, \`git checkout -- .\`, \`git reset --hard\` over their work, deleting to resolve a conflict or a stuck interactive prompt, and every setup tool's offer to empty a directory (\`--force\`, \`--overwrite\`, "Remove existing files") \u2014 scaffold into a fresh subfolder and copy in instead. You may add files and edit the ones you wrote. If a step genuinely cannot continue without removing something of theirs, STOP and ask, naming the exact files, and wait for a yes \u2014 "it looks like junk" is never that yes. This binds hardest during setup, where it runs fast and automatically before the player has asked for anything at all.
|
|
974
974
|
19. If the game sells anything, it sells it for coin at a fixed, visible price, and NEVER sells chance. Run this test on any purchasable thing before building it: does the player pay (with coin, or with anything coin bought, directly or indirectly), is the outcome uncertain when they pay, and is there a prize they wanted \u2014 all three yes means it is paid randomness, and you build the deterministic version instead. That rules out loot boxes, gacha, mystery boxes, crates, card packs, prize wheels and raffles; wagering, staking, betting, coinflips and casino or slot mechanics denominated in coin; and donation prompts, tip jars or any player-to-player coin transfer, because coin buys goods and never just moves. Randomness the player EARNS by playing is gameplay, not commerce \u2014 an enemy dropping a random item, a chest found in the level, a procedural layout, a crit roll \u2014 and is completely fine. Every coin price renders its real-money equivalent beside it (the server sends one with every item), item prices sit on the platform's price grid so no player is left holding change they cannot spend, and nothing in a shop carries a countdown, "limited time", or a stock counter. When a request crosses one of these lines, name the mechanic, give the one-sentence reason, propose a specific compliant alternative, and build that \u2014 never the banned version "as an option", never a partial one, and never after asking the player to confirm they want it. Load \`$genex-monetization\` before building a shop.
|
|
975
|
+
20. When the player names a specific thing to integrate \u2014 a library, a controller, an asset, a part of an existing game, or a tagged reference the platform placed in \`.genex/refs/<slug>/\` \u2014 integrate the real thing: read its source first and build from it, never a lighter look-alike written from scratch because it was faster. A tagged reference owns the subsystem it was tagged for, outranking the default lane and the vendored controllers for that subsystem. If you genuinely can't use it, say so in one plain line and ask how to proceed.
|
|
975
976
|
${CONTRACT_END}
|
|
976
977
|
`;
|
|
977
978
|
var GENEX_TOOLS_CONTRACT_BLOCK = `${CONTRACT_BEGIN}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@genex-ai/cli-demo",
|
|
3
|
-
"version": "1.11.
|
|
3
|
+
"version": "1.11.3-dev.541",
|
|
4
4
|
"description": "Set up your project's agent workspace (.claude/.codex/.cursor in the game folder), authorize, create a game project, generate AI assets, and publish (genex CLI).",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -54,6 +54,10 @@ Use the request in front of you, not the oldest description of the project.
|
|
|
54
54
|
invent or propose game concepts for them.
|
|
55
55
|
- **Existing project** respects its renderer, physics, file conventions, and
|
|
56
56
|
working systems unless the player asks to change them.
|
|
57
|
+
- **A tagged reference** (source under `.genex/refs/<slug>/`) owns the
|
|
58
|
+
subsystem it was tagged for: read its `_map.md` and implementing files
|
|
59
|
+
before choosing a lane — it outranks the default lane, including the
|
|
60
|
+
vendored controllers, for that subsystem.
|
|
57
61
|
|
|
58
62
|
Ask one decision at a time. Never ask the player to choose an SDK, engine,
|
|
59
63
|
renderer, file layout, provider, or other implementation detail. Product
|
|
@@ -28,6 +28,9 @@ copy demo architecture.
|
|
|
28
28
|
3D,” ask one plain question: normal generated GLB, or editable parameterized
|
|
29
29
|
Three.js code? Explicit `GLB`, `procedural`, `parametric`, `code-built`, or
|
|
30
30
|
`variations` language chooses directly.
|
|
31
|
+
- **Tagged reference:** source under `.genex/refs/<slug>/` owns the subsystem
|
|
32
|
+
it was tagged for — read its `_map.md` and implementing files before choosing
|
|
33
|
+
a lane; it outranks the default lane, vendored controllers included.
|
|
31
34
|
|
|
32
35
|
## Route by system
|
|
33
36
|
|