@genex-ai/cli-demo 0.47.0-dev.69 → 0.47.0-dev.71

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
@@ -1825,6 +1825,13 @@ function advisoryNudges(log, d) {
1825
1825
  );
1826
1826
  }
1827
1827
  }
1828
+ async function firstPreviewNudge(log, cwd = process.cwd()) {
1829
+ const meta = await readProject(cwd);
1830
+ if (!meta || meta.lastDeployAt || meta.status === "published") return;
1831
+ log.dim(
1832
+ " \u279C Draft page still the placeholder? Ship the first rough build now: npx genex preview \u2014 then keep building."
1833
+ );
1834
+ }
1828
1835
 
1829
1836
  // src/commands/publish.ts
1830
1837
  async function runPublish(opts) {
@@ -1861,6 +1868,8 @@ async function runPublish(opts) {
1861
1868
  process.exitCode = 1;
1862
1869
  return;
1863
1870
  }
1871
+ meta.lastDeployAt = (/* @__PURE__ */ new Date()).toISOString();
1872
+ await writeProject(meta);
1864
1873
  } else {
1865
1874
  log.info("Skipping build + deploy (--no-push).");
1866
1875
  }
@@ -1944,8 +1953,9 @@ async function runPreview(opts) {
1944
1953
  const freshStatus = await fetchProjectStatus(apiUrl, token, meta.slug);
1945
1954
  if (freshStatus && freshStatus !== meta.status) {
1946
1955
  meta.status = freshStatus;
1947
- await writeProject(meta);
1948
1956
  }
1957
+ meta.lastDeployAt = (/* @__PURE__ */ new Date()).toISOString();
1958
+ await writeProject(meta);
1949
1959
  const published = meta.status === "published";
1950
1960
  log.plain("");
1951
1961
  if (published) {
@@ -2088,6 +2098,7 @@ async function runGenerate(kind, opts) {
2088
2098
  }
2089
2099
  log.plain("");
2090
2100
  printHint(kind, files, log);
2101
+ await firstPreviewNudge(log);
2091
2102
  }
2092
2103
  var WAIT_TIMEOUT_MS = 10 * 60 * 1e3;
2093
2104
  var KIND_WAIT_TIMEOUT_MS = {
@@ -2658,6 +2669,7 @@ async function runController(opts) {
2658
2669
  for (const line of set.sketch) {
2659
2670
  log.dim(` ${line}`);
2660
2671
  }
2672
+ await firstPreviewNudge(log);
2661
2673
  }
2662
2674
  async function installOwnerAvatar(args) {
2663
2675
  const { root, srcDir, apiUrl, token, log } = args;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@genex-ai/cli-demo",
3
- "version": "0.47.0-dev.69",
3
+ "version": "0.47.0-dev.71",
4
4
  "description": "Set up your ~/.claude workspace, authorize, create a game project, generate AI assets, and publish (genex CLI).",
5
5
  "type": "module",
6
6
  "bin": {
@@ -26,11 +26,16 @@ evidence, temporal checks, budgets, and explicit rejection criteria.
26
26
 
27
27
  For plain game tasks — nothing from the procedural/visual-system pack loaded —
28
28
  this is the whole acceptance gate, and it is also the *ceiling*: a smoke check,
29
- not a certification. Run it ONCE per milestone to catch obvious breakage, fix
30
- what's clearly broken, and hand the feel/polish judgment to the player don't
31
- loop re-testing the same build, and don't try to exercise every button and edge
32
- case yourself. The player deciding "does it feel right?" is faster and truer
33
- than you clicking everything twice.
29
+ not a certification. Run it ONCE per milestone, and only AFTER that milestone's
30
+ `genex preview` is pushed ship the rough draft first, then check it; the
31
+ player may already be walking around your build while you do. Catch obvious
32
+ breakage, fix what's clearly broken, and hand the feel/polish judgment to the
33
+ player don't loop re-testing the same build, don't re-test after cosmetic
34
+ tweaks (sounds, colors, tuning values), and don't try to exercise every button
35
+ and edge case yourself. This browser check is the only testing a game draft
36
+ needs: never add unit tests or a test framework to a game unless the user asks.
37
+ The player deciding "does it feel right?" is faster and truer than you clicking
38
+ everything twice.
34
39
 
35
40
  1. Load the page in a real browser; the canvas renders (no black screen, no
36
41
  console errors). For an unpublished draft, open the dev server in local