superspec 0.1.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 (81) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +328 -0
  3. package/dist/cli/commands/archive.d.ts +7 -0
  4. package/dist/cli/commands/archive.d.ts.map +1 -0
  5. package/dist/cli/commands/archive.js +322 -0
  6. package/dist/cli/commands/archive.js.map +1 -0
  7. package/dist/cli/commands/init.d.ts +6 -0
  8. package/dist/cli/commands/init.d.ts.map +1 -0
  9. package/dist/cli/commands/init.js +306 -0
  10. package/dist/cli/commands/init.js.map +1 -0
  11. package/dist/cli/commands/list.d.ts +9 -0
  12. package/dist/cli/commands/list.d.ts.map +1 -0
  13. package/dist/cli/commands/list.js +268 -0
  14. package/dist/cli/commands/list.js.map +1 -0
  15. package/dist/cli/commands/show.d.ts +6 -0
  16. package/dist/cli/commands/show.d.ts.map +1 -0
  17. package/dist/cli/commands/show.js +273 -0
  18. package/dist/cli/commands/show.js.map +1 -0
  19. package/dist/cli/commands/validate.d.ts +8 -0
  20. package/dist/cli/commands/validate.d.ts.map +1 -0
  21. package/dist/cli/commands/validate.js +209 -0
  22. package/dist/cli/commands/validate.js.map +1 -0
  23. package/dist/cli/commands/verify.d.ts +7 -0
  24. package/dist/cli/commands/verify.d.ts.map +1 -0
  25. package/dist/cli/commands/verify.js +328 -0
  26. package/dist/cli/commands/verify.js.map +1 -0
  27. package/dist/cli/commands/view.d.ts +6 -0
  28. package/dist/cli/commands/view.d.ts.map +1 -0
  29. package/dist/cli/commands/view.js +290 -0
  30. package/dist/cli/commands/view.js.map +1 -0
  31. package/dist/cli/index.d.ts +3 -0
  32. package/dist/cli/index.d.ts.map +1 -0
  33. package/dist/cli/index.js +87 -0
  34. package/dist/cli/index.js.map +1 -0
  35. package/dist/cli/ui/display.d.ts +189 -0
  36. package/dist/cli/ui/display.d.ts.map +1 -0
  37. package/dist/cli/ui/display.js +449 -0
  38. package/dist/cli/ui/display.js.map +1 -0
  39. package/dist/cli/ui/index.d.ts +12 -0
  40. package/dist/cli/ui/index.d.ts.map +1 -0
  41. package/dist/cli/ui/index.js +71 -0
  42. package/dist/cli/ui/index.js.map +1 -0
  43. package/dist/cli/ui/interactive.d.ts +21 -0
  44. package/dist/cli/ui/interactive.d.ts.map +1 -0
  45. package/dist/cli/ui/interactive.js +60 -0
  46. package/dist/cli/ui/interactive.js.map +1 -0
  47. package/dist/cli/ui/palette.d.ts +301 -0
  48. package/dist/cli/ui/palette.d.ts.map +1 -0
  49. package/dist/cli/ui/palette.js +673 -0
  50. package/dist/cli/ui/palette.js.map +1 -0
  51. package/dist/cli/ui/prompts.d.ts +62 -0
  52. package/dist/cli/ui/prompts.d.ts.map +1 -0
  53. package/dist/cli/ui/prompts.js +119 -0
  54. package/dist/cli/ui/prompts.js.map +1 -0
  55. package/dist/cli/ui/spinner.d.ts +38 -0
  56. package/dist/cli/ui/spinner.d.ts.map +1 -0
  57. package/dist/cli/ui/spinner.js +72 -0
  58. package/dist/cli/ui/spinner.js.map +1 -0
  59. package/dist/core/config/project-config.d.ts +100 -0
  60. package/dist/core/config/project-config.d.ts.map +1 -0
  61. package/dist/core/config/project-config.js +87 -0
  62. package/dist/core/config/project-config.js.map +1 -0
  63. package/dist/core/parsers/spec-parser.d.ts +48 -0
  64. package/dist/core/parsers/spec-parser.d.ts.map +1 -0
  65. package/dist/core/parsers/spec-parser.js +322 -0
  66. package/dist/core/parsers/spec-parser.js.map +1 -0
  67. package/dist/core/validation/spec-validator.d.ts +32 -0
  68. package/dist/core/validation/spec-validator.d.ts.map +1 -0
  69. package/dist/core/validation/spec-validator.js +242 -0
  70. package/dist/core/validation/spec-validator.js.map +1 -0
  71. package/dist/index.d.ts +35 -0
  72. package/dist/index.d.ts.map +1 -0
  73. package/dist/index.js +44 -0
  74. package/dist/index.js.map +1 -0
  75. package/package.json +66 -0
  76. package/schemas/superspec-workflow/schema.yaml +166 -0
  77. package/templates/design.md +71 -0
  78. package/templates/plan.md +78 -0
  79. package/templates/proposal.md +36 -0
  80. package/templates/spec.md +57 -0
  81. package/templates/tasks.md +29 -0
