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 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/cli/commands/list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ interface ShowOptions {
2
+ json?: boolean;
3
+ }
4
+ export declare function showCommand(item: string | undefined, options: ShowOptions): Promise<void>;
5
+ export {};
6
+ //# sourceMappingURL=show.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"AAiBA,UAAU,WAAW;IACnB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA+BD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6C/F"}
@@ -0,0 +1,273 @@
1
+ import { existsSync, readFileSync, readdirSync } from 'fs';
2
+ import { join } from 'path';
3
+ import matter from 'gray-matter';
4
+ import { PALETTE, ICONS, commandHeader, sectionHeader, createProgressBar, isInteractive, selectItemType, selectChange, selectSpec, displayCommand, formatPath, } from '../ui/index.js';
5
+ export async function showCommand(item, options) {
6
+ const superspecPath = join(process.cwd(), 'superspec');
7
+ if (!existsSync(superspecPath)) {
8
+ console.log(` ${ICONS.error} ${PALETTE.error('SuperSpec not initialized.')}`);
9
+ console.log(` ${PALETTE.dim('Run:')} ${PALETTE.accent('superspec init')}`);
10
+ process.exit(1);
11
+ }
12
+ // If no item specified, show interactive selection
13
+ if (!item) {
14
+ if (!isInteractive()) {
15
+ console.log(` ${ICONS.error} ${PALETTE.error('Please specify an item to show, or run in interactive mode.')}`);
16
+ console.log(` ${PALETTE.dim('Usage:')} superspec show <change-id|spec-name>`);
17
+ process.exit(1);
18
+ }
19
+ // Ask what type to view
20
+ const itemType = await selectItemType();
21
+ if (itemType === 'change') {
22
+ const changes = getChangeList(superspecPath);
23
+ item = await selectChange(changes, 'Select a change to view:');
24
+ }
25
+ else {
26
+ const specs = getSpecList(superspecPath);
27
+ item = await selectSpec(specs, 'Select a spec to view:');
28
+ }
29
+ }
30
+ // Try to find the item
31
+ const changePath = join(superspecPath, 'changes', item);
32
+ const archivePath = findInArchive(superspecPath, item);
33
+ const specPath = join(superspecPath, 'specs', item, 'spec.md');
34
+ if (existsSync(changePath)) {
35
+ await showChange(item, changePath, 'active', options);
36
+ }
37
+ else if (archivePath) {
38
+ await showChange(item, archivePath, 'archived', options);
39
+ }
40
+ else if (existsSync(specPath)) {
41
+ await showSpec(item, specPath, options);
42
+ }
43
+ else {
44
+ console.log(` ${ICONS.error} ${PALETTE.error(`Not found: ${item}`)}`);
45
+ console.log(` ${PALETTE.dim('Use')} ${PALETTE.accent('superspec list')} ${PALETTE.dim('to see available items.')}`);
46
+ process.exit(1);
47
+ }
48
+ }
49
+ function getChangeList(superspecPath) {
50
+ const changes = [];
51
+ const changesPath = join(superspecPath, 'changes');
52
+ if (existsSync(changesPath)) {
53
+ const entries = readdirSync(changesPath, { withFileTypes: true });
54
+ for (const entry of entries) {
55
+ if (entry.isDirectory() && entry.name !== 'archive') {
56
+ changes.push(entry.name);
57
+ }
58
+ }
59
+ }
60
+ return changes;
61
+ }
62
+ function getSpecList(superspecPath) {
63
+ const specs = [];
64
+ const specsPath = join(superspecPath, 'specs');
65
+ if (existsSync(specsPath)) {
66
+ const entries = readdirSync(specsPath, { withFileTypes: true });
67
+ for (const entry of entries) {
68
+ if (entry.isDirectory()) {
69
+ specs.push(entry.name);
70
+ }
71
+ }
72
+ }
73
+ return specs;
74
+ }
75
+ function findInArchive(superspecPath, item) {
76
+ const archivePath = join(superspecPath, 'changes', 'archive');
77
+ if (!existsSync(archivePath))
78
+ return null;
79
+ const entries = readdirSync(archivePath, { withFileTypes: true });
80
+ for (const entry of entries) {
81
+ if (entry.isDirectory() && entry.name.includes(item)) {
82
+ return join(archivePath, entry.name);
83
+ }
84
+ }
85
+ return null;
86
+ }
87
+ async function showChange(id, path, status, options) {
88
+ const details = gatherChangeDetails(id, path, status);
89
+ if (options.json) {
90
+ console.log(JSON.stringify(details, null, 2));
91
+ return;
92
+ }
93
+ // Header
94
+ console.log(commandHeader(`show ${id}`, details.title || 'Change details'));
95
+ // Status and Path
96
+ console.log();
97
+ const statusIcon = status === 'archived'
98
+ ? `${PALETTE.dim('○')} ${PALETTE.dim('archived')}`
99
+ : `${PALETTE.success('●')} ${PALETTE.success('active')}`;
100
+ console.log(` ${PALETTE.dim('Status')} ${statusIcon}`);
101
+ console.log(` ${PALETTE.dim('Path')} ${formatPath(path)}`);
102
+ // Documents Section
103
+ console.log(sectionHeader('Documents', '📄'));
104
+ console.log();
105
+ printDocBox('Proposal', details.hasProposal, details.proposalTitle, 'P');
106
+ printDocBox('Design', details.hasDesign, details.designDecision, 'D');
107
+ printDocBox('Specs', details.hasSpecs, details.specCount ? `${details.specCount} capabilities` : undefined, 'S');
108
+ printDocBox('Plan', details.hasPlan, details.taskCount ? `${details.taskCount} tasks` : undefined, 'L');
109
+ printDocBox('Tasks', details.hasTasks, details.taskProgress
110
+ ? `${details.taskProgress.completed}/${details.taskProgress.total} complete`
111
+ : undefined, 'T');
112
+ // Task Progress
113
+ if (details.taskProgress && details.taskProgress.total > 0) {
114
+ console.log(sectionHeader('Progress', '📊'));
115
+ console.log();
116
+ const bar = createProgressBar(details.taskProgress.completed, details.taskProgress.total, { width: 30, showCount: true });
117
+ console.log(` ${bar}`);
118
+ }
119
+ // Specs List
120
+ if (details.specs && details.specs.length > 0) {
121
+ console.log(sectionHeader('Specifications', '📋'));
122
+ console.log();
123
+ for (const spec of details.specs) {
124
+ console.log(` ${PALETTE.subtle('┌─')} ${ICONS.spec} ${PALETTE.bold(PALETTE.primaryBright(spec.name))}`);
125
+ console.log(` ${PALETTE.subtle('│')} ${PALETTE.dim(`${spec.requirementCount} requirements · ${spec.scenarioCount} scenarios`)}`);
126
+ console.log(` ${PALETTE.subtle('└─')}`);
127
+ }
128
+ }
129
+ // Next Actions
130
+ if (status === 'active') {
131
+ console.log(sectionHeader('Next Actions', '🎯'));
132
+ console.log();
133
+ if (!details.hasProposal || !details.hasDesign || !details.hasSpecs) {
134
+ displayCommand('/superspec:brainstorm', 'Continue design');
135
+ }
136
+ else if (!details.hasPlan) {
137
+ displayCommand('/superspec:plan', 'Create implementation plan');
138
+ }
139
+ else if (details.taskProgress && details.taskProgress.completed < details.taskProgress.total) {
140
+ displayCommand('/superspec:execute', 'Execute plan');
141
+ }
142
+ else {
143
+ displayCommand(`superspec verify ${id}`, 'Verify implementation');
144
+ displayCommand(`superspec archive ${id}`, 'Archive change');
145
+ }
146
+ }
147
+ console.log();
148
+ }
149
+ function printDocBox(label, exists, detail, letter) {
150
+ const icon = exists ? ICONS.check : PALETTE.dark('○');
151
+ const letterBadge = letter
152
+ ? (exists ? PALETTE.success(`[${letter}]`) : PALETTE.dark(`[${letter}]`))
153
+ : '';
154
+ const detailStr = detail ? PALETTE.dim(` - ${detail}`) : '';
155
+ const labelStyle = exists ? PALETTE.white : PALETTE.dim;
156
+ console.log(` ${icon} ${letterBadge} ${labelStyle(label)}${detailStr}`);
157
+ }
158
+ function gatherChangeDetails(id, path, status) {
159
+ const details = {
160
+ id,
161
+ status,
162
+ path,
163
+ hasProposal: existsSync(join(path, 'proposal.md')),
164
+ hasDesign: existsSync(join(path, 'design.md')),
165
+ hasSpecs: existsSync(join(path, 'specs')),
166
+ hasPlan: existsSync(join(path, 'plan.md')),
167
+ hasTasks: existsSync(join(path, 'tasks.md')),
168
+ };
169
+ // Get proposal info
170
+ if (details.hasProposal) {
171
+ try {
172
+ const content = readFileSync(join(path, 'proposal.md'), 'utf-8');
173
+ const { data } = matter(content);
174
+ details.title = data['title'];
175
+ details.proposalTitle = data['title'];
176
+ }
177
+ catch { /* ignore */ }
178
+ }
179
+ // Get design info
180
+ if (details.hasDesign) {
181
+ try {
182
+ const content = readFileSync(join(path, 'design.md'), 'utf-8');
183
+ const match = content.match(/## Decision\s*\n\s*(.+)/);
184
+ if (match?.[1]) {
185
+ details.designDecision = match[1].trim().slice(0, 50);
186
+ }
187
+ }
188
+ catch { /* ignore */ }
189
+ }
190
+ // Get specs info
191
+ if (details.hasSpecs) {
192
+ const specsPath = join(path, 'specs');
193
+ const specs = [];
194
+ const entries = readdirSync(specsPath, { withFileTypes: true });
195
+ for (const entry of entries) {
196
+ if (entry.isDirectory()) {
197
+ const specFile = join(specsPath, entry.name, 'spec.md');
198
+ if (existsSync(specFile)) {
199
+ const content = readFileSync(specFile, 'utf-8');
200
+ specs.push({
201
+ name: entry.name,
202
+ requirementCount: (content.match(/^### Requirement:/gm) ?? []).length,
203
+ scenarioCount: (content.match(/^#### Scenario:/gm) ?? []).length,
204
+ });
205
+ }
206
+ }
207
+ }
208
+ details.specs = specs;
209
+ details.specCount = specs.length;
210
+ }
211
+ // Get plan info
212
+ if (details.hasPlan) {
213
+ try {
214
+ const content = readFileSync(join(path, 'plan.md'), 'utf-8');
215
+ details.taskCount = (content.match(/^### Task \d+/gm) ?? []).length;
216
+ }
217
+ catch { /* ignore */ }
218
+ }
219
+ // Get task progress
220
+ if (details.hasTasks) {
221
+ try {
222
+ const content = readFileSync(join(path, 'tasks.md'), 'utf-8');
223
+ const total = (content.match(/^- \[[ x]\]/gm) ?? []).length;
224
+ const completed = (content.match(/^- \[x\]/gm) ?? []).length;
225
+ details.taskProgress = { completed, total };
226
+ }
227
+ catch { /* ignore */ }
228
+ }
229
+ return details;
230
+ }
231
+ async function showSpec(name, path, options) {
232
+ const content = readFileSync(path, 'utf-8');
233
+ const requirements = content.match(/^### Requirement: (.+)$/gm) ?? [];
234
+ const scenarios = content.match(/^#### Scenario: (.+)$/gm) ?? [];
235
+ const purposeMatch = content.match(/## Purpose\s*\n\s*(.+)/);
236
+ const details = {
237
+ name,
238
+ purpose: purposeMatch?.[1]?.trim(),
239
+ requirementCount: requirements.length,
240
+ scenarioCount: scenarios.length,
241
+ requirements: requirements.map(r => r.replace('### Requirement: ', '')),
242
+ path,
243
+ };
244
+ if (options.json) {
245
+ console.log(JSON.stringify(details, null, 2));
246
+ return;
247
+ }
248
+ // Header
249
+ console.log(commandHeader(`show ${name}`, 'Specification details'));
250
+ // Purpose
251
+ if (details.purpose) {
252
+ console.log(sectionHeader('Purpose', '📝'));
253
+ console.log();
254
+ console.log(` ${PALETTE.muted(details.purpose)}`);
255
+ }
256
+ // Statistics
257
+ console.log(sectionHeader('Statistics', '📊'));
258
+ console.log();
259
+ console.log(` ${PALETTE.primary('◆')} ${PALETTE.primaryBright(String(details.requirementCount))} requirements ${PALETTE.dim('·')} ${PALETTE.accent('◆')} ${PALETTE.info(String(details.scenarioCount))} scenarios`);
260
+ // Requirements List
261
+ console.log(sectionHeader('Requirements', '📋'));
262
+ console.log();
263
+ for (let i = 0; i < details.requirements.length; i++) {
264
+ console.log(` ${PALETTE.accent(`${i + 1}.`)} ${details.requirements[i]}`);
265
+ }
266
+ // Path
267
+ console.log();
268
+ console.log(` ${PALETTE.dim('─'.repeat(50))}`);
269
+ console.log();
270
+ console.log(` ${PALETTE.dim('Path:')} ${formatPath(path)}`);
271
+ console.log();
272
+ }
273
+ //# sourceMappingURL=show.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"show.js","sourceRoot":"","sources":["../../../src/cli/commands/show.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ interface ValidateOptions {
2
+ all?: boolean;
3
+ strict?: boolean;
4
+ verbose?: boolean;
5
+ }
6
+ export declare function validateCommand(id: string | undefined, options: ValidateOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"AAgBA,UAAU,eAAe;IACvB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAMD,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoDrG"}
@@ -0,0 +1,209 @@
1
+ import { existsSync, readFileSync, readdirSync } from 'fs';
2
+ import { join } from 'path';
3
+ import { validateSpec } from '../../core/validation/spec-validator.js';
4
+ import { PALETTE, ICONS, commandHeader, sectionHeader, createProgressBar, startSpinner, spinnerSuccess, isInteractive, selectPrompt, displayStats, } from '../ui/index.js';
5
+ export async function validateCommand(id, options) {
6
+ const superspecPath = join(process.cwd(), 'superspec');
7
+ if (!existsSync(superspecPath)) {
8
+ console.log(` ${ICONS.error} ${PALETTE.error('SuperSpec not initialized.')}`);
9
+ console.log(` ${PALETTE.dim('Run:')} ${PALETTE.accent('superspec init')}`);
10
+ process.exit(1);
11
+ }
12
+ if (options.all) {
13
+ await validateAll(superspecPath, options);
14
+ }
15
+ else if (id) {
16
+ await validateChange(superspecPath, id, options);
17
+ }
18
+ else {
19
+ // Interactive mode - let user select a change
20
+ if (isInteractive()) {
21
+ const changesPath = join(superspecPath, 'changes');
22
+ const changes = [];
23
+ if (existsSync(changesPath)) {
24
+ const entries = readdirSync(changesPath, { withFileTypes: true });
25
+ for (const entry of entries) {
26
+ if (entry.isDirectory() && entry.name !== 'archive') {
27
+ changes.push(entry.name);
28
+ }
29
+ }
30
+ }
31
+ if (changes.length === 0) {
32
+ console.log(` ${ICONS.warning} ${PALETTE.warning('No active changes found.')}`);
33
+ console.log(` ${PALETTE.dim('Use --all to validate all specs.')}`);
34
+ return;
35
+ }
36
+ const choice = await selectPrompt({
37
+ message: 'Select what to validate:',
38
+ choices: [
39
+ { name: `${PALETTE.primary('›')} All specs`, value: '__all__' },
40
+ ...changes.map(c => ({ name: `${PALETTE.primary('›')} ${c}`, value: c })),
41
+ ],
42
+ });
43
+ if (choice === '__all__') {
44
+ await validateAll(superspecPath, options);
45
+ }
46
+ else {
47
+ await validateChange(superspecPath, choice, options);
48
+ }
49
+ }
50
+ else {
51
+ console.log(` ${ICONS.error} ${PALETTE.error('Please specify a change ID or use --all')}`);
52
+ process.exit(1);
53
+ }
54
+ }
55
+ }
56
+ async function validateChange(superspecPath, id, options) {
57
+ const changePath = join(superspecPath, 'changes', id);
58
+ const specsPath = join(changePath, 'specs');
59
+ if (!existsSync(changePath)) {
60
+ console.log(` ${ICONS.error} ${PALETTE.error(`Change not found: ${id}`)}`);
61
+ process.exit(1);
62
+ }
63
+ if (!existsSync(specsPath)) {
64
+ console.log(` ${ICONS.warning} ${PALETTE.warning(`No specs found for change: ${id}`)}`);
65
+ return;
66
+ }
67
+ console.log(commandHeader(`validate ${id}`, 'Validating change specifications'));
68
+ const spinner = startSpinner('Scanning specifications...');
69
+ const results = [];
70
+ const entries = readdirSync(specsPath, { withFileTypes: true });
71
+ for (const entry of entries) {
72
+ if (entry.isDirectory()) {
73
+ const specFile = join(specsPath, entry.name, 'spec.md');
74
+ if (existsSync(specFile)) {
75
+ const content = readFileSync(specFile, 'utf-8');
76
+ const result = validateSpec(content, entry.name, true);
77
+ results.push({ ...result, specName: entry.name });
78
+ }
79
+ }
80
+ }
81
+ spinnerSuccess(spinner, `Found ${results.length} specifications`);
82
+ // Display detailed results if verbose
83
+ if (options.verbose) {
84
+ console.log(sectionHeader('Specification Details', '📋'));
85
+ console.log();
86
+ for (const result of results) {
87
+ printDetailedResult(result);
88
+ }
89
+ }
90
+ printSummary(results, options);
91
+ }
92
+ async function validateAll(superspecPath, options) {
93
+ console.log(commandHeader('validate --all', 'Validating all specifications'));
94
+ const spinner = startSpinner('Scanning all specifications...');
95
+ const results = [];
96
+ // Validate main specs
97
+ const mainSpecsPath = join(superspecPath, 'specs');
98
+ if (existsSync(mainSpecsPath)) {
99
+ const entries = readdirSync(mainSpecsPath, { withFileTypes: true });
100
+ for (const entry of entries) {
101
+ if (entry.isDirectory()) {
102
+ const specFile = join(mainSpecsPath, entry.name, 'spec.md');
103
+ if (existsSync(specFile)) {
104
+ const content = readFileSync(specFile, 'utf-8');
105
+ const result = validateSpec(content, entry.name, false);
106
+ results.push({ ...result, specName: entry.name });
107
+ }
108
+ }
109
+ }
110
+ }
111
+ // Validate active changes
112
+ const changesPath = join(superspecPath, 'changes');
113
+ if (existsSync(changesPath)) {
114
+ const changeEntries = readdirSync(changesPath, { withFileTypes: true });
115
+ for (const changeEntry of changeEntries) {
116
+ if (changeEntry.isDirectory() && changeEntry.name !== 'archive') {
117
+ const specsPath = join(changesPath, changeEntry.name, 'specs');
118
+ if (existsSync(specsPath)) {
119
+ const specEntries = readdirSync(specsPath, { withFileTypes: true });
120
+ for (const specEntry of specEntries) {
121
+ if (specEntry.isDirectory()) {
122
+ const specFile = join(specsPath, specEntry.name, 'spec.md');
123
+ if (existsSync(specFile)) {
124
+ const content = readFileSync(specFile, 'utf-8');
125
+ const specName = `${changeEntry.name}/${specEntry.name}`;
126
+ const result = validateSpec(content, specName, true);
127
+ results.push({ ...result, specName });
128
+ }
129
+ }
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ spinnerSuccess(spinner, `Scanned ${results.length} specifications`);
136
+ if (options.verbose) {
137
+ console.log(sectionHeader('Specification Details', '📋'));
138
+ console.log();
139
+ for (const result of results) {
140
+ printDetailedResult(result);
141
+ }
142
+ }
143
+ printSummary(results, options);
144
+ }
145
+ function printDetailedResult(result) {
146
+ const icon = result.valid ? ICONS.success : ICONS.error;
147
+ const nameStyle = result.valid ? PALETTE.primaryBright : PALETTE.error;
148
+ console.log(` ${icon} ${nameStyle(result.specName)}`);
149
+ if (result.errors.length > 0) {
150
+ for (const error of result.errors) {
151
+ const line = error.line ? PALETTE.dark(` (line ${error.line})`) : '';
152
+ console.log(` ${PALETTE.error('ERROR')} ${PALETTE.muted(error.message)}${line}`);
153
+ }
154
+ }
155
+ if (result.warnings.length > 0) {
156
+ for (const warning of result.warnings) {
157
+ console.log(` ${PALETTE.warning('WARN')} ${PALETTE.muted(warning.message)}`);
158
+ }
159
+ }
160
+ // Stats
161
+ console.log(` ${PALETTE.dim(`${result.stats.requirements} requirements, ${result.stats.scenarios} scenarios`)}`);
162
+ console.log();
163
+ }
164
+ function printSummary(results, options) {
165
+ const totalErrors = results.reduce((sum, r) => sum + r.errors.length, 0);
166
+ const totalWarnings = results.reduce((sum, r) => sum + r.warnings.length, 0);
167
+ const totalRequirements = results.reduce((sum, r) => sum + r.stats.requirements, 0);
168
+ const totalScenarios = results.reduce((sum, r) => sum + r.stats.scenarios, 0);
169
+ const validSpecs = results.filter(r => r.valid).length;
170
+ const hasErrors = totalErrors > 0;
171
+ const hasWarnings = totalWarnings > 0;
172
+ const failStrict = options.strict && hasWarnings;
173
+ console.log(sectionHeader('Summary', '📊'));
174
+ console.log();
175
+ // Progress bar showing valid specs
176
+ const bar = createProgressBar(validSpecs, results.length, { width: 25 });
177
+ console.log(` ${PALETTE.dim('Validation:')} ${bar} ${validSpecs}/${results.length}`);
178
+ console.log();
179
+ displayStats([
180
+ { label: 'Specs', value: results.length },
181
+ { label: 'Requirements', value: totalRequirements },
182
+ { label: 'Scenarios', value: totalScenarios },
183
+ ]);
184
+ console.log();
185
+ if (hasErrors) {
186
+ console.log(` ${ICONS.error} ${PALETTE.error(`${totalErrors} errors`)}`);
187
+ }
188
+ if (hasWarnings) {
189
+ console.log(` ${ICONS.warning} ${PALETTE.warning(`${totalWarnings} warnings`)}`);
190
+ }
191
+ console.log();
192
+ console.log(` ${PALETTE.subtle('─'.repeat(50))}`);
193
+ console.log();
194
+ if (hasErrors) {
195
+ console.log(` ${ICONS.error} ${PALETTE.bold(PALETTE.error('Validation FAILED'))}`);
196
+ console.log(` ${PALETTE.dim('Fix errors before proceeding.')}`);
197
+ process.exit(1);
198
+ }
199
+ else if (failStrict) {
200
+ console.log(` ${ICONS.warning} ${PALETTE.bold(PALETTE.warning('Validation FAILED (strict mode)'))}`);
201
+ console.log(` ${PALETTE.dim('Fix warnings before proceeding.')}`);
202
+ process.exit(1);
203
+ }
204
+ else {
205
+ console.log(` ${ICONS.success} ${PALETTE.bold(PALETTE.success('Validation PASSED'))}`);
206
+ }
207
+ console.log();
208
+ }
209
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/cli/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface VerifyOptions {
2
+ strict?: boolean;
3
+ verbose?: boolean;
4
+ }
5
+ export declare function verifyCommand(id: string | undefined, options: VerifyOptions): Promise<void>;
6
+ export {};
7
+ //# sourceMappingURL=verify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/verify.ts"],"names":[],"mappings":"AAiBA,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAoCD,wBAAsB,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAyEjG"}