create-rezi 0.1.0-alpha.6 → 0.1.0-alpha.60

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 (109) hide show
  1. package/README.md +56 -10
  2. package/dist/index.js +56 -18
  3. package/dist/index.js.map +1 -1
  4. package/dist/mainEntry.d.ts +2 -0
  5. package/dist/mainEntry.d.ts.map +1 -0
  6. package/dist/mainEntry.js +20 -0
  7. package/dist/mainEntry.js.map +1 -0
  8. package/dist/scaffold.d.ts +4 -1
  9. package/dist/scaffold.d.ts.map +1 -1
  10. package/dist/scaffold.js +85 -34
  11. package/dist/scaffold.js.map +1 -1
  12. package/package.json +8 -5
  13. package/templates/animation-lab/README.md +45 -0
  14. package/templates/{file-browser → animation-lab}/package.json +5 -3
  15. package/templates/animation-lab/src/__tests__/keybindings.test.ts +14 -0
  16. package/templates/animation-lab/src/__tests__/reducer.test.ts +49 -0
  17. package/templates/animation-lab/src/__tests__/render.test.ts +29 -0
  18. package/templates/animation-lab/src/helpers/keybindings.ts +32 -0
  19. package/templates/animation-lab/src/helpers/state.ts +152 -0
  20. package/templates/animation-lab/src/main.ts +202 -0
  21. package/templates/animation-lab/src/screens/reactor-lab.ts +848 -0
  22. package/templates/animation-lab/src/theme.ts +66 -0
  23. package/templates/animation-lab/src/types.ts +31 -0
  24. package/templates/cli-tool/README.md +69 -0
  25. package/templates/cli-tool/package.json +25 -0
  26. package/templates/cli-tool/src/__tests__/keybindings.test.ts +12 -0
  27. package/templates/cli-tool/src/__tests__/reducer.test.ts +25 -0
  28. package/templates/cli-tool/src/__tests__/render.test.ts +13 -0
  29. package/templates/cli-tool/src/helpers/keybindings.ts +28 -0
  30. package/templates/cli-tool/src/helpers/logs.ts +51 -0
  31. package/templates/cli-tool/src/helpers/state.ts +99 -0
  32. package/templates/cli-tool/src/main.ts +175 -0
  33. package/templates/cli-tool/src/screens/home.ts +62 -0
  34. package/templates/cli-tool/src/screens/index.ts +45 -0
  35. package/templates/cli-tool/src/screens/logs.ts +79 -0
  36. package/templates/cli-tool/src/screens/settings.ts +88 -0
  37. package/templates/cli-tool/src/screens/shell.ts +103 -0
  38. package/templates/cli-tool/src/theme.ts +61 -0
  39. package/templates/cli-tool/src/types.ts +31 -0
  40. package/templates/dashboard/README.md +54 -8
  41. package/templates/dashboard/package.json +6 -4
  42. package/templates/dashboard/src/__tests__/keybindings.test.ts +12 -0
  43. package/templates/dashboard/src/__tests__/reducer.test.ts +19 -0
  44. package/templates/dashboard/src/__tests__/render.test.ts +21 -0
  45. package/templates/dashboard/src/__tests__/telemetry.test.ts +48 -0
  46. package/templates/dashboard/src/helpers/formatters.ts +53 -0
  47. package/templates/dashboard/src/helpers/keybindings.ts +27 -0
  48. package/templates/dashboard/src/helpers/state.ts +204 -0
  49. package/templates/dashboard/src/helpers/telemetry.ts +22 -0
  50. package/templates/dashboard/src/main.ts +166 -241
  51. package/templates/dashboard/src/screens/overview.ts +221 -0
  52. package/templates/dashboard/src/theme.ts +51 -0
  53. package/templates/dashboard/src/types.ts +36 -0
  54. package/templates/minimal/README.md +55 -0
  55. package/templates/{form-app → minimal}/package.json +6 -4
  56. package/templates/minimal/src/__tests__/keybindings.test.ts +12 -0
  57. package/templates/minimal/src/__tests__/reducer.test.ts +20 -0
  58. package/templates/minimal/src/__tests__/render.test.ts +24 -0
  59. package/templates/minimal/src/helpers/keybindings.ts +23 -0
  60. package/templates/minimal/src/helpers/state.ts +20 -0
  61. package/templates/minimal/src/main.ts +150 -0
  62. package/templates/minimal/src/screens/main-screen.ts +110 -0
  63. package/templates/minimal/src/theme.ts +49 -0
  64. package/templates/minimal/src/types.ts +15 -0
  65. package/templates/starship/README.md +112 -0
  66. package/templates/starship/package.json +25 -0
  67. package/templates/starship/src/__tests__/keybindings.test.ts +39 -0
  68. package/templates/starship/src/__tests__/reducer.test.ts +113 -0
  69. package/templates/starship/src/__tests__/render.test.ts +159 -0
  70. package/templates/starship/src/helpers/debug.ts +22 -0
  71. package/templates/starship/src/helpers/formatters.ts +109 -0
  72. package/templates/starship/src/helpers/keybindings.ts +132 -0
  73. package/templates/starship/src/helpers/layout.ts +65 -0
  74. package/templates/starship/src/helpers/simulation.ts +269 -0
  75. package/templates/starship/src/helpers/state.ts +767 -0
  76. package/templates/starship/src/main.ts +761 -0
  77. package/templates/starship/src/screens/bridge.ts +561 -0
  78. package/templates/starship/src/screens/cargo.ts +389 -0
  79. package/templates/starship/src/screens/comms.ts +473 -0
  80. package/templates/starship/src/screens/crew.ts +566 -0
  81. package/templates/starship/src/screens/engineering.ts +549 -0
  82. package/templates/starship/src/screens/index.ts +36 -0
  83. package/templates/starship/src/screens/primitives.ts +172 -0
  84. package/templates/starship/src/screens/settings.ts +289 -0
  85. package/templates/starship/src/screens/shell.ts +696 -0
  86. package/templates/starship/src/theme.ts +448 -0
  87. package/templates/starship/src/types.ts +203 -0
  88. package/templates/starship/tsconfig.json +15 -0
  89. package/templates/stress-test/README.md +107 -0
  90. package/templates/{streaming-viewer → stress-test}/package.json +5 -3
  91. package/templates/stress-test/src/__tests__/keybindings.test.ts +11 -0
  92. package/templates/stress-test/src/__tests__/reducer.test.ts +11 -0
  93. package/templates/stress-test/src/__tests__/render.test.ts +11 -0
  94. package/templates/stress-test/src/helpers/test-examples.ts +49 -0
  95. package/templates/stress-test/src/main.ts +1728 -0
  96. package/templates/stress-test/tsconfig.json +14 -0
  97. package/dist/__tests__/scaffold.test.d.ts +0 -2
  98. package/dist/__tests__/scaffold.test.d.ts.map +0 -1
  99. package/dist/__tests__/scaffold.test.js +0 -29
  100. package/dist/__tests__/scaffold.test.js.map +0 -1
  101. package/templates/file-browser/README.md +0 -18
  102. package/templates/file-browser/src/main.ts +0 -258
  103. package/templates/form-app/README.md +0 -18
  104. package/templates/form-app/src/main.ts +0 -222
  105. package/templates/streaming-viewer/README.md +0 -17
  106. package/templates/streaming-viewer/src/main.ts +0 -176
  107. /package/templates/{file-browser → animation-lab}/tsconfig.json +0 -0
  108. /package/templates/{form-app → cli-tool}/tsconfig.json +0 -0
  109. /package/templates/{streaming-viewer → minimal}/tsconfig.json +0 -0
