@zigrivers/scaffold 3.12.0 → 3.13.0

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 (101) hide show
  1. package/README.md +2 -2
  2. package/dist/cli/commands/build.test.js +1 -0
  3. package/dist/cli/commands/build.test.js.map +1 -1
  4. package/dist/cli/commands/init.d.ts.map +1 -1
  5. package/dist/cli/commands/init.js +88 -77
  6. package/dist/cli/commands/init.js.map +1 -1
  7. package/dist/cli/commands/init.test.js +30 -0
  8. package/dist/cli/commands/init.test.js.map +1 -1
  9. package/dist/cli/commands/knowledge.test.js +1 -0
  10. package/dist/cli/commands/knowledge.test.js.map +1 -1
  11. package/dist/cli/commands/run.test.js +1 -0
  12. package/dist/cli/commands/run.test.js.map +1 -1
  13. package/dist/cli/commands/skip.test.js +1 -0
  14. package/dist/cli/commands/skip.test.js.map +1 -1
  15. package/dist/cli/output/auto.d.ts +19 -6
  16. package/dist/cli/output/auto.d.ts.map +1 -1
  17. package/dist/cli/output/auto.js +10 -6
  18. package/dist/cli/output/auto.js.map +1 -1
  19. package/dist/cli/output/context.d.ts +23 -5
  20. package/dist/cli/output/context.d.ts.map +1 -1
  21. package/dist/cli/output/context.js.map +1 -1
  22. package/dist/cli/output/context.test.js +585 -0
  23. package/dist/cli/output/context.test.js.map +1 -1
  24. package/dist/cli/output/error-display.test.js +1 -0
  25. package/dist/cli/output/error-display.test.js.map +1 -1
  26. package/dist/cli/output/interactive.d.ts +19 -6
  27. package/dist/cli/output/interactive.d.ts.map +1 -1
  28. package/dist/cli/output/interactive.js +165 -59
  29. package/dist/cli/output/interactive.js.map +1 -1
  30. package/dist/cli/output/json.d.ts +19 -6
  31. package/dist/cli/output/json.d.ts.map +1 -1
  32. package/dist/cli/output/json.js +10 -6
  33. package/dist/cli/output/json.js.map +1 -1
  34. package/dist/core/assembly/overlay-state-resolver.test.js +1 -0
  35. package/dist/core/assembly/overlay-state-resolver.test.js.map +1 -1
  36. package/dist/e2e/game-pipeline.test.js +1 -0
  37. package/dist/e2e/game-pipeline.test.js.map +1 -1
  38. package/dist/e2e/init.test.js +1 -0
  39. package/dist/e2e/init.test.js.map +1 -1
  40. package/dist/e2e/project-type-overlays.test.js +1 -0
  41. package/dist/e2e/project-type-overlays.test.js.map +1 -1
  42. package/dist/wizard/copy/backend.d.ts +3 -0
  43. package/dist/wizard/copy/backend.d.ts.map +1 -0
  44. package/dist/wizard/copy/backend.js +49 -0
  45. package/dist/wizard/copy/backend.js.map +1 -0
  46. package/dist/wizard/copy/browser-extension.d.ts +3 -0
  47. package/dist/wizard/copy/browser-extension.d.ts.map +1 -0
  48. package/dist/wizard/copy/browser-extension.js +35 -0
  49. package/dist/wizard/copy/browser-extension.js.map +1 -0
  50. package/dist/wizard/copy/cli.d.ts +3 -0
  51. package/dist/wizard/copy/cli.d.ts.map +1 -0
  52. package/dist/wizard/copy/cli.js +40 -0
  53. package/dist/wizard/copy/cli.js.map +1 -0
  54. package/dist/wizard/copy/core.d.ts +3 -0
  55. package/dist/wizard/copy/core.d.ts.map +1 -0
  56. package/dist/wizard/copy/core.js +52 -0
  57. package/dist/wizard/copy/core.js.map +1 -0
  58. package/dist/wizard/copy/data-pipeline.d.ts +3 -0
  59. package/dist/wizard/copy/data-pipeline.d.ts.map +1 -0
  60. package/dist/wizard/copy/data-pipeline.js +66 -0
  61. package/dist/wizard/copy/data-pipeline.js.map +1 -0
  62. package/dist/wizard/copy/game.d.ts +3 -0
  63. package/dist/wizard/copy/game.d.ts.map +1 -0
  64. package/dist/wizard/copy/game.js +115 -0
  65. package/dist/wizard/copy/game.js.map +1 -0
  66. package/dist/wizard/copy/index.d.ts +8 -0
  67. package/dist/wizard/copy/index.d.ts.map +1 -0
  68. package/dist/wizard/copy/index.js +32 -0
  69. package/dist/wizard/copy/index.js.map +1 -0
  70. package/dist/wizard/copy/library.d.ts +3 -0
  71. package/dist/wizard/copy/library.d.ts.map +1 -0
  72. package/dist/wizard/copy/library.js +44 -0
  73. package/dist/wizard/copy/library.js.map +1 -0
  74. package/dist/wizard/copy/ml.d.ts +3 -0
  75. package/dist/wizard/copy/ml.d.ts.map +1 -0
  76. package/dist/wizard/copy/ml.js +45 -0
  77. package/dist/wizard/copy/ml.js.map +1 -0
  78. package/dist/wizard/copy/mobile-app.d.ts +3 -0
  79. package/dist/wizard/copy/mobile-app.d.ts.map +1 -0
  80. package/dist/wizard/copy/mobile-app.js +45 -0
  81. package/dist/wizard/copy/mobile-app.js.map +1 -0
  82. package/dist/wizard/copy/types.d.ts +60 -0
  83. package/dist/wizard/copy/types.d.ts.map +1 -0
  84. package/dist/wizard/copy/types.js +2 -0
  85. package/dist/wizard/copy/types.js.map +1 -0
  86. package/dist/wizard/copy/types.test-d.d.ts +2 -0
  87. package/dist/wizard/copy/types.test-d.d.ts.map +1 -0
  88. package/dist/wizard/copy/types.test-d.js +36 -0
  89. package/dist/wizard/copy/types.test-d.js.map +1 -0
  90. package/dist/wizard/copy/web-app.d.ts +3 -0
  91. package/dist/wizard/copy/web-app.d.ts.map +1 -0
  92. package/dist/wizard/copy/web-app.js +46 -0
  93. package/dist/wizard/copy/web-app.js.map +1 -0
  94. package/dist/wizard/questions.d.ts.map +1 -1
  95. package/dist/wizard/questions.js +87 -53
  96. package/dist/wizard/questions.js.map +1 -1
  97. package/dist/wizard/questions.test.js +3 -2
  98. package/dist/wizard/questions.test.js.map +1 -1
  99. package/dist/wizard/wizard.test.js +70 -0
  100. package/dist/wizard/wizard.test.js.map +1 -1
  101. package/package.json +1 -1