@@ -0,0 +1,449 @@
1
+ /**
2
+ * Display Utilities
3
+ *
4
+ * Enhanced display components for the SuperSpec CLI
5
+ * Follows the "Precision Terminal" design language
6
+ */
7
+ import { PALETTE, BOX, ICONS, sectionHeader, createProgressBar, statusIndicator, formatPath, } from './palette.js';
8
+ // ═══════════════════════════════════════════════════════════════════════════════
9
+ // BASIC DISPLAY FUNCTIONS
10
+ // ═══════════════════════════════════════════════════════════════════════════════
11
+ /**
12
+ * Display a header with decoration
13
+ */
14
+ export function displayHeader(title, subtitle) {
15
+ console.log();
16
+ console.log(` ${ICONS.logo} ${PALETTE.bold(PALETTE.white(title))}`);
17
+ if (subtitle) {
18
+ console.log(` ${PALETTE.dim(subtitle)}`);
19
+ }
20
+ console.log(` ${PALETTE.subtle('─'.repeat(55))}`);
21
+ }
22
+ /**
23
+ * Display a section header
24
+ */
25
+ export function displaySection(title, icon) {
26
+ console.log(sectionHeader(title, icon));
27
+ }
28
+ /**
29
+ * Display an empty line
30
+ */
31
+ export function displayEmptyLine() {
32
+ console.log();
33
+ }
34
+ /**
35
+ * Display a divider line
36
+ */
37
+ export function displayDivider(style = 'normal') {
38
+ const chars = {
39
+ normal: '─',
40
+ light: '┄',
41
+ heavy: '━',
42
+ };
43
+ console.log(` ${PALETTE.subtle(chars[style].repeat(55))}`);
44
+ }
45
+ // ═══════════════════════════════════════════════════════════════════════════════
46
+ // BOX COMPONENTS
47
+ // ═══════════════════════════════════════════════════════════════════════════════
48
+ /**
49
+ * Display a box around content
50
+ */
51
+ export function displayBox(lines, options) {
52
+ const width = options?.width ?? 60;
53
+ const padding = options?.padding ?? 1;
54
+ const style = options?.style ?? 'default';
55
+ const padStr = ' '.repeat(padding);
56
+ const colorFn = {
57
+ default: PALETTE.subtle,
58
+ accent: PALETTE.accent,
59
+ success: PALETTE.success,
60
+ warning: PALETTE.warning,
61
+ error: PALETTE.error,
62
+ }[style];
63
+ // Top border
64
+ if (options?.title) {
65
+ const icon = style === 'success' ? ICONS.success :
66
+ style === 'error' ? ICONS.error :
67
+ style === 'warning' ? ICONS.warning :
68
+ style === 'accent' ? PALETTE.accent('◆') :
69
+ PALETTE.primary('◆');
70
+ const titlePart = ` ${icon} ${PALETTE.bold(PALETTE.white(options.title))} `;
71
+ const titleLen = options.title.length + 5;
72
+ const remainingWidth = width - titleLen - 2;
73
+ const leftLen = Math.floor(remainingWidth / 2);
74
+ const rightLen = remainingWidth - leftLen;
75
+ console.log(colorFn(BOX.topLeft + BOX.horizontal.repeat(leftLen)) +
76
+ titlePart +
77
+ colorFn(BOX.horizontal.repeat(rightLen) + BOX.topRight));
78
+ }
79
+ else {
80
+ console.log(colorFn(BOX.topLeft + BOX.horizontal.repeat(width - 2) + BOX.topRight));
81
+ }
82
+ // Content lines
83
+ for (const line of lines) {
84
+ const contentWidth = width - 2 - (padding * 2);
85
+ // Strip ANSI for length calculation
86
+ const visibleLength = line.replace(/\x1b\[[0-9;]*m/g, '').length;
87
+ const padAmount = Math.max(0, contentWidth - visibleLength);
88
+ console.log(colorFn(BOX.vertical) + padStr + line + ' '.repeat(padAmount) + padStr + colorFn(BOX.vertical));
89
+ }
90
+ // Bottom border
91
+ console.log(colorFn(BOX.bottomLeft + BOX.horizontal.repeat(width - 2) + BOX.bottomRight));
92
+ }
93
+ /**
94
+ * Display an info card (inline key-value with icon)
95
+ */
96
+ export function displayInfoCard(label, value, icon) {
97
+ const iconStr = icon ? `${icon} ` : '';
98
+ console.log(` ${PALETTE.subtle('│')} ${iconStr}${PALETTE.dim(label + ':')} ${PALETTE.white(value)}`);
99
+ }
100
+ // ═══════════════════════════════════════════════════════════════════════════════
101
+ // TABLE COMPONENTS
102
+ // ═══════════════════════════════════════════════════════════════════════════════
103
+ /**
104
+ * Display a styled table
105
+ */
106
+ export function displayTable(headers, rows, options) {
107
+ const indent = ' '.repeat(options?.indent ?? 2);
108
+ const widths = options?.columnWidths ?? headers.map((h, i) => {
109
+ const maxContent = Math.max(h.replace(/\x1b\[[0-9;]*m/g, '').length, ...rows.map(r => (r[i] ?? '').replace(/\x1b\[[0-9;]*m/g, '').length));
110
+ return Math.min(maxContent + 2, 35);
111
+ });
112
+ // Header
113
+ const headerRow = headers.map((h, i) => {
114
+ const w = widths[i] ?? 15;
115
+ return PALETTE.bold(PALETTE.dim(h.padEnd(w)));
116
+ }).join(PALETTE.dark(' │ '));
117
+ console.log(`${indent}${headerRow}`);
118
+ // Separator
119
+ const separator = widths.map(w => PALETTE.dark('─'.repeat(w))).join(PALETTE.dark('─┼─'));
120
+ console.log(`${indent}${separator}`);
121
+ // Rows
122
+ for (const row of rows) {
123
+ const formattedRow = row.map((cell, i) => {
124
+ const w = widths[i] ?? 15;
125
+ const visibleLength = (cell ?? '').replace(/\x1b\[[0-9;]*m/g, '').length;
126
+ const padAmount = Math.max(0, w - visibleLength);
127
+ return (cell ?? '') + ' '.repeat(padAmount);
128
+ }).join(PALETTE.dark(' │ '));
129
+ console.log(`${indent}${formattedRow}`);
130
+ }
131
+ }
132
+ /**
133
+ * Display a simple key-value table
134
+ */
135
+ export function displayKeyValueTable(entries, options) {
136
+ const indent = ' '.repeat(options?.indent ?? 2);
137
+ const keyWidth = options?.keyWidth ?? 20;
138
+ for (const { key, value } of entries) {
139
+ console.log(`${indent}${PALETTE.dim(key.padEnd(keyWidth))} ${value}`);
140
+ }
141
+ }
142
+ // ═══════════════════════════════════════════════════════════════════════════════
143
+ // LIST COMPONENTS
144
+ // ═══════════════════════════════════════════════════════════════════════════════
145
+ /**
146
+ * Display a list with bullets
147
+ */
148
+ export function displayList(items, options) {
149
+ const indent = ' '.repeat(options?.indent ?? 2);
150
+ const style = options?.style ?? 'default';
151
+ items.forEach((item, i) => {
152
+ let prefix;
153
+ if (style === 'numbered') {
154
+ prefix = PALETTE.accent(`${i + 1}.`);
155
+ }
156
+ else if (style === 'checkbox') {
157
+ prefix = PALETTE.dim('☐');
158
+ }
159
+ else {
160
+ prefix = options?.icon ?? PALETTE.primary('›');
161
+ }
162
+ console.log(`${indent}${prefix} ${item}`);
163
+ });
164
+ }
165
+ /**
166
+ * Display a tree structure
167
+ */
168
+ export function displayTree(items, options) {
169
+ const indent = ' '.repeat(options?.indent ?? 2);
170
+ for (let i = 0; i < items.length; i++) {
171
+ const item = items[i];
172
+ const isLast = i === items.length - 1;
173
+ const connector = isLast ? PALETTE.dim('╰─') : PALETTE.dim('├─');
174
+ const itemIcon = item.icon ?? PALETTE.primary('◆');
175
+ console.log(`${indent}${connector} ${itemIcon} ${PALETTE.white(item.name)}`);
176
+ if (item.children && item.children.length > 0) {
177
+ const childIndent = indent + (isLast ? ' ' : PALETTE.dim('│') + ' ');
178
+ for (let j = 0; j < item.children.length; j++) {
179
+ const child = item.children[j];
180
+ const childIsLast = j === item.children.length - 1;
181
+ const childConnector = childIsLast ? PALETTE.dark('╰─') : PALETTE.dark('├─');
182
+ const childIcon = child.icon ?? PALETTE.dim('○');
183
+ console.log(`${childIndent}${childConnector} ${childIcon} ${PALETTE.muted(child.name)}`);
184
+ }
185
+ }
186
+ }
187
+ }
188
+ /**
189
+ * Display a file tree with path formatting
190
+ */
191
+ export function displayFileTree(files, options) {
192
+ const indent = ' '.repeat(options?.indent ?? 2);
193
+ files.forEach((file, i) => {
194
+ const isLast = i === files.length - 1;
195
+ const connector = isLast ? PALETTE.dim('╰─') : PALETTE.dim('├─');
196
+ let icon;
197
+ let pathStyle;
198
+ switch (file.status) {
199
+ case 'added':
200
+ icon = PALETTE.success('+');
201
+ pathStyle = PALETTE.success;
202
+ break;
203
+ case 'modified':
204
+ icon = PALETTE.warning('~');
205
+ pathStyle = PALETTE.warning;
206
+ break;
207
+ case 'removed':
208
+ icon = PALETTE.error('-');
209
+ pathStyle = PALETTE.error;
210
+ break;
211
+ default:
212
+ icon = PALETTE.dim('○');
213
+ pathStyle = (s) => formatPath(s);
214
+ }
215
+ console.log(`${indent}${connector} ${icon} ${pathStyle(file.path)}`);
216
+ });
217
+ }
218
+ // ═══════════════════════════════════════════════════════════════════════════════
219
+ // KEY-VALUE DISPLAY
220
+ // ═══════════════════════════════════════════════════════════════════════════════
221
+ /**
222
+ * Display a key-value pair
223
+ */
224
+ export function displayKeyValue(key, value, options) {
225
+ const keyWidth = options?.keyWidth ?? 15;
226
+ const indent = ' '.repeat(options?.indent ?? 2);
227
+ console.log(`${indent}${PALETTE.dim(key.padEnd(keyWidth))} ${value}`);
228
+ }
229
+ /**
230
+ * Display a labeled value with icon
231
+ */
232
+ export function displayLabeledValue(label, value, icon) {
233
+ const iconStr = icon ? `${icon} ` : ' ';
234
+ console.log(`${iconStr}${PALETTE.dim(label + ':')} ${PALETTE.white(value)}`);
235
+ }
236
+ // ═══════════════════════════════════════════════════════════════════════════════
237
+ // PROGRESS DISPLAY
238
+ // ═══════════════════════════════════════════════════════════════════════════════
239
+ /**
240
+ * Display a progress bar with label
241
+ */
242
+ export function displayProgress(label, current, total, options) {
243
+ const bar = createProgressBar(current, total, {
244
+ width: options?.width ?? 25,
245
+ showCount: options?.showCount ?? true,
246
+ });
247
+ console.log(` ${PALETTE.dim(label.padEnd(15))} ${bar}`);
248
+ }
249
+ /**
250
+ * Display a status line with indicator
251
+ */
252
+ export function displayStatus(label, status) {
253
+ const indicator = statusIndicator(status);
254
+ const statusLabels = {
255
+ success: PALETTE.success('passed'),
256
+ warning: PALETTE.warning('warning'),
257
+ error: PALETTE.error('failed'),
258
+ info: PALETTE.info('info'),
259
+ pending: PALETTE.dim('pending'),
260
+ active: PALETTE.primaryBright('active'),
261
+ };
262
+ console.log(` ${indicator} ${PALETTE.white(label)} ${PALETTE.dim('─')} ${statusLabels[status]}`);
263
+ }
264
+ // ═══════════════════════════════════════════════════════════════════════════════
265
+ // MESSAGE DISPLAY
266
+ // ═══════════════════════════════════════════════════════════════════════════════
267
+ /**
268
+ * Display success message
269
+ */
270
+ export function displaySuccess(message) {
271
+ console.log();
272
+ console.log(` ${ICONS.success} ${PALETTE.success(message)}`);
273
+ }
274
+ /**
275
+ * Display error message
276
+ */
277
+ export function displayError(message) {
278
+ console.log();
279
+ console.log(` ${ICONS.error} ${PALETTE.error(message)}`);
280
+ }
281
+ /**
282
+ * Display warning message
283
+ */
284
+ export function displayWarning(message) {
285
+ console.log();
286
+ console.log(` ${ICONS.warning} ${PALETTE.warning(message)}`);
287
+ }
288
+ /**
289
+ * Display info message
290
+ */
291
+ export function displayInfo(message) {
292
+ console.log();
293
+ console.log(` ${ICONS.info} ${PALETTE.info(message)}`);
294
+ }
295
+ /**
296
+ * Display a tip/hint message
297
+ */
298
+ export function displayTip(message) {
299
+ console.log(` ${PALETTE.accent('💡')} ${PALETTE.dim(message)}`);
300
+ }
301
+ /**
302
+ * Display a note message
303
+ */
304
+ export function displayNote(message) {
305
+ console.log(` ${PALETTE.dim('Note:')} ${PALETTE.muted(message)}`);
306
+ }
307
+ // ═══════════════════════════════════════════════════════════════════════════════
308
+ // SPECIAL DISPLAYS
309
+ // ═══════════════════════════════════════════════════════════════════════════════
310
+ /**
311
+ * Display a workflow phase indicator
312
+ */
313
+ export function displayPhases(phases, currentPhase, options) {
314
+ const indent = ' '.repeat(options?.indent ?? 2);
315
+ const phaseDisplay = phases.map((phase, i) => {
316
+ const num = i + 1;
317
+ if (num < currentPhase) {
318
+ return `${PALETTE.success('●')} ${PALETTE.dim(phase)}`;
319
+ }
320
+ else if (num === currentPhase) {
321
+ return `${PALETTE.accent('●')} ${PALETTE.white(phase)}`;
322
+ }
323
+ else {
324
+ return `${PALETTE.dark('○')} ${PALETTE.dark(phase)}`;
325
+ }
326
+ }).join(PALETTE.dim(' → '));
327
+ console.log(`${indent}${phaseDisplay}`);
328
+ }
329
+ /**
330
+ * Display a summary statistics block
331
+ */
332
+ export function displayStats(stats) {
333
+ const statsLine = stats.map(s => {
334
+ const icon = s.icon ?? '';
335
+ const iconStr = icon ? `${icon} ` : '';
336
+ return `${iconStr}${PALETTE.dim(s.label + ':')} ${PALETTE.white(String(s.value))}`;
337
+ }).join(PALETTE.dark(' │ '));
338
+ console.log(` ${statsLine}`);
339
+ }
340
+ /**
341
+ * Display a command suggestion
342
+ */
343
+ export function displayCommand(cmd, description) {
344
+ const desc = description ? PALETTE.dim(` ─ ${description}`) : '';
345
+ console.log(` ${PALETTE.primary('›')} ${PALETTE.accent(cmd)}${desc}`);
346
+ }
347
+ /**
348
+ * Display next steps
349
+ */
350
+ export function displayNextSteps(steps) {
351
+ console.log(sectionHeader('Next Steps', '→'));
352
+ console.log();
353
+ steps.forEach((step, i) => {
354
+ console.log(` ${PALETTE.accent(`${i + 1}.`)} ${step}`);
355
+ });
356
+ }
357
+ /**
358
+ * Display quick actions
359
+ */
360
+ export function displayQuickActions(actions) {
361
+ console.log(sectionHeader('Quick Actions', '🚀'));
362
+ console.log();
363
+ actions.forEach((action, i) => {
364
+ console.log(` ${PALETTE.accent(`${i + 1}.`)} ${PALETTE.white(action.cmd)} ${PALETTE.dim('─ ' + action.desc)}`);
365
+ });
366
+ }
367
+ // ═══════════════════════════════════════════════════════════════════════════════
368
+ // VALIDATION RESULT DISPLAY
369
+ // ═══════════════════════════════════════════════════════════════════════════════
370
+ /**
371
+ * Display a validation result item
372
+ */
373
+ export function displayValidationItem(name, valid, errors, warnings) {
374
+ const icon = valid ? ICONS.success : ICONS.error;
375
+ const nameStyle = valid ? PALETTE.primaryBright : PALETTE.error;
376
+ console.log(` ${icon} ${nameStyle(name)}`);
377
+ if (errors && errors.length > 0) {
378
+ errors.forEach(err => {
379
+ console.log(` ${PALETTE.error('ERROR')} ${PALETTE.muted(err)}`);
380
+ });
381
+ }
382
+ if (warnings && warnings.length > 0) {
383
+ warnings.forEach(warn => {
384
+ console.log(` ${PALETTE.warning('WARN')} ${PALETTE.muted(warn)}`);
385
+ });
386
+ }
387
+ }
388
+ /**
389
+ * Display validation summary
390
+ */
391
+ export function displayValidationSummary(passed, total, hasErrors) {
392
+ console.log();
393
+ const bar = createProgressBar(passed, total, { width: 25 });
394
+ console.log(` ${PALETTE.dim('Validation:')} ${bar} ${passed}/${total}`);
395
+ console.log();
396
+ if (hasErrors) {
397
+ console.log(` ${ICONS.error} ${PALETTE.bold(PALETTE.error('Validation FAILED'))}`);
398
+ }
399
+ else {
400
+ console.log(` ${ICONS.success} ${PALETTE.bold(PALETTE.success('Validation PASSED'))}`);
401
+ }
402
+ }
403
+ // ═══════════════════════════════════════════════════════════════════════════════
404
+ // CARD DISPLAYS
405
+ // ═══════════════════════════════════════════════════════════════════════════════
406
+ /**
407
+ * Display a change card (for list command)
408
+ */
409
+ export function displayChangeCard(options) {
410
+ const { id, title, status, phase, progress, specs } = options;
411
+ const statusIcon = statusIndicator(status === 'active' ? 'active' :
412
+ status === 'draft' ? 'pending' :
413
+ status === 'completed' ? 'success' : 'info');
414
+ console.log(` ${PALETTE.subtle('┌─')} ${statusIcon} ${PALETTE.bold(PALETTE.white(id))}`);
415
+ if (title && title !== id) {
416
+ console.log(` ${PALETTE.subtle('│')} ${PALETTE.dim(title)}`);
417
+ }
418
+ if (phase) {
419
+ console.log(` ${PALETTE.subtle('│')} ${PALETTE.dim('Phase:')} ${PALETTE.accent(phase)}`);
420
+ }
421
+ if (progress) {
422
+ const bar = createProgressBar(progress.current, progress.total, { width: 15 });
423
+ console.log(` ${PALETTE.subtle('│')} ${bar}`);
424
+ }
425
+ if (specs !== undefined) {
426
+ console.log(` ${PALETTE.subtle('│')} ${PALETTE.dim('Specs:')} ${PALETTE.white(String(specs))}`);
427
+ }
428
+ console.log(` ${PALETTE.subtle('└─')}`);
429
+ }
430
+ /**
431
+ * Display a spec card (for list command)
432
+ */
433
+ export function displaySpecCard(options) {
434
+ const { name, path, requirements, scenarios } = options;
435
+ console.log(` ${PALETTE.subtle('┌─')} ${ICONS.spec} ${PALETTE.bold(PALETTE.primaryBright(name))}`);
436
+ if (path) {
437
+ console.log(` ${PALETTE.subtle('│')} ${formatPath(path)}`);
438
+ }
439
+ const stats = [];
440
+ if (requirements !== undefined)
441
+ stats.push(`${requirements} requirements`);
442
+ if (scenarios !== undefined)
443
+ stats.push(`${scenarios} scenarios`);
444
+ if (stats.length > 0) {
445
+ console.log(` ${PALETTE.subtle('│')} ${PALETTE.dim(stats.join(' · '))}`);
446
+ }
447
+ console.log(` ${PALETTE.subtle('└─')}`);
448
+ }
449
+ //# sourceMappingURL=display.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"display.js","sourceRoot":"","sources":["../../../src/cli/ui/display.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CLI UI Module
3
+ *
4
+ * Re-exports all UI components for easy importing
5
+ * Design System: "Precision Terminal"
6
+ */
7
+ export { PALETTE, SYMBOLS, ICONS, BOX, LINES, BANNER, MINI_BANNER, INLINE_LOGO, createProgressBar, statusBadge, statusIndicator, phaseIndicator, commandHeader, sectionHeader, sectionDivider, subsectionDivider, styledBox, infoCard, listItem, numberedItem, taskItem, keyHint, keyHints, commandHint, tableRow, tableHeader, highlight, truncate, formatPath, formatDate, formatSize, successMessage, errorMessage, warningMessage, infoMessage, tipMessage, changeCard, specCard, quickActions, nextSteps, } from './palette.js';
8
+ export { isInteractive, requireInteractive, shouldUseColor, type InteractiveOptions, } from './interactive.js';
9
+ export { startSpinner, spinnerSuccess, spinnerFail, spinnerWarn, spinnerInfo, withSpinner, } from './spinner.js';
10
+ export { selectPrompt, confirmPrompt, inputPrompt, checkboxPrompt, selectChange, selectSpec, selectItemType, confirmDangerous, type SelectChoice, } from './prompts.js';
11
+ export { displayHeader, displaySection, displayEmptyLine, displayDivider, displayBox, displayInfoCard, displayTable, displayKeyValueTable, displayList, displayTree, displayFileTree, displayKeyValue, displayLabeledValue, displayProgress, displayStatus, displaySuccess, displayError, displayWarning, displayInfo, displayTip, displayNote, displayPhases, displayStats, displayCommand, displayNextSteps, displayQuickActions, displayValidationItem, displayValidationSummary, displayChangeCard, displaySpecCard, } from './display.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAEL,OAAO,EACP,OAAO,EACP,KAAK,EACL,GAAG,EACH,KAAK,EAGL,MAAM,EACN,WAAW,EACX,WAAW,EAGX,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc,EAGd,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB,EAGjB,SAAS,EACT,QAAQ,EAGR,QAAQ,EACR,YAAY,EACZ,QAAQ,EAGR,OAAO,EACP,QAAQ,EACR,WAAW,EAGX,QAAQ,EACR,WAAW,EAGX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU,EAGV,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EAGV,UAAU,EACV,QAAQ,EAGR,YAAY,EACZ,SAAS,GACV,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,KAAK,kBAAkB,GACxB,MAAM,kBAAkB,CAAC;AAM1B,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAMtB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,KAAK,YAAY,GAClB,MAAM,cAAc,CAAC;AAMtB,OAAO,EAEL,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc,EAGd,UAAU,EACV,eAAe,EAGf,YAAY,EACZ,oBAAoB,EAGpB,WAAW,EACX,WAAW,EACX,eAAe,EAGf,eAAe,EACf,mBAAmB,EAGnB,eAAe,EACf,aAAa,EAGb,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW,EAGX,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,mBAAmB,EAGnB,qBAAqB,EACrB,wBAAwB,EAGxB,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * CLI UI Module
3
+ *
4
+ * Re-exports all UI components for easy importing
5
+ * Design System: "Precision Terminal"
6
+ */
7
+ // ═══════════════════════════════════════════════════════════════════════════════
8
+ // PALETTE & STYLING
9
+ // ═══════════════════════════════════════════════════════════════════════════════
10
+ export {
11
+ // Core palette
12
+ PALETTE, SYMBOLS, ICONS, BOX, LINES,
13
+ // Banners
14
+ BANNER, MINI_BANNER, INLINE_LOGO,
15
+ // Progress & Status
16
+ createProgressBar, statusBadge, statusIndicator, phaseIndicator,
17
+ // Headers & Sections
18
+ commandHeader, sectionHeader, sectionDivider, subsectionDivider,
19
+ // Boxes
20
+ styledBox, infoCard,
21
+ // Lists
22
+ listItem, numberedItem, taskItem,
23
+ // Key hints
24
+ keyHint, keyHints, commandHint,
25
+ // Tables
26
+ tableRow, tableHeader,
27
+ // Utility functions
28
+ highlight, truncate, formatPath, formatDate, formatSize,
29
+ // Messages
30
+ successMessage, errorMessage, warningMessage, infoMessage, tipMessage,
31
+ // Cards
32
+ changeCard, specCard,
33
+ // Footers
34
+ quickActions, nextSteps, } from './palette.js';
35
+ // ═══════════════════════════════════════════════════════════════════════════════
36
+ // INTERACTIVE DETECTION
37
+ // ═══════════════════════════════════════════════════════════════════════════════
38
+ export { isInteractive, requireInteractive, shouldUseColor, } from './interactive.js';
39
+ // ═══════════════════════════════════════════════════════════════════════════════
40
+ // SPINNERS
41
+ // ═══════════════════════════════════════════════════════════════════════════════
42
+ export { startSpinner, spinnerSuccess, spinnerFail, spinnerWarn, spinnerInfo, withSpinner, } from './spinner.js';
43
+ // ═══════════════════════════════════════════════════════════════════════════════
44
+ // PROMPTS
45
+ // ═══════════════════════════════════════════════════════════════════════════════
46
+ export { selectPrompt, confirmPrompt, inputPrompt, checkboxPrompt, selectChange, selectSpec, selectItemType, confirmDangerous, } from './prompts.js';
47
+ // ═══════════════════════════════════════════════════════════════════════════════
48
+ // DISPLAY HELPERS
49
+ // ═══════════════════════════════════════════════════════════════════════════════
50
+ export {
51
+ // Basic displays
52
+ displayHeader, displaySection, displayEmptyLine, displayDivider,
53
+ // Boxes
54
+ displayBox, displayInfoCard,
55
+ // Tables
56
+ displayTable, displayKeyValueTable,
57
+ // Lists
58
+ displayList, displayTree, displayFileTree,
59
+ // Key-value
60
+ displayKeyValue, displayLabeledValue,
61
+ // Progress
62
+ displayProgress, displayStatus,
63
+ // Messages
64
+ displaySuccess, displayError, displayWarning, displayInfo, displayTip, displayNote,
65
+ // Special displays
66
+ displayPhases, displayStats, displayCommand, displayNextSteps, displayQuickActions,
67
+ // Validation
68
+ displayValidationItem, displayValidationSummary,
69
+ // Cards
70
+ displayChangeCard, displaySpecCard, } from './display.js';
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cli/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kFAAkF;AAClF,oBAAoB;AACpB,kFAAkF;AAElF,OAAO;AACL,eAAe;AACf,OAAO,EACP,OAAO,EACP,KAAK,EACL,GAAG,EACH,KAAK;AAEL,UAAU;AACV,MAAM,EACN,WAAW,EACX,WAAW;AAEX,oBAAoB;AACpB,iBAAiB,EACjB,WAAW,EACX,eAAe,EACf,cAAc;AAEd,qBAAqB;AACrB,aAAa,EACb,aAAa,EACb,cAAc,EACd,iBAAiB;AAEjB,QAAQ;AACR,SAAS,EACT,QAAQ;AAER,QAAQ;AACR,QAAQ,EACR,YAAY,EACZ,QAAQ;AAER,YAAY;AACZ,OAAO,EACP,QAAQ,EACR,WAAW;AAEX,SAAS;AACT,QAAQ,EACR,WAAW;AAEX,oBAAoB;AACpB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,UAAU,EACV,UAAU;AAEV,WAAW;AACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU;AAEV,QAAQ;AACR,UAAU,EACV,QAAQ;AAER,UAAU;AACV,YAAY,EACZ,SAAS,GACV,MAAM,cAAc,CAAC;AAEtB,kFAAkF;AAClF,wBAAwB;AACxB,kFAAkF;AAElF,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,cAAc,GAEf,MAAM,kBAAkB,CAAC;AAE1B,kFAAkF;AAClF,WAAW;AACX,kFAAkF;AAElF,OAAO,EACL,YAAY,EACZ,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,WAAW,GACZ,MAAM,cAAc,CAAC;AAEtB,kFAAkF;AAClF,UAAU;AACV,kFAAkF;AAElF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,cAAc,EACd,YAAY,EACZ,UAAU,EACV,cAAc,EACd,gBAAgB,GAEjB,MAAM,cAAc,CAAC;AAEtB,kFAAkF;AAClF,kBAAkB;AAClB,kFAAkF;AAElF,OAAO;AACL,iBAAiB;AACjB,aAAa,EACb,cAAc,EACd,gBAAgB,EAChB,cAAc;AAEd,QAAQ;AACR,UAAU,EACV,eAAe;AAEf,SAAS;AACT,YAAY,EACZ,oBAAoB;AAEpB,QAAQ;AACR,WAAW,EACX,WAAW,EACX,eAAe;AAEf,YAAY;AACZ,eAAe,EACf,mBAAmB;AAEnB,WAAW;AACX,eAAe,EACf,aAAa;AAEb,WAAW;AACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,WAAW,EACX,UAAU,EACV,WAAW;AAEX,mBAAmB;AACnB,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,mBAAmB;AAEnB,aAAa;AACb,qBAAqB,EACrB,wBAAwB;AAExB,QAAQ;AACR,iBAAiB,EACjB,eAAe,GAChB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Interactive Detection Utilities
3
+ *
4
+ * Determines if the CLI is running in an interactive environment
5
+ */
6
+ export interface InteractiveOptions {
7
+ interactive?: boolean;
8
+ }
9
+ /**
10
+ * Check if the current environment is interactive
11
+ */
12
+ export declare function isInteractive(options?: boolean | InteractiveOptions): boolean;
13
+ /**
14
+ * Ensure interactive mode or exit with error
15
+ */
16
+ export declare function requireInteractive(message?: string): void;
17
+ /**
18
+ * Check if colors should be enabled
19
+ */
20
+ export declare function shouldUseColor(): boolean;
21
+ //# sourceMappingURL=interactive.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive.d.ts","sourceRoot":"","sources":["../../../src/cli/ui/interactive.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,kBAAkB,GAAG,OAAO,CAgC7E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,MAAiD,GAAG,IAAI,CAMnG;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,OAAO,CAQxC"}