package/README.md CHANGED
@@ -7,24 +7,70 @@ Scaffold a new Rezi terminal UI app.
7
7
  ```bash
8
8
  npm create rezi my-app
9
9
  cd my-app
10
- npm start
10
+ npm run start
11
+
12
+ # Bun
13
+ bun create rezi my-app
14
+ cd my-app
15
+ bun run start
11
16
  ```
12
17
 
13
18
  ## Templates
14
19
 
15
- Choose a template interactively, or pass `--template`.
20
+ Currently available templates:
21
+
22
+ - `dashboard` - EdgeOps-style operations console starter
23
+ - Alias: `dash`
24
+ - `stress-test` - Visual benchmark matrix starter
25
+ - Aliases: `stress`, `chaos`, `bench`
26
+ - `cli-tool` - Multi-screen CLI workflow starter with route-based screens
27
+ - Aliases: `cli`, `tool`, `multiscreen`
28
+ - `animation-lab` - Declarative animation playground with responsive reactor visuals
29
+ - Aliases: `animation`, `anim`, `lab`, `motion`
30
+ - `minimal` - Single-screen utility starter for small tools
31
+ - Aliases: `mini`, `basic`, `utility`
32
+ - `starship` - Starship command console starter with routed multi-deck operations
33
+ - Aliases: `ship`, `bridge`, `command`
16
34
 
17
35
  ```bash
18
36
  npm create rezi my-app -- --template dashboard
19
- npm create rezi my-app -- --template form-app
20
- npm create rezi my-app -- --template file-browser
21
- npm create rezi my-app -- --template streaming-viewer
37
+ npm create rezi my-app -- --template stress-test
38
+ npm create rezi my-app -- --template cli-tool
39
+ npm create rezi my-app -- --template animation-lab
40
+ npm create rezi my-app -- --template starship
41
+ npm create rezi my-app -- --template minimal
42
+ ```
43
+
44
+ List templates and highlights from the CLI:
45
+
46
+ ```bash
47
+ npm create rezi -- --list-templates
22
48
  ```