@@ -1,10 +1,18 @@
1
1
  import { GameConfigSchema, ProjectTypeSchema } from '../config/schema.js';
2
+ import { coreCopy, getCopyForType, optionsFromCopy } from './copy/index.js';
2
3
  /**
3
4
  * Ask user the wizard questions interactively.
4
5
  * In auto mode, use defaults immediately.
5
6
  */
6
7
  export async function askWizardQuestions(options) {
7
8
  const { output, suggestion, auto } = options;
9
+ let bannerShown = false;
10
+ function showBannerOnce() {
11
+ if (!bannerShown && !auto && output.supportsInteractivePrompts()) {
12
+ output.info('Tip: Type ? at any choice prompt to see help.');
13
+ bannerShown = true;
14
+ }
15
+ }
8
16
  // Methodology question (skip if --methodology was provided)
9
17
  let methodology = suggestion;
10
18
  if (options.methodology) {
@@ -12,7 +20,7 @@ export async function askWizardQuestions(options) {
12
20
  }
13
21
  else if (!auto) {
14
22
  // In interactive mode, ask via OutputContext.prompt
15
- const answer = await output.prompt(`Select methodology (deep/mvp/custom) [${suggestion}]:`, suggestion);
23
+ const answer = await output.prompt(`Select methodology (deep/mvp/custom) [${suggestion}]:`, suggestion, coreCopy.methodology);
16
24
  if (['deep', 'mvp', 'custom'].includes(answer)) {
17
25
  methodology = answer;
18
26
  }
@@ -24,7 +32,7 @@ export async function askWizardQuestions(options) {
24
32
  depth = options.depth;
25
33
  }
26
34
  else if (methodology === 'custom' && !auto) {
27
- const depthStr = await output.prompt('Depth (1-5) [3]:', '3');
35
+ const depthStr = await output.prompt('Depth (1-5) [3]:', '3', coreCopy.depth);
28
36
  const parsed = parseInt(depthStr);
29
37
  if (parsed >= 1 && parsed <= 5)
30
38
  depth = parsed;
@@ -36,10 +44,10 @@ export async function askWizardQuestions(options) {
36
44
  }
37
45
  else if (!auto) {
38
46
  platforms = ['claude-code'];
39
- const addCodex = await output.confirm('Include Codex adapter?', false);
47
+ const addCodex = await output.confirm('Include Codex adapter?', false, coreCopy.codexAdapter);
40
48
  if (addCodex)
41
49
  platforms.push('codex');
42
- const addGemini = await output.confirm('Include Gemini adapter?', false);
50
+ const addGemini = await output.confirm('Include Gemini adapter?', false, coreCopy.geminiAdapter);
43
51
  if (addGemini)
44
52
  platforms.push('gemini');
45
53
  }
@@ -53,10 +61,10 @@ export async function askWizardQuestions(options) {
53
61
  }
54
62
  else if (!auto) {
55
63
  traits = [];
56
- const isWeb = await output.confirm('Is this a web application?', false);
64
+ const isWeb = await output.confirm('Is this a web application?', false, coreCopy.webTrait);
57
65
  if (isWeb)
58
66
  traits.push('web');
59
- const isMobile = await output.confirm('Is this a mobile application?', false);
67
+ const isMobile = await output.confirm('Is this a mobile application?', false, coreCopy.mobileTrait);
60
68
  if (isMobile)
61
69
  traits.push('mobile');
62
70
  }
@@ -69,42 +77,48 @@ export async function askWizardQuestions(options) {
69
77
  projectType = options.projectType;
70
78
  }
71
79
  else if (!auto) {
72
- const selected = await output.select('What type of project is this?', [...ProjectTypeSchema.options], 'web-app');
80
+ showBannerOnce();
81
+ const ptCopy = coreCopy.projectType;
82
+ const selected = await output.select('What type of project is this?', optionsFromCopy(ptCopy.options, [...ProjectTypeSchema.options]), 'web-app', ptCopy);
73
83
  projectType = selected;
74
84
  }
75
85
  // Web-App configuration
76
86
  let webAppConfig;
77
87
  if (projectType === 'web-app') {
88
+ const copy = getCopyForType('web-app');
89
+ showBannerOnce();
78
90
  if (auto && !options.webAppFlags?.webRendering) {
79
91
  throw new Error('--web-rendering is required in auto mode for web-app projects');
80
92
  }
81
93
  const renderingStrategy = options.webAppFlags?.webRendering
82
- ?? await output.select('Rendering strategy?', ['spa', 'ssr', 'ssg', 'hybrid']);
94
+ ?? await output.select('Rendering strategy?', optionsFromCopy(copy.renderingStrategy.options, ['spa', 'ssr', 'ssg', 'hybrid']), undefined, copy.renderingStrategy);
83
95
  const deployTarget = options.webAppFlags?.webDeployTarget
84
96
  ?? (!auto
85
- ? await output.select('Deploy target?', ['static', 'serverless', 'container', 'edge', 'long-running'], 'serverless')
97
+ ? await output.select('Deploy target?', optionsFromCopy(copy.deployTarget.options, ['static', 'serverless', 'container', 'edge', 'long-running']), 'serverless', copy.deployTarget)
86
98
  : 'serverless');
87
99
  const realtime = options.webAppFlags?.webRealtime
88
100
  ?? (!auto
89
- ? await output.select('Real-time needs?', ['none', 'websocket', 'sse'], 'none')
101
+ ? await output.select('Real-time needs?', optionsFromCopy(copy.realtime.options, ['none', 'websocket', 'sse']), 'none', copy.realtime)
90
102
  : 'none');
91
103
  const authFlow = options.webAppFlags?.webAuthFlow
92
104
  ?? (!auto
93
- ? await output.select('How do users authenticate?', ['none', 'session', 'oauth', 'passkey'], 'none')
105
+ ? await output.select('How do users authenticate?', optionsFromCopy(copy.authFlow.options, ['none', 'session', 'oauth', 'passkey']), 'none', copy.authFlow)
94
106
  : 'none');
95
107
  webAppConfig = { renderingStrategy, deployTarget, realtime, authFlow };
96
108
  }
97
109
  // Backend configuration
98
110
  let backendConfig;
99
111
  if (projectType === 'backend') {
112
+ const copy = getCopyForType('backend');
113
+ showBannerOnce();
100
114
  if (auto && !options.backendFlags?.backendApiStyle) {
101
115
  throw new Error('--backend-api-style is required in auto mode for backend projects');
102
116
  }
103
117
  const apiStyle = options.backendFlags?.backendApiStyle
104
- ?? await output.select('API style?', ['rest', 'graphql', 'grpc', 'trpc', 'none']);
118
+ ?? await output.select('API style?', optionsFromCopy(copy.apiStyle.options, ['rest', 'graphql', 'grpc', 'trpc', 'none']), undefined, copy.apiStyle);
105
119
  const dataStore = options.backendFlags?.backendDataStore
106
120
  ?? (!auto
107
- ? await output.multiSelect('Data store(s)?', ['relational', 'document', 'key-value'], ['relational'])
121
+ ? await output.multiSelect('Data store(s)?', optionsFromCopy(copy.dataStore.options, ['relational', 'document', 'key-value']), ['relational'], copy.dataStore)
108
122
  : ['relational']);
109
123
  let authMechanism;
110
124
  if (apiStyle === 'none') {
@@ -116,161 +130,179 @@ export async function askWizardQuestions(options) {
116
130
  else {
117
131
  authMechanism = options.backendFlags?.backendAuth
118
132
  ?? (!auto
119
- ? await output.select('How does the API verify requests?', ['none', 'jwt', 'session', 'oauth', 'apikey'], 'none')
133
+ ? await output.select('How does the API verify requests?', optionsFromCopy(copy.authMechanism.options, ['none', 'jwt', 'session', 'oauth', 'apikey']), 'none', copy.authMechanism)
120
134
  : 'none');
121
135
  }
122
136
  const asyncMessaging = options.backendFlags?.backendMessaging
123
137
  ?? (!auto
124
- ? await output.select('Async messaging?', ['none', 'queue', 'event-driven'], 'none')
138
+ ? await output.select('Async messaging?', optionsFromCopy(copy.asyncMessaging.options, ['none', 'queue', 'event-driven']), 'none', copy.asyncMessaging)
125
139
  : 'none');
126
140
  const deployTarget = options.backendFlags?.backendDeployTarget
127
141
  ?? (!auto
128
- ? await output.select('Deploy target?', ['serverless', 'container', 'long-running'], 'container')
142
+ ? await output.select('Deploy target?', optionsFromCopy(copy.deployTarget.options, ['serverless', 'container', 'long-running']), 'container', copy.deployTarget)
129
143
  : 'container');
130
144
  backendConfig = { apiStyle, dataStore, authMechanism, asyncMessaging, deployTarget };
131
145
  }
132
146
  // CLI configuration
133
147
  let cliConfig;
134
148
  if (projectType === 'cli') {
149
+ const copy = getCopyForType('cli');
150
+ showBannerOnce();
135
151
  if (auto && !options.cliFlags?.cliInteractivity) {
136
152
  throw new Error('--cli-interactivity is required in auto mode for cli projects');
137
153
  }
138
154
  const interactivity = options.cliFlags?.cliInteractivity
139
- ?? await output.select('Interactivity model?', ['args-only', 'interactive', 'hybrid']);
155
+ ?? await output.select('Interactivity model?', optionsFromCopy(copy.interactivity.options, ['args-only', 'interactive', 'hybrid']), undefined, copy.interactivity);
140
156
  const distributionChannels = options.cliFlags?.cliDistribution
141
157
  ?? (!auto
142
- ? await output.multiSelect('Distribution channels?', ['package-manager', 'system-package-manager', 'standalone-binary', 'container'], ['package-manager'])
158
+ ? await output.multiSelect('Distribution channels?', optionsFromCopy(copy.distributionChannels.options, [
159
+ 'package-manager', 'system-package-manager', 'standalone-binary', 'container',
160
+ ]), ['package-manager'], copy.distributionChannels)
143
161
  : ['package-manager']);
144
162
  const hasStructuredOutput = options.cliFlags?.cliStructuredOutput
145
- ?? (!auto ? await output.confirm('Support structured output (--json)?', false) : false);
163
+ ?? (!auto ? await output.confirm('Support structured output (--json)?', false, copy.hasStructuredOutput) : false);
146
164
  cliConfig = { interactivity, distributionChannels, hasStructuredOutput };
147
165
  }
148
166
  // Library configuration
149
167
  let libraryConfig;
150
168
  if (projectType === 'library') {
169
+ const copy = getCopyForType('library');
170
+ showBannerOnce();
151
171
  if (auto && !options.libraryFlags?.libVisibility) {
152
172
  throw new Error('--lib-visibility is required in auto mode for library projects');
153
173
  }
154
174
  const visibility = options.libraryFlags?.libVisibility
155
- ?? await output.select('Library visibility?', ['public', 'internal']);
175
+ ?? await output.select('Library visibility?', optionsFromCopy(copy.visibility.options, ['public', 'internal']), undefined, copy.visibility);
156
176
  const runtimeTarget = options.libraryFlags?.libRuntimeTarget
157
177
  ?? (!auto
158
- ? await output.select('Runtime target?', ['node', 'browser', 'isomorphic', 'edge'], 'isomorphic')
178
+ ? await output.select('Runtime target?', optionsFromCopy(copy.runtimeTarget.options, ['node', 'browser', 'isomorphic', 'edge']), 'isomorphic', copy.runtimeTarget)
159
179
  : 'isomorphic');
160
180
  const bundleFormat = options.libraryFlags?.libBundleFormat
161
181
  ?? (!auto
162
- ? await output.select('Bundle format?', ['esm', 'cjs', 'dual', 'unbundled'], 'dual')
182
+ ? await output.select('Bundle format?', optionsFromCopy(copy.bundleFormat.options, ['esm', 'cjs', 'dual', 'unbundled']), 'dual', copy.bundleFormat)
163
183
  : 'dual');
164
184
  const hasTypeDefinitions = options.libraryFlags?.libTypeDefinitions
165
- ?? (!auto ? await output.confirm('Ship type definitions?', true) : true);
185
+ ?? (!auto ? await output.confirm('Ship type definitions?', true, copy.hasTypeDefinitions) : true);
166
186
  const documentationLevel = options.libraryFlags?.libDocLevel
167
187
  ?? (!auto
168
- ? await output.select('Documentation level?', ['none', 'readme', 'api-docs', 'full-site'], 'readme')
188
+ ? await output.select('Documentation level?', optionsFromCopy(copy.documentationLevel.options, ['none', 'readme', 'api-docs', 'full-site']), 'readme', copy.documentationLevel)
169
189
  : 'readme');
170
190
  libraryConfig = { visibility, runtimeTarget, bundleFormat, hasTypeDefinitions, documentationLevel };
171
191
  }
172
192
  // Mobile-app configuration
173
193
  let mobileAppConfig;
174
194
  if (projectType === 'mobile-app') {
195
+ const copy = getCopyForType('mobile-app');
196
+ showBannerOnce();
175
197
  if (auto && !options.mobileAppFlags?.mobilePlatform) {
176
198
  throw new Error('--mobile-platform is required in auto mode for mobile-app projects');
177
199
  }
178
200
  const platform = options.mobileAppFlags?.mobilePlatform
179
- ?? await output.select('Target platform?', ['ios', 'android', 'cross-platform']);
201
+ ?? await output.select('Target platform?', optionsFromCopy(copy.platform.options, ['ios', 'android', 'cross-platform']), undefined, copy.platform);
180
202
  const distributionModel = options.mobileAppFlags?.mobileDistribution
181
203
  ?? (!auto
182
- ? await output.select('Distribution model?', ['public', 'private', 'mixed'], 'public')
204
+ ? await output.select('Distribution model?', optionsFromCopy(copy.distributionModel.options, ['public', 'private', 'mixed']), 'public', copy.distributionModel)
183
205
  : 'public');
184
206
  const offlineSupport = options.mobileAppFlags?.mobileOffline
185
207
  ?? (!auto
186
- ? await output.select('Offline support?', ['none', 'cache', 'offline-first'], 'none')
208
+ ? await output.select('Offline support?', optionsFromCopy(copy.offlineSupport.options, ['none', 'cache', 'offline-first']), 'none', copy.offlineSupport)
187
209
  : 'none');
188
210
  const hasPushNotifications = options.mobileAppFlags?.mobilePushNotifications
189
- ?? (!auto ? await output.confirm('Push notification support?', false) : false);
211
+ ?? (!auto ? await output.confirm('Push notification support?', false, copy.hasPushNotifications) : false);
190
212
  mobileAppConfig = { platform, distributionModel, offlineSupport, hasPushNotifications };
191
213
  }
192
214
  // Data pipeline configuration
193
215
  let dataPipelineConfig;
194
216
  if (projectType === 'data-pipeline') {
217
+ const copy = getCopyForType('data-pipeline');
218
+ showBannerOnce();
195
219
  if (auto && !options.dataPipelineFlags?.pipelineProcessing) {
196
220
  throw new Error('--pipeline-processing is required in auto mode for data-pipeline projects');
197
221
  }
198
222
  const processingModel = options.dataPipelineFlags?.pipelineProcessing
199
- ?? await output.select('Processing model?', ['batch', 'streaming', 'hybrid']);
223
+ ?? await output.select('Processing model?', optionsFromCopy(copy.processingModel.options, ['batch', 'streaming', 'hybrid']), undefined, copy.processingModel);
200
224
  const orchestration = options.dataPipelineFlags?.pipelineOrchestration
201
225
  ?? (!auto
202
- ? await output.select('Orchestration pattern?', ['none', 'dag-based', 'event-driven', 'scheduled'], 'none')
226
+ ? await output.select('Orchestration pattern?', optionsFromCopy(copy.orchestration.options, ['none', 'dag-based', 'event-driven', 'scheduled']), 'none', copy.orchestration)
203
227
  : 'none');
204
228
  const dataQualityStrategy = options.dataPipelineFlags?.pipelineQuality
205
229
  ?? (!auto
206
- ? await output.select('Data quality strategy?', ['none', 'validation', 'testing', 'observability'], 'validation')
230
+ ? await output.select('Data quality strategy?', optionsFromCopy(copy.dataQualityStrategy.options, ['none', 'validation', 'testing', 'observability']), 'validation', copy.dataQualityStrategy)
207
231
  : 'validation');
208
232
  const schemaManagement = options.dataPipelineFlags?.pipelineSchema
209
233
  ?? (!auto
210
- ? await output.select('Schema management?', ['none', 'schema-registry', 'contracts'], 'none')
234
+ ? await output.select('Schema management?', optionsFromCopy(copy.schemaManagement.options, ['none', 'schema-registry', 'contracts']), 'none', copy.schemaManagement)
211
235
  : 'none');
212
236
  const hasDataCatalog = options.dataPipelineFlags?.pipelineCatalog
213
- ?? (!auto ? await output.confirm('Data catalog support?', false) : false);
237
+ ?? (!auto ? await output.confirm('Data catalog support?', false, copy.hasDataCatalog) : false);
214
238
  dataPipelineConfig = { processingModel, orchestration, dataQualityStrategy, schemaManagement, hasDataCatalog };
215
239
  }
216
240
  // ML configuration
217
241
  let mlConfig;
218
242
  if (projectType === 'ml') {
243
+ const copy = getCopyForType('ml');
244
+ showBannerOnce();
219
245
  if (auto && !options.mlFlags?.mlPhase) {
220
246
  throw new Error('--ml-phase is required in auto mode for ml projects');
221
247
  }
222
248
  const projectPhase = options.mlFlags?.mlPhase
223
- ?? await output.select('Project phase?', ['training', 'inference', 'both']);
249
+ ?? await output.select('Project phase?', optionsFromCopy(copy.projectPhase.options, ['training', 'inference', 'both']), undefined, copy.projectPhase);
224
250
  const modelType = options.mlFlags?.mlModelType
225
251
  ?? (!auto
226
- ? await output.select('Model type?', ['classical', 'deep-learning', 'llm'], 'deep-learning')
252
+ ? await output.select('Model type?', optionsFromCopy(copy.modelType.options, ['classical', 'deep-learning', 'llm']), 'deep-learning', copy.modelType)
227
253
  : 'deep-learning');
228
254
  // Default serving pattern depends on project phase to satisfy schema constraints:
229
255
  // training-only requires 'none', inference/both require non-'none'
230
256
  const autoServingDefault = projectPhase === 'training' ? 'none' : 'realtime';
231
257
  const servingPattern = options.mlFlags?.mlServing
232
258
  ?? (!auto
233
- ? await output.select('Serving pattern?', ['none', 'batch', 'realtime', 'edge'], autoServingDefault)
259
+ ? await output.select('Serving pattern?', optionsFromCopy(copy.servingPattern.options, ['none', 'batch', 'realtime', 'edge']), autoServingDefault, copy.servingPattern)
234
260
  : autoServingDefault);
235
261
  const hasExperimentTracking = options.mlFlags?.mlExperimentTracking
236
- ?? (!auto ? await output.confirm('Experiment tracking?', true) : true);
262
+ ?? (!auto ? await output.confirm('Experiment tracking?', true, copy.hasExperimentTracking) : true);
237
263
  mlConfig = { projectPhase, modelType, servingPattern, hasExperimentTracking };
238
264
  }
239
265
  // Browser extension configuration
240
266
  let browserExtensionConfig;
241
267
  if (projectType === 'browser-extension') {
268
+ const copy = getCopyForType('browser-extension');
269
+ showBannerOnce();
242
270
  const manifestVersion = options.browserExtensionFlags?.extManifest
243
271
  ?? (!auto
244
- ? await output.select('Manifest version?', ['2', '3'], '3')
272
+ ? await output.select('Manifest version?', optionsFromCopy(copy.manifestVersion.options, ['2', '3']), '3', copy.manifestVersion)
245
273
  : '3');
246
274
  const uiSurfaces = options.browserExtensionFlags?.extUiSurfaces
247
275
  ?? (!auto
248
- ? await output.multiSelect('UI surfaces?', ['popup', 'options', 'newtab', 'devtools', 'sidepanel'], ['popup'])
276
+ ? await output.multiSelect('UI surfaces?', optionsFromCopy(copy.uiSurfaces.options, ['popup', 'options', 'newtab', 'devtools', 'sidepanel']), ['popup'], copy.uiSurfaces)
249
277
  : ['popup']);
250
278
  const hasContentScript = options.browserExtensionFlags?.extContentScript
251
- ?? (!auto ? await output.confirm('Content script support?', false) : false);
279
+ ?? (!auto ? await output.confirm('Content script support?', false, copy.hasContentScript) : false);
252
280
  const hasBackgroundWorker = options.browserExtensionFlags?.extBackgroundWorker
253
- ?? (!auto ? await output.confirm('Background worker support?', true) : true);
281
+ ?? (!auto ? await output.confirm('Background worker support?', true, copy.hasBackgroundWorker) : true);
254
282
  browserExtensionConfig = { manifestVersion, uiSurfaces, hasContentScript, hasBackgroundWorker };
255
283
  }
256
284
  // Game config questions (only when projectType === 'game')
257
285
  let gameConfig;
258
286
  if (projectType === 'game') {
287
+ const copy = getCopyForType('game');
288
+ showBannerOnce();
259
289
  const gf = options.gameFlags;
260
290
  // Core questions — use flag if provided, else ask (or default in auto mode)
261
291
  const engine = gf?.engine
262
292
  ?? (!auto
263
- ? await output.select('Game engine:', ['unity', 'unreal', 'godot', 'custom'])
293
+ ? await output.select('Game engine:', optionsFromCopy(copy.engine.options, ['unity', 'unreal', 'godot', 'custom']), undefined, copy.engine)
264
294
  : 'custom');
265
295
  // Derive Zod defaults from engine (used for auto mode and advanced defaults)
266
296
  const schemaDefaults = GameConfigSchema.parse({ engine });
267
297
  const multiplayerMode = gf?.multiplayer
268
298
  ?? (!auto
269
- ? await output.select('Multiplayer mode:', ['none', 'local', 'online', 'hybrid'], 'none')
299
+ ? await output.select('Multiplayer mode:', optionsFromCopy(copy.multiplayerMode.options, ['none', 'local', 'online', 'hybrid']), 'none', copy.multiplayerMode)
270
300
  : schemaDefaults.multiplayerMode);
271
301
  const targetPlatforms = gf?.targetPlatforms
272
302
  ?? (!auto
273
- ? await output.multiSelect('Target platforms:', ['pc', 'web', 'ios', 'android', 'ps5', 'xbox', 'switch', 'vr', 'ar'], ['pc'])
303
+ ? await output.multiSelect('Target platforms:', optionsFromCopy(copy.targetPlatforms.options, [
304
+ 'pc', 'web', 'ios', 'android', 'ps5', 'xbox', 'switch', 'vr', 'ar',
305
+ ]), ['pc'], copy.targetPlatforms)
274
306
  : schemaDefaults.targetPlatforms);
275
307
  // Conditional follow-ups
276
308
  let onlineServices;
@@ -278,18 +310,20 @@ export async function askWizardQuestions(options) {
278
310
  onlineServices = gf.onlineServices;
279
311
  }
280
312
  else if ((multiplayerMode === 'online' || multiplayerMode === 'hybrid') && !auto) {
281
- onlineServices = await output.multiSelect('Online services:', ['leaderboards', 'accounts', 'matchmaking', 'live-ops'], []);
313
+ onlineServices = await output.multiSelect('Online services:', optionsFromCopy(copy.onlineServices.options, ['leaderboards', 'accounts', 'matchmaking', 'live-ops']), [], copy.onlineServices);
282
314
  }
283
315
  else {
284
316
  onlineServices = schemaDefaults.onlineServices;
285
317
  }
286
318
  const contentStructure = gf?.contentStructure
287
319
  ?? (!auto
288
- ? await output.select('Content structure:', ['discrete', 'open-world', 'procedural', 'endless', 'mission-based'], 'discrete')
320
+ ? await output.select('Content structure:', optionsFromCopy(copy.contentStructure.options, [
321
+ 'discrete', 'open-world', 'procedural', 'endless', 'mission-based',
322
+ ]), 'discrete', copy.contentStructure)
289
323
  : schemaDefaults.contentStructure);
290
324
  const economy = gf?.economy
291
325
  ?? (!auto
292
- ? await output.select('Economy model:', ['none', 'progression', 'monetized', 'both'], 'none')
326
+ ? await output.select('Economy model:', optionsFromCopy(copy.economy.options, ['none', 'progression', 'monetized', 'both']), 'none', copy.economy)
293
327
  : schemaDefaults.economy);
294
328
  // Advanced options — defaults derived from Zod schema to prevent drift
295
329
  let narrative = gf?.narrative ?? schemaDefaults.narrative;
@@ -301,23 +335,23 @@ export async function askWizardQuestions(options) {
301
335
  const hasAdvancedFlag = gf?.narrative !== undefined || gf?.locales !== undefined ||
302
336
  gf?.npcAi !== undefined || gf?.modding !== undefined || gf?.persistence !== undefined;
303
337
  // Show advanced questions if: any advanced flag is set (force open), or user confirms
304
- const showAdvanced = hasAdvancedFlag || (!auto && await output.confirm('Configure advanced game options?', false));
338
+ const showAdvanced = hasAdvancedFlag || (!auto && await output.confirm('Configure advanced game options?', false, coreCopy.advancedGameGate));
305
339
  if (showAdvanced && !auto) {
306
340
  // Ask each unflagged advanced question interactively
307
341
  if (gf?.narrative === undefined) {
308
- narrative = await output.select('Narrative depth:', ['none', 'light', 'heavy'], 'none');
342
+ narrative = await output.select('Narrative depth:', optionsFromCopy(copy.narrative.options, ['none', 'light', 'heavy']), 'none', copy.narrative);
309
343
  }
310
344
  if (gf?.locales === undefined) {
311
- supportedLocales = await output.multiInput('Supported locales (comma-separated):', ['en']);
345
+ supportedLocales = await output.multiInput('Supported locales (comma-separated):', ['en'], copy.supportedLocales);
312
346
  }
313
347
  if (gf?.npcAi === undefined) {
314
- npcAiComplexity = await output.select('NPC AI complexity:', ['none', 'simple', 'complex'], 'none');
348
+ npcAiComplexity = await output.select('NPC AI complexity:', optionsFromCopy(copy.npcAiComplexity.options, ['none', 'simple', 'complex']), 'none', copy.npcAiComplexity);
315
349
  }
316
350
  if (gf?.modding === undefined) {
317
- hasModding = await output.confirm('Mod support?', false);
351
+ hasModding = await output.confirm('Mod support?', false, copy.hasModding);
318
352
  }
319
353
  if (gf?.persistence === undefined) {
320
- persistence = await output.select('Persistence level:', ['none', 'settings-only', 'profile', 'progression', 'cloud'], 'progression');
354
+ persistence = await output.select('Persistence level:', optionsFromCopy(copy.persistence.options, ['none', 'settings-only', 'profile', 'progression', 'cloud']), 'progression', copy.persistence);
321
355
  }
322
356
  }
323
357
  gameConfig = {
@@ -1 +1 @@
1
- {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/wizard/questions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"questions.js","sourceRoot":"","sources":["../../src/wizard/questions.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ function makeOutputContext() {
7
7
  warn: vi.fn(),
8
8
  error: vi.fn(),
9
9
  result: vi.fn(),
10
+ supportsInteractivePrompts: vi.fn().mockReturnValue(false),
10
11
  prompt: vi.fn().mockResolvedValue(''),
11
12
  confirm: vi.fn(),
12
13
  select: vi.fn().mockResolvedValue(''),
@@ -211,7 +212,7 @@ describe('askWizardQuestions', () => {
211
212
  // engine, multiplayer, contentStructure, economy = 4 calls
212
213
  expect(output.select).toHaveBeenCalledTimes(4);
213
214
  // First select call should be engine, not projectType
214
- expect(output.select).toHaveBeenNthCalledWith(1, 'Game engine:', ['unity', 'unreal', 'godot', 'custom']);
215
+ expect(output.select).toHaveBeenNthCalledWith(1, 'Game engine:', expect.arrayContaining([expect.objectContaining({ value: 'unity' })]), undefined, expect.any(Object));
215
216
  });
216
217
  // --- Task 5: General flag-skip tests ---
217
218
  it('--depth flag overrides depth for custom methodology', async () => {
@@ -323,7 +324,7 @@ describe('askWizardQuestions', () => {
323
324
  // select called 3 times (multiplayer, contentStructure, economy) — engine was skipped
324
325
  expect(output.select).toHaveBeenCalledTimes(3);
325
326
  // First select call should be multiplayer, NOT engine
326
- expect(output.select).toHaveBeenNthCalledWith(1, 'Multiplayer mode:', ['none', 'local', 'online', 'hybrid'], 'none');
327
+ expect(output.select).toHaveBeenNthCalledWith(1, 'Multiplayer mode:', expect.arrayContaining([expect.objectContaining({ value: 'none' })]), 'none', expect.any(Object));
327
328
  });
328
329
  it('--multiplayer flag is used', async () => {
329
330
  const output = makeOutputContext();