23
49
 
24
50
  ## Options
25
51
 
26
- - `--template <name>`: Choose a template.
27
- - `--no-install`: Skip dependency installation.
28
- - `--pm <npm|pnpm|yarn|bun>`: Choose a package manager.
29
- - `--list-templates`: Print available templates.
30
- - `--help`: Show help.
52
+ - `--template, -t <name>`: Select a template (`dashboard`, `stress-test`, `cli-tool`, `animation-lab`, `minimal`, `starship`, plus aliases).
53
+ - `--no-install, --skip-install`: Skip dependency installation.
54
+ - `--pm, --package-manager <npm|pnpm|yarn|bun>`: Choose a package manager.
55
+ - `--list-templates, --templates`: Print available templates and highlights.
56
+ - `--help, -h`: Show help.
57
+
58
+ ## Template Conventions
59
+
60
+ Scaffolded templates now follow the same baseline structure:
61
+
62
+ - `src/types.ts`
63
+ - `src/theme.ts`
64
+ - `src/helpers/`
65
+ - `src/screens/`
66
+ - `src/main.ts`
67
+ - `src/__tests__/`
68
+
69
+ Template theming convention:
70
+
71
+ - `src/theme.ts` is the canonical source for theme catalogs and style helpers.
72
+ - Screens should derive visual styling from active theme tokens instead of hardcoded RGB/hex literals.
73
+ - `stress-test` is the current exception and keeps theme/catalog wiring in `src/main.ts`.
74
+
75
+ For template descriptions and highlights, see:
76
+ https://rezitui.dev/docs/getting-started/create-rezi/
package/dist/index.js CHANGED
@@ -3,7 +3,7 @@ import { spawnSync } from "node:child_process";
3
3
  import { relative, resolve } from "node:path";
4
4
  import { cwd, exit, stdin, stdout } from "node:process";
5
5
  import { createInterface } from "node:readline/promises";
6
- import { fileURLToPath } from "node:url";
6
+ import { isMainModuleEntry } from "./mainEntry.js";
7
7
  import { TEMPLATE_DEFINITIONS, createProject, isValidPackageName, normalizeTemplateName, resolveTargetName, toDisplayName, toValidPackageName, } from "./scaffold.js";
8
8
  function parseArgs(argv) {
9
9
  const options = {
@@ -63,18 +63,24 @@ function parseArgs(argv) {
63
63
  function printHelp() {
64
64
  stdout.write("create-rezi\n\n");
65
65
  stdout.write("Usage:\n");
66
- stdout.write(" npm create rezi my-app\n\n");
66
+ stdout.write(" npm create rezi my-app\n");
67
+ stdout.write(" bun create rezi my-app\n\n");
67
68
  stdout.write("Options:\n");
68
- stdout.write(" --template, -t <name> Choose a template\n");
69
- stdout.write(" --no-install Skip dependency install\n");
69
+ stdout.write(" --template, -t <name> dashboard | stress-test | cli-tool | animation-lab | minimal | starship\n");
70
+ stdout.write(" --no-install Skip dependency install\n");
70
71
  stdout.write(" --pm <npm|pnpm|yarn|bun> Choose a package manager\n");
71
- stdout.write(" --list-templates Show available templates\n");
72
- stdout.write(" --help, -h Show this help\n");
72
+ stdout.write(" --list-templates Show templates and highlights\n");
73
+ stdout.write(" --help, -h Show this help\n");
73
74
  }
74
75
  function printTemplates() {
75
- stdout.write("Available templates:\n");
76
+ stdout.write("Available templates (--template <name>):\n");
76
77
  TEMPLATE_DEFINITIONS.forEach((template, index) => {
77
- stdout.write(` ${index + 1}. ${template.key.padEnd(16)} ${template.label} - ${template.description}\n`);
78
+ const defaultSuffix = index === 0 ? " (default)" : "";
79
+ const highlights = template.highlights.join(" | ");
80
+ stdout.write(` ${index + 1}. ${template.key.padEnd(16)} ${template.label}${defaultSuffix}\n`);
81
+ stdout.write(` ${template.description}\n`);
82
+ stdout.write(` Safety: ${template.safetyTag} — ${template.safetyNote}\n`);
83
+ stdout.write(` Highlights: ${highlights}\n`);
78
84
  });
79
85
  }
80
86
  function detectPackageManager() {
@@ -105,20 +111,33 @@ async function promptText(rl, prompt, fallback) {
105
111
  return answer.trim() || fallback;
106
112
  }
107
113
  async function promptTemplate(rl) {
108
- stdout.write("\nSelect a template:\n");
114
+ stdout.write("\nSelect a template (name or number):\n");
109
115
  TEMPLATE_DEFINITIONS.forEach((template, index) => {
110
- stdout.write(` ${index + 1}. ${template.label} - ${template.description}\n`);
116
+ const defaultSuffix = index === 0 ? " (default)" : "";
117
+ stdout.write(` ${index + 1}. ${template.key.padEnd(16)} ${template.label}${defaultSuffix}\n`);
118
+ stdout.write(` ${template.description}\n`);
119
+ stdout.write(` Safety: ${template.safetyTag} — ${template.safetyNote}\n`);
120
+ stdout.write(` Highlights: ${template.highlights.join(" | ")}\n`);
111
121
  });
112
- const answer = await rl.question("Template (1-4, default 1): ");
122
+ const answer = await rl.question(`Template (1-${TEMPLATE_DEFINITIONS.length}, default 1): `);
113
123
  const trimmed = answer.trim();
114
- if (!trimmed)
115
- return "dashboard";
124
+ if (!trimmed) {
125
+ return TEMPLATE_DEFINITIONS[0]?.key ?? "dashboard";
126
+ }
116
127
  const asNumber = Number(trimmed);
117
128
  if (!Number.isNaN(asNumber) && asNumber >= 1 && asNumber <= TEMPLATE_DEFINITIONS.length) {
118
- return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? "dashboard";
129
+ return TEMPLATE_DEFINITIONS[asNumber - 1]?.key ?? TEMPLATE_DEFINITIONS[0]?.key ?? "dashboard";
119
130
  }
120
131
  return trimmed;
121
132
  }
133
+ async function confirmStressTemplate(rl) {
134
+ stdout.write("\nSafety check for stress-test template:\n");
135
+ stdout.write(" - This template intentionally drives heavy CPU and optional disk I/O load.\n");
136
+ stdout.write(" - Turbo/write-flood modes increase system pressure.\n");
137
+ const answer = await rl.question("Continue with stress-test? (y/N): ");
138
+ const normalized = answer.trim().toLowerCase();
139
+ return normalized === "y" || normalized === "yes";
140
+ }
122
141
  function runInstall(pm, targetDir) {
123
142
  const res = spawnSync(pm, ["install"], {
124
143
  cwd: targetDir,
@@ -129,18 +148,23 @@ function runInstall(pm, targetDir) {
129
148
  }
130
149
  }
131
150
  function printNextSteps(targetDir, packageManager, installRan) {
151
+ const installCommand = `${packageManager} install`;
152
+ const startCommand = packageManager === "npm" || packageManager === "bun"
153
+ ? `${packageManager} run start`
154
+ : `${packageManager} start`;
132
155
  const rel = relative(cwd(), resolve(targetDir)) || ".";
133
156
  stdout.write("\nNext steps:\n");
134
157
  if (rel !== ".") {
135
158
  stdout.write(` cd ${rel}\n`);
136
159
  }
137
160
  if (!installRan) {
138
- stdout.write(` ${packageManager} install\n`);
161
+ stdout.write(` ${installCommand}\n`);
139
162
  }
140
- stdout.write(` ${packageManager} start\n`);
163
+ stdout.write(` ${startCommand}\n`);
141
164
  }
142
165
  async function main() {
143
166
  const options = parseArgs(process.argv.slice(2));
167
+ const isInteractive = Boolean(stdin.isTTY && stdout.isTTY);
144
168
  if (options.help) {
145
169
  printHelp();
146
170
  return;
@@ -155,10 +179,24 @@ async function main() {
155
179
  const templateInput = options.template || (await promptTemplate(rl));
156
180
  const templateKey = normalizeTemplateName(templateInput);
157
181
  if (!templateKey) {
182
+ const allowed = TEMPLATE_DEFINITIONS.map((template) => template.key).join(", ");
158
183
  stdout.write(`\nUnknown template: ${templateInput}\n`);
159
- printTemplates();
184
+ stdout.write(`Use one of: ${allowed}\n`);
185
+ stdout.write("Run with --list-templates to see highlights.\n");
160
186
  throw new Error("Invalid template");
161
187
  }
188
+ if (templateKey === "stress-test") {
189
+ if (isInteractive) {
190
+ const confirmed = await confirmStressTemplate(rl);
191
+ if (!confirmed) {
192
+ stdout.write("\nTemplate selection cancelled.\n");
193
+ return;
194
+ }
195
+ }
196
+ else {
197
+ stdout.write("\nSafety notice: stress-test template selected in non-interactive mode; skipping prompt.\n");
198
+ }
199
+ }
162
200
  const rawName = resolveTargetName(targetDir);
163
201
  const displayName = toDisplayName(rawName);
164
202
  const packageName = toValidPackageName(rawName);
@@ -183,7 +221,7 @@ async function main() {
183
221
  rl.close();
184
222
  }
185
223
  }
186
- const isMain = process.argv[1] && fileURLToPath(import.meta.url) === resolve(process.argv[1]);
224
+ const isMain = isMainModuleEntry(process.argv[1], import.meta.url);
187
225
  if (isMain) {
188
226
  main().catch((err) => {
189
227
  stdout.write(`\ncreate-rezi error: ${err instanceof Error ? err.message : String(err)}\n`);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,kBAAkB,EAClB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,kBAAkB,GACnB,MAAM,eAAe,CAAC;AAavB,SAAS,SAAS,CAAC,IAAc;IAC/B,MAAM,OAAO,GAAe;QAC1B,OAAO,EAAE,IAAI;QACb,aAAa,EAAE,KAAK;QACpB,IAAI,EAAE,KAAK;KACZ,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,kBAAkB,IAAI,GAAG,KAAK,aAAa,EAAE,CAAC;YACxD,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;YAC7B,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACvD,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC;YACxB,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,YAAY,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;YAC5D,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnD,SAAS;QACX,CAAC;QACD,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,mBAAmB,EAAE,CAAC;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACtD,OAAO,CAAC,cAAc,GAAG,KAAuB,CAAC;YACjD,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAmB,CAAC;YACrE,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC;YACxB,SAAS;QACX,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,wBAAwB,GAAG,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACzB,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAC7C,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACjE,MAAM,CAAC,KAAK,CAAC,wDAAwD,CAAC,CAAC;IACvE,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;IACzE,MAAM,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACxE,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;AAChE,CAAC;AAED,SAAS,cAAc;IACrB,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvC,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CACV,KAAK,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,WAAW,IAAI,CAC3F,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,oBAAoB;IAC3B,0FAA0F;IAC1F,MAAM,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC1C,IAAI,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,CAAC,KAAK;QAAE,OAAO,oBAAoB,EAAE,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC9C,IACE,UAAU,KAAK,KAAK;QACpB,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,MAAM;QACrB,UAAU,KAAK,KAAK,EACpB,CAAC;QACD,OAAO,UAA4B,CAAC;IACtC,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED,KAAK,UAAU,UAAU,CACvB,EAAsC,EACtC,MAAc,EACd,QAAgB;IAEhB,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,GAAG,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC;IAC9D,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC;AACnC,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,EAAsC;IAClE,MAAM,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACvC,oBAAoB,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,QAAQ,CAAC,KAAK,MAAM,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAChE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;IAC9B,IAAI,CAAC,OAAO;QAAE,OAAO,WAAW,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IACjC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,QAAQ,IAAI,CAAC,IAAI,QAAQ,IAAI,oBAAoB,CAAC,MAAM,EAAE,CAAC;QACxF,OAAO,oBAAoB,CAAC,QAAQ,GAAG,CAAC,CAAC,EAAE,GAAG,IAAI,WAAW,CAAC;IAChE,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,UAAU,CAAC,EAAkB,EAAE,SAAiB;IACvD,MAAM,GAAG,GAAG,SAAS,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE;QACrC,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,SAAS;KACjB,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,SAAiB,EACjB,cAA8B,EAC9B,UAAmB;IAEnB,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,GAAG,CAAC;IACvD,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChC,IAAI,GAAG,KAAK,GAAG,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,CAAC,KAAK,CAAC,KAAK,cAAc,YAAY,CAAC,CAAC;IAChD,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,KAAK,cAAc,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,KAAK,UAAU,IAAI;IACjB,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEjD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,SAAS,EAAE,CAAC;QACZ,OAAO;IACT,CAAC;IAED,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;QAC1B,cAAc,EAAE,CAAC;QACjB,OAAO;IACT,CAAC;IAED,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAE7D,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,CAAC,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,EAAE,UAAU,CAAC,CAAC,CAAC;QAC1F,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,IAAI,CAAC,MAAM,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,CAAC,KAAK,CAAC,uBAAuB,aAAa,IAAI,CAAC,CAAC;YACvD,cAAc,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,WAAW,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,yBAAyB,WAAW,IAAI,CAAC,CAAC;QACzD,CAAC;QAED,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QAErE,MAAM,CAAC,KAAK,CAAC,0BAA0B,SAAS,OAAO,CAAC,CAAC;QAEzD,MAAM,aAAa,CAAC;YAClB,SAAS;YACT,WAAW;YACX,WAAW;YACX,WAAW;SACZ,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,CAAC,KAAK,CAAC,kCAAkC,cAAc,OAAO,CAAC,CAAC;YACtE,UAAU,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;QACxC,CAAC;QAED,cAAc,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,IAAI,MAAM,EAAE,CAAC;IACX,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACnB,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC3F,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function isMainModuleEntry(argvPath: string | undefined, moduleUrl: string): boolean;
2
+ //# sourceMappingURL=mainEntry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainEntry.d.ts","sourceRoot":"","sources":["../src/mainEntry.ts"],"names":[],"mappings":"AAYA,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAO1F"}
@@ -0,0 +1,20 @@
1
+ import { realpathSync } from "node:fs";
2
+ import { resolve } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ function resolveCanonicalPath(pathValue) {
5
+ try {
6
+ return realpathSync(pathValue);
7
+ }
8
+ catch {
9
+ return pathValue;
10
+ }
11
+ }
12
+ export function isMainModuleEntry(argvPath, moduleUrl) {
13
+ if (!argvPath) {
14
+ return false;
15
+ }
16
+ const modulePath = resolveCanonicalPath(fileURLToPath(moduleUrl));
17
+ const entryPath = resolveCanonicalPath(resolve(argvPath));
18
+ return modulePath === entryPath;
19
+ }
20
+ //# sourceMappingURL=mainEntry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mainEntry.js","sourceRoot":"","sources":["../src/mainEntry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,SAAS,oBAAoB,CAAC,SAAiB;IAC7C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,QAA4B,EAAE,SAAiB;IAC/E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,UAAU,GAAG,oBAAoB,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,SAAS,GAAG,oBAAoB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1D,OAAO,UAAU,KAAK,SAAS,CAAC;AAClC,CAAC"}
@@ -1,8 +1,11 @@
1
- export type TemplateKey = "dashboard" | "form-app" | "file-browser" | "streaming-viewer";
1
+ export type TemplateKey = "dashboard" | "stress-test" | "cli-tool" | "animation-lab" | "minimal" | "starship";
2
2
  export type TemplateDefinition = {
3
3
  key: TemplateKey;
4
4
  label: string;
5
5
  description: string;
6
+ safetyTag: string;
7
+ safetyNote: string;
8
+ highlights: readonly string[];
6
9
  dir: string;
7
10
  };
8
11
  export declare const TEMPLATE_DEFINITIONS: readonly TemplateDefinition[];
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAEzF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,EAyBpD,CAAC;AAMX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAyBvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D;AA+BD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyB/F"}
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,WAAW,GACnB,WAAW,GACX,aAAa,GACb,UAAU,GACV,eAAe,GACf,SAAS,GACT,UAAU,CAAC;AAEf,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,WAAW,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IAC9B,GAAG,EAAE,MAAM,CAAC;CACb,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,SAAS,kBAAkB,EA6EpD,CAAC;AA2BX,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAQvE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAWvD;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiB/D;AA+BD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAyB/F"}
package/dist/scaffold.js CHANGED
@@ -4,56 +4,107 @@ import { fileURLToPath } from "node:url";
4
4
  export const TEMPLATE_DEFINITIONS = [
5
5
  {
6
6
  key: "dashboard",
7
- label: "Dashboard",
8
- description: "Multi-panel ops dashboard with status list",
7
+ label: "EdgeOps Dashboard",
8
+ description: "Product-grade operations console with deterministic updates",
9
+ safetyTag: "safe-default",
10
+ safetyNote: "Balanced runtime profile for everyday app development.",
11
+ highlights: [
12
+ "fleet control plane with stable live telemetry",
13
+ "incident feed + inspector + escalation runbook",
14
+ ],
9
15
  dir: "dashboard",
10
16
  },
11
17
  {
12
- key: "form-app",
13
- label: "Form app",
14
- description: "Data entry flow with preview panel",
15
- dir: "form-app",
18
+ key: "stress-test",
19
+ label: "Visual Benchmark Matrix",
20
+ description: "Three-lane visual benchmark with deterministic sim model + real runtime diagnostics",
21
+ safetyTag: "high-cpu-io",
22
+ safetyNote: "Generates heavy CPU/IO pressure; intended for benchmarking only.",
23
+ highlights: [
24
+ "geometry + text/file activity + matrix rain lanes with phase-based intensity ramp",
25
+ "deterministic sim scorecard and measured CPU/RSS/lag/timing/sink throughput",
26
+ ],
27
+ dir: "stress-test",
16
28
  },
17
29
  {
18
- key: "file-browser",
19
- label: "File browser",
20
- description: "Split view with directory list + preview",
21
- dir: "file-browser",
30
+ key: "cli-tool",
31
+ label: "Multi-Screen CLI Tool",
32
+ description: "Task-oriented multi-screen TUI with first-party page routing",
33
+ safetyTag: "safe-default",
34
+ safetyNote: "Lightweight template focused on product workflows and routing.",
35
+ highlights: [
36
+ "home/logs/settings/detail screens with router history and focus restoration",
37
+ "global route keybindings plus breadcrumb + tabs helpers wired to router state",
38
+ ],
39
+ dir: "cli-tool",
22
40
  },
23
41
  {
24
- key: "streaming-viewer",
25
- label: "Streaming viewer",
26
- description: "Live stream list with chat + metrics",
27
- dir: "streaming-viewer",
42
+ key: "animation-lab",
43
+ label: "Declarative Animation Lab",
44
+ description: "Responsive animation playground showcasing transition/spring/sequence/stagger hooks",
45
+ safetyTag: "safe-default",
46
+ safetyNote: "Visual-first starter with moderate CPU usage and deterministic animation targets.",
47
+ highlights: [
48
+ "reactor command deck combining canvas visuals, charts, gauges, and staggered module rails",
49
+ "keyboard-driven autoplay + vector nudging + burst impulses with resize-aware layout adaptation",
50
+ ],
51
+ dir: "animation-lab",
52
+ },
53
+ {
54
+ key: "minimal",
55
+ label: "Minimal Utility TUI",
56
+ description: "Single-screen starter for focused tools with essential patterns only",
57
+ safetyTag: "safe-default",
58
+ safetyNote: "Small footprint template intended for quick utility workflows.",
59
+ highlights: [
60
+ "single-screen state flow with keybindings, theme cycling, and inline error handling",
61
+ "lean multi-file structure plus reducer/render/keybinding test examples",
62
+ ],
63
+ dir: "minimal",
64
+ },
65
+ {
66
+ key: "starship",
67
+ label: "Starship Command Console",
68
+ description: "Multi-deck command console showcasing routing, animation, charts, forms, and the full widget catalog",
69
+ safetyTag: "safe-default",
70
+ safetyNote: "Feature-rich showcase template with moderate CPU usage from animation hooks and live telemetry.",
71
+ highlights: [
72
+ "six-screen bridge with routing, animated gauges, live telemetry charts, and crew management",
73
+ "command palette, modal dialogs, toast notifications, forms, split panes, canvas, and theme cycling with keybinding modes",
74
+ ],
75
+ dir: "starship",
28
76
  },
29
77
  ];
30
78
  const TEMPLATE_BY_KEY = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template]));
79
+ const TEMPLATE_ALIASES = new Map(TEMPLATE_DEFINITIONS.map((template) => [template.key, template.key]));
80
+ TEMPLATE_ALIASES.set("dash", "dashboard");
81
+ TEMPLATE_ALIASES.set("stress", "stress-test");
82
+ TEMPLATE_ALIASES.set("chaos", "stress-test");
83
+ TEMPLATE_ALIASES.set("bench", "stress-test");
84
+ TEMPLATE_ALIASES.set("cli", "cli-tool");
85
+ TEMPLATE_ALIASES.set("tool", "cli-tool");
86
+ TEMPLATE_ALIASES.set("multiscreen", "cli-tool");
87
+ TEMPLATE_ALIASES.set("animation", "animation-lab");
88
+ TEMPLATE_ALIASES.set("anim", "animation-lab");
89
+ TEMPLATE_ALIASES.set("lab", "animation-lab");
90
+ TEMPLATE_ALIASES.set("motion", "animation-lab");
91
+ TEMPLATE_ALIASES.set("mini", "minimal");
92
+ TEMPLATE_ALIASES.set("basic", "minimal");
93
+ TEMPLATE_ALIASES.set("utility", "minimal");
94
+ TEMPLATE_ALIASES.set("ship", "starship");
95
+ TEMPLATE_ALIASES.set("bridge", "starship");
96
+ TEMPLATE_ALIASES.set("command", "starship");
31
97
  const PACKAGE_NAME_RE = /^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/;
32
98
  export function normalizeTemplateName(value) {
33
99
  const cleaned = value.trim().toLowerCase();
34
100
  if (!cleaned)
35
101
  return null;
36
102
  const slug = cleaned.replace(/[\s_]+/g, "-");
37
- switch (slug) {
38
- case "dashboard":
39
- return "dashboard";
40
- case "form":
41
- case "form-app":
42
- case "formapp":
43
- return "form-app";
44
- case "file":
45
- case "files":
46
- case "file-browser":
47
- case "filebrowser":
48
- return "file-browser";
49
- case "stream":
50
- case "streaming":
51
- case "streaming-viewer":
52
- case "streamingviewer":
53
- return "streaming-viewer";
54
- default:
55
- return TEMPLATE_BY_KEY.has(slug) ? slug : null;
56
- }
103
+ const normalized = TEMPLATE_ALIASES.get(slug);
104
+ if (normalized)
105
+ return normalized;
106
+ const compact = slug.replace(/-/g, "");
107
+ return TEMPLATE_ALIASES.get(compact) ?? null;
57
108
  }
58
109
  export function toDisplayName(value) {
59
110
  const name = value.trim();
@@ -1 +1 @@
1
- {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../src/scaffold.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "create-rezi",
3
- "version": "0.1.0-alpha.6",
3
+ "version": "0.1.0-alpha.60",
4
4
  "description": "Scaffold a Rezi terminal UI app.",
5
5
  "license": "Apache-2.0",
6
- "homepage": "https://rtlzeromemory.github.io/Rezi/",
6
+ "homepage": "https://rezitui.dev",
7
7
  "repository": {
8
8
  "type": "git",
9
9
  "url": "git+https://github.com/RtlZeroMemory/Rezi.git",
@@ -19,12 +19,15 @@
19
19
  "files": [
20
20
  "dist/",
21
21
  "templates/",
22
- "README.md"
22
+ "README.md",
23
+ "!dist/**/__tests__/**",
24
+ "!dist/**/__e2e__/**"
23
25
  ],
24
26
  "engines": {
25
- "node": ">=18"
27
+ "node": ">=18",
28
+ "bun": ">=1.3.0"
26
29
  },
27
30
  "devDependencies": {
28
- "@rezi-ui/testkit": "0.1.0-alpha.6"
31
+ "@rezi-ui/testkit": "0.1.0-alpha.60"
29
32
  }
30
33
  }
@@ -0,0 +1,45 @@
1
+ # __APP_NAME__
2
+
3
+ Scaffolded with `create-rezi` using the **__TEMPLATE_LABEL__** template.
4
+
5
+ ## What This Template Demonstrates
6
+
7
+ - Declarative animation hooks with first-class primitives: `useTransition`, `useSpring`, `useSequence`, `useStagger`.
8
+ - Built-in easing presets in action (`linear`, quad, and cubic families).
9
+ - Canvas-driven reactor visualization combined with charts, gauges, and staggered module rails.
10
+ - Reducer-managed animation targets with deterministic tick updates.
11
+ - Responsive layout that adapts to terminal resize events.
12
+ - Keyboard controls for autoplay, single-step, vector tuning, burst impulses, phase cycling, and theme cycling.
13
+
14
+ ## File Layout
15
+
16
+ - `src/types.ts`: animation state and action contracts.
17
+ - `src/theme.ts`: template identity + built-in theme catalog.
18
+ - `src/helpers/state.ts`: viewport normalization + reducer transitions.
19
+ - `src/helpers/keybindings.ts`: key to command resolver.
20
+ - `src/screens/reactor-lab.ts`: reactor field screen renderer.
21
+ - `src/main.ts`: app bootstrap, resize handling, animation loop.
22
+ - `src/__tests__/`: reducer, render, and keybinding examples.
23
+
24
+ ## Quickstart
25
+
26
+ ```bash
27
+ # npm
28
+ npm install
29
+ npm run start
30
+
31
+ # bun
32
+ bun install
33
+ bun run start
34
+ ```
35
+
36
+ ## Controls
37
+
38
+ - `q` or `ctrl+c`: Quit
39
+ - `space` or `p`: Toggle autoplay
40
+ - `enter`: Step one tick
41
+ - Arrow keys: Nudge drift/flux/orbit vectors
42
+ - `b`: Burst impulse
43
+ - `r`: Randomized retarget
44
+ - `m`: Cycle phase
45
+ - `t`: Cycle theme preset
@@ -6,11 +6,13 @@
6
6
  "scripts": {
7
7
  "start": "tsx src/main.ts",
8
8
  "dev": "tsx watch src/main.ts",
9
- "typecheck": "tsc --noEmit"
9
+ "build": "tsc --pretty false",
10
+ "typecheck": "tsc --noEmit",
11
+ "test": "tsx --test src/__tests__/*.test.ts"
10
12
  },
11
13
  "dependencies": {
12
- "@rezi-ui/core": "^0.1.0-alpha.0",
13
- "@rezi-ui/node": "^0.1.0-alpha.0"
14
+ "@rezi-ui/core": "0.1.0-alpha.60",
15
+ "@rezi-ui/node": "0.1.0-alpha.60"
14
16
  },
15
17
  "devDependencies": {
16
18
  "@types/node": "^22.13.1",
@@ -0,0 +1,14 @@
1
+ import assert from "node:assert/strict";
2
+ import test from "node:test";
3
+ import { resolveAnimationLabCommand } from "../helpers/keybindings.js";
4
+
5
+ test("animation lab keybinding map resolves expected commands", () => {
6
+ assert.equal(resolveAnimationLabCommand("q"), "quit");
7
+ assert.equal(resolveAnimationLabCommand("space"), "toggle-autoplay");
8
+ assert.equal(resolveAnimationLabCommand("enter"), "step");
9
+ assert.equal(resolveAnimationLabCommand("right"), "nudge-right");
10
+ assert.equal(resolveAnimationLabCommand("b"), "burst");
11
+ assert.equal(resolveAnimationLabCommand("m"), "cycle-phase");
12
+ assert.equal(resolveAnimationLabCommand("t"), "cycle-theme");
13
+ assert.equal(resolveAnimationLabCommand("x"), undefined);
14
+ });