@vibe-validate/cli 0.13.0 → 0.14.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config-templates/README.md +348 -0
- package/config-templates/minimal.yaml +47 -0
- package/config-templates/typescript-library.yaml +57 -0
- package/config-templates/typescript-nodejs.yaml +64 -0
- package/config-templates/typescript-react.yaml +64 -0
- package/dist/bin.js +28 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/generate-workflow.js +1 -1
- package/dist/commands/generate-workflow.js.map +1 -1
- package/dist/commands/run.d.ts +13 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +509 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js.map +1 -1
- package/dist/services/ci-providers/github-actions.js +2 -2
- package/dist/services/ci-providers/github-actions.js.map +1 -1
- package/package.json +8 -7
- package/dist/utils/run-validation-with-cache.d.ts +0 -48
- package/dist/utils/run-validation-with-cache.d.ts.map +0 -1
- package/dist/utils/run-validation-with-cache.js +0 -123
- package/dist/utils/run-validation-with-cache.js.map +0 -1
- package/dist/utils/validation-cache.d.ts +0 -30
- package/dist/utils/validation-cache.d.ts.map +0 -1
- package/dist/utils/validation-cache.js +0 -57
- package/dist/utils/validation-cache.js.map +0 -1
|
@@ -0,0 +1,509 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Run Command
|
|
3
|
+
*
|
|
4
|
+
* Executes a command and extracts LLM-friendly error output using vibe-validate extractors.
|
|
5
|
+
* Provides concise, structured error information to save AI agent context windows.
|
|
6
|
+
*/
|
|
7
|
+
import { spawn } from 'child_process';
|
|
8
|
+
import { autoDetectAndExtract } from '@vibe-validate/extractors';
|
|
9
|
+
import yaml from 'yaml';
|
|
10
|
+
export function runCommand(program) {
|
|
11
|
+
program
|
|
12
|
+
.command('run')
|
|
13
|
+
.description('Run a command and extract LLM-friendly errors from output')
|
|
14
|
+
.argument('<command>', 'Command to execute (quoted if it contains spaces)')
|
|
15
|
+
.action(async (commandString) => {
|
|
16
|
+
try {
|
|
17
|
+
const { result, context } = await executeAndExtract(commandString);
|
|
18
|
+
// CRITICAL: Write complete YAML to stdout and flush BEFORE any stderr
|
|
19
|
+
// This ensures even if callers use 2>&1, YAML completes first
|
|
20
|
+
process.stdout.write('---\n');
|
|
21
|
+
process.stdout.write(yaml.stringify(result));
|
|
22
|
+
// Add final newline to ensure YAML terminates cleanly
|
|
23
|
+
process.stdout.write('\n');
|
|
24
|
+
// Flush stdout to guarantee all YAML is written before any stderr
|
|
25
|
+
// This prevents interleaving when streams are combined with 2>&1
|
|
26
|
+
await new Promise((resolve) => {
|
|
27
|
+
if (process.stdout.writableNeedDrain) {
|
|
28
|
+
process.stdout.once('drain', resolve);
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
resolve();
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
// Now write preamble and stderr to stderr stream (after YAML is flushed)
|
|
35
|
+
if (context.preamble) {
|
|
36
|
+
process.stderr.write(context.preamble + '\n');
|
|
37
|
+
}
|
|
38
|
+
if (context.stderr) {
|
|
39
|
+
process.stderr.write(context.stderr);
|
|
40
|
+
}
|
|
41
|
+
// Exit with same code as the command
|
|
42
|
+
process.exit(result.exitCode);
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
// Flush stdout before writing error to stderr
|
|
46
|
+
await new Promise((resolve) => {
|
|
47
|
+
if (process.stdout.writableNeedDrain) {
|
|
48
|
+
process.stdout.once('drain', resolve);
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
resolve();
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
console.error('Failed to execute command:', error);
|
|
55
|
+
process.exit(1);
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Execute a command and extract errors from its output
|
|
61
|
+
*/
|
|
62
|
+
async function executeAndExtract(commandString) {
|
|
63
|
+
return new Promise((resolve, reject) => {
|
|
64
|
+
// SECURITY: shell: true required for shell operators (&&, ||, |) and cross-platform compatibility.
|
|
65
|
+
// Commands from user config files only (same trust as npm scripts). See SECURITY.md for full threat model.
|
|
66
|
+
// NOSONAR - Intentional shell execution of user-defined commands
|
|
67
|
+
const child = spawn(commandString, {
|
|
68
|
+
shell: true,
|
|
69
|
+
stdio: ['inherit', 'pipe', 'pipe'], // inherit stdin, pipe stdout/stderr
|
|
70
|
+
});
|
|
71
|
+
let stdout = '';
|
|
72
|
+
let stderr = '';
|
|
73
|
+
// Capture stdout
|
|
74
|
+
child.stdout?.on('data', (data) => {
|
|
75
|
+
stdout += data.toString();
|
|
76
|
+
});
|
|
77
|
+
// Capture stderr
|
|
78
|
+
child.stderr?.on('data', (data) => {
|
|
79
|
+
stderr += data.toString();
|
|
80
|
+
});
|
|
81
|
+
// Handle process exit
|
|
82
|
+
child.on('close', (exitCode) => {
|
|
83
|
+
const actualExitCode = exitCode ?? 1;
|
|
84
|
+
// CRITICAL: Check ONLY stdout for YAML (not stderr)
|
|
85
|
+
// This prevents stderr warnings from corrupting nested YAML output
|
|
86
|
+
if (isYamlOutput(stdout)) {
|
|
87
|
+
const { yaml, preamble } = extractYamlAndPreamble(stdout);
|
|
88
|
+
const mergedResult = mergeNestedYaml(commandString, yaml, actualExitCode);
|
|
89
|
+
// Include preamble and stderr for context
|
|
90
|
+
const contextOutput = {
|
|
91
|
+
preamble: preamble.trim(),
|
|
92
|
+
stderr: stderr.trim(),
|
|
93
|
+
};
|
|
94
|
+
resolve({ result: mergedResult, context: contextOutput });
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
// For extraction, combine both streams (stderr has useful error context)
|
|
98
|
+
const combinedOutput = stdout + stderr;
|
|
99
|
+
// Infer step name from command for smart extraction
|
|
100
|
+
const stepName = inferStepName(commandString);
|
|
101
|
+
// Extract errors using smart extractor
|
|
102
|
+
const extraction = autoDetectAndExtract(stepName, combinedOutput);
|
|
103
|
+
const result = {
|
|
104
|
+
command: commandString,
|
|
105
|
+
exitCode: actualExitCode,
|
|
106
|
+
extraction,
|
|
107
|
+
// Include truncated raw output for reference (if needed for debugging)
|
|
108
|
+
rawOutput: combinedOutput.length > 1000
|
|
109
|
+
? combinedOutput.substring(0, 1000) + '... (truncated)'
|
|
110
|
+
: combinedOutput,
|
|
111
|
+
};
|
|
112
|
+
resolve({ result, context: { preamble: '', stderr: '' } });
|
|
113
|
+
});
|
|
114
|
+
// Handle spawn errors (e.g., command not found)
|
|
115
|
+
child.on('error', (error) => {
|
|
116
|
+
reject(error);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Infer a step name from the command for smart extraction
|
|
122
|
+
*
|
|
123
|
+
* Examples:
|
|
124
|
+
* - "npx vitest" → "test"
|
|
125
|
+
* - "npx tsc --noEmit" → "typecheck"
|
|
126
|
+
* - "pnpm lint" → "lint"
|
|
127
|
+
* - "pnpm --filter @pkg test" → "test"
|
|
128
|
+
*/
|
|
129
|
+
function inferStepName(commandString) {
|
|
130
|
+
const lower = commandString.toLowerCase();
|
|
131
|
+
// TypeScript/tsc
|
|
132
|
+
if (lower.includes('tsc') || lower.includes('typecheck')) {
|
|
133
|
+
return 'typecheck';
|
|
134
|
+
}
|
|
135
|
+
// Linting
|
|
136
|
+
if (lower.includes('eslint') || lower.includes('lint')) {
|
|
137
|
+
return 'lint';
|
|
138
|
+
}
|
|
139
|
+
// Testing (vitest, jest, mocha, etc.)
|
|
140
|
+
if (lower.includes('vitest') || lower.includes('jest') ||
|
|
141
|
+
lower.includes('mocha') || lower.includes('test') ||
|
|
142
|
+
lower.includes('jasmine')) {
|
|
143
|
+
return 'test';
|
|
144
|
+
}
|
|
145
|
+
// OpenAPI
|
|
146
|
+
if (lower.includes('openapi')) {
|
|
147
|
+
return 'openapi';
|
|
148
|
+
}
|
|
149
|
+
// Generic fallback
|
|
150
|
+
return 'run';
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Check if output contains YAML format (may have preamble before ---)
|
|
154
|
+
*
|
|
155
|
+
* IMPORTANT: This function detects YAML anywhere in the output, not just at the start.
|
|
156
|
+
* This allows us to handle package manager preambles (pnpm, npm, yarn) that appear
|
|
157
|
+
* before the actual YAML content.
|
|
158
|
+
*
|
|
159
|
+
* Example with preamble:
|
|
160
|
+
* ```
|
|
161
|
+
* > vibe-validate@0.13.0 validate
|
|
162
|
+
* > node packages/cli/dist/bin.js validate
|
|
163
|
+
*
|
|
164
|
+
* ---
|
|
165
|
+
* command: "npm test"
|
|
166
|
+
* exitCode: 0
|
|
167
|
+
* ```
|
|
168
|
+
*
|
|
169
|
+
* The preamble will be extracted and routed to stderr, keeping stdout clean.
|
|
170
|
+
*/
|
|
171
|
+
function isYamlOutput(output) {
|
|
172
|
+
const trimmed = output.trim();
|
|
173
|
+
// Check if starts with --- (no preamble)
|
|
174
|
+
if (trimmed.startsWith('---\n') || trimmed.startsWith('---\r\n')) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
// Check if contains --- with newlines (has preamble)
|
|
178
|
+
return output.includes('\n---\n') || output.includes('\n---\r\n');
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Extract YAML content and separate preamble/postamble
|
|
182
|
+
*
|
|
183
|
+
* STREAM ROUTING STRATEGY:
|
|
184
|
+
* - stdout (returned 'yaml'): Clean YAML for piping and LLM consumption
|
|
185
|
+
* - stderr (returned 'preamble'): Package manager noise, preserved for human context
|
|
186
|
+
*
|
|
187
|
+
* This separation follows Unix philosophy: stdout = data, stderr = human messages.
|
|
188
|
+
*
|
|
189
|
+
* Example input:
|
|
190
|
+
* ```
|
|
191
|
+
* > package@1.0.0 test ← preamble (goes to stderr)
|
|
192
|
+
* > vitest run ← preamble (goes to stderr)
|
|
193
|
+
*
|
|
194
|
+
* --- ← yaml (goes to stdout)
|
|
195
|
+
* command: "vitest run"
|
|
196
|
+
* exitCode: 0
|
|
197
|
+
* extraction: {...}
|
|
198
|
+
* ```
|
|
199
|
+
*
|
|
200
|
+
* Benefits:
|
|
201
|
+
* 1. `run "pnpm test" > file.yaml` writes pure YAML
|
|
202
|
+
* 2. `run "pnpm test" 2>/dev/null` suppresses noise
|
|
203
|
+
* 3. Terminal shows both streams (full context)
|
|
204
|
+
*
|
|
205
|
+
* @param stdout - Raw stdout from the executed command
|
|
206
|
+
* @returns Object with separated yaml, preamble, and postamble
|
|
207
|
+
*/
|
|
208
|
+
function extractYamlAndPreamble(stdout) {
|
|
209
|
+
// Check if it starts with --- (no preamble)
|
|
210
|
+
const trimmed = stdout.trim();
|
|
211
|
+
if (trimmed.startsWith('---\n') || trimmed.startsWith('---\r\n')) {
|
|
212
|
+
return { yaml: trimmed, preamble: '', postamble: '' };
|
|
213
|
+
}
|
|
214
|
+
// Find first YAML separator with newline before it
|
|
215
|
+
const patterns = [
|
|
216
|
+
{ pattern: '\n---\n', offset: 1 },
|
|
217
|
+
{ pattern: '\n---\r\n', offset: 1 },
|
|
218
|
+
];
|
|
219
|
+
let earliestIndex = -1;
|
|
220
|
+
let selectedOffset = 0;
|
|
221
|
+
for (const { pattern, offset } of patterns) {
|
|
222
|
+
const idx = stdout.indexOf(pattern);
|
|
223
|
+
if (idx !== -1 && (earliestIndex === -1 || idx < earliestIndex)) {
|
|
224
|
+
earliestIndex = idx;
|
|
225
|
+
selectedOffset = offset;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
if (earliestIndex === -1) {
|
|
229
|
+
// No YAML found
|
|
230
|
+
return { yaml: '', preamble: stdout, postamble: '' };
|
|
231
|
+
}
|
|
232
|
+
// Extract preamble (everything before ---)
|
|
233
|
+
const preamble = stdout.substring(0, earliestIndex).trim();
|
|
234
|
+
// Extract YAML content (from --- onward)
|
|
235
|
+
const yamlContent = stdout.substring(earliestIndex + selectedOffset).trim();
|
|
236
|
+
return { yaml: yamlContent, preamble, postamble: '' };
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Merge nested YAML output with outer run metadata
|
|
240
|
+
*
|
|
241
|
+
* When vibe-validate run wraps another vibe-validate command (run or validate),
|
|
242
|
+
* we merge the inner YAML with outer metadata instead of double-extracting.
|
|
243
|
+
*/
|
|
244
|
+
function mergeNestedYaml(outerCommand, yamlOutput, outerExitCode) {
|
|
245
|
+
try {
|
|
246
|
+
// Parse the inner YAML
|
|
247
|
+
const innerResult = yaml.parse(yamlOutput);
|
|
248
|
+
// Extract the innermost command for suggestedDirectCommand
|
|
249
|
+
const innermostCommand = extractInnermostCommand(innerResult);
|
|
250
|
+
// Merge: preserve ALL inner fields, add outer metadata
|
|
251
|
+
const mergedResult = {
|
|
252
|
+
...innerResult, // Spread ALL inner fields (errors, phases, tree_hash, etc.)
|
|
253
|
+
command: outerCommand, // Override with outer command
|
|
254
|
+
exitCode: outerExitCode, // Use outer exit code (should match inner)
|
|
255
|
+
suggestedDirectCommand: innermostCommand, // Add suggestion
|
|
256
|
+
};
|
|
257
|
+
return mergedResult;
|
|
258
|
+
}
|
|
259
|
+
catch (error) {
|
|
260
|
+
// If YAML parsing fails, treat as regular output
|
|
261
|
+
console.error('Warning: Failed to parse nested YAML output:', error);
|
|
262
|
+
const stepName = inferStepName(outerCommand);
|
|
263
|
+
const extraction = autoDetectAndExtract(stepName, yamlOutput);
|
|
264
|
+
return {
|
|
265
|
+
command: outerCommand,
|
|
266
|
+
exitCode: outerExitCode,
|
|
267
|
+
extraction,
|
|
268
|
+
rawOutput: yamlOutput.substring(0, 1000),
|
|
269
|
+
};
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Extract the innermost command from nested run results
|
|
274
|
+
*
|
|
275
|
+
* Examples:
|
|
276
|
+
* - { command: "npm test" } → "npm test"
|
|
277
|
+
* - { command: "...", suggestedDirectCommand: "npm test" } → "npm test"
|
|
278
|
+
* - { command: "vibe-validate validate" } → "vibe-validate validate"
|
|
279
|
+
*/
|
|
280
|
+
function extractInnermostCommand(result) {
|
|
281
|
+
// If already has suggestedDirectCommand, use it (handles 3+ levels)
|
|
282
|
+
if (result.suggestedDirectCommand && typeof result.suggestedDirectCommand === 'string') {
|
|
283
|
+
return result.suggestedDirectCommand;
|
|
284
|
+
}
|
|
285
|
+
// Otherwise, use the command from the inner result
|
|
286
|
+
if (result.command && typeof result.command === 'string') {
|
|
287
|
+
return result.command;
|
|
288
|
+
}
|
|
289
|
+
return 'unknown';
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Show verbose help with detailed documentation
|
|
293
|
+
*/
|
|
294
|
+
export function showRunVerboseHelp() {
|
|
295
|
+
console.log(`# run Command Reference
|
|
296
|
+
|
|
297
|
+
> Run a command and extract LLM-friendly errors
|
|
298
|
+
|
|
299
|
+
## Overview
|
|
300
|
+
|
|
301
|
+
The \`run\` command executes any shell command and extracts errors using vibe-validate's smart extractors. This provides concise, structured error information to save AI agent context windows.
|
|
302
|
+
|
|
303
|
+
## How It Works
|
|
304
|
+
|
|
305
|
+
1. **Executes command** in a shell subprocess
|
|
306
|
+
2. **Captures output** (stdout + stderr)
|
|
307
|
+
3. **Auto-detects format** (vitest, jest, tsc, eslint, etc.)
|
|
308
|
+
4. **Extracts errors** using appropriate extractor
|
|
309
|
+
5. **Outputs YAML** with structured error information
|
|
310
|
+
6. **Passes through exit code** from original command
|
|
311
|
+
|
|
312
|
+
## Use Cases
|
|
313
|
+
|
|
314
|
+
### During Development (AI Agents)
|
|
315
|
+
Instead of parsing verbose test output:
|
|
316
|
+
\`\`\`bash
|
|
317
|
+
# Verbose (wastes context window)
|
|
318
|
+
npx vitest packages/extractors/test/vitest-extractor.test.ts
|
|
319
|
+
|
|
320
|
+
# Concise (LLM-friendly)
|
|
321
|
+
vibe-validate run "npx vitest packages/extractors/test/vitest-extractor.test.ts"
|
|
322
|
+
\`\`\`
|
|
323
|
+
|
|
324
|
+
### Debugging Specific Tests
|
|
325
|
+
\`\`\`bash
|
|
326
|
+
# Run single test file with extraction
|
|
327
|
+
vibe-validate run "npx vitest -t 'should extract failed tests'"
|
|
328
|
+
|
|
329
|
+
# Run package tests with extraction
|
|
330
|
+
vibe-validate run "pnpm --filter @vibe-validate/extractors test"
|
|
331
|
+
\`\`\`
|
|
332
|
+
|
|
333
|
+
### Type Checking
|
|
334
|
+
\`\`\`bash
|
|
335
|
+
# Extract TypeScript errors
|
|
336
|
+
vibe-validate run "npx tsc --noEmit"
|
|
337
|
+
\`\`\`
|
|
338
|
+
|
|
339
|
+
### Linting
|
|
340
|
+
\`\`\`bash
|
|
341
|
+
# Extract ESLint errors
|
|
342
|
+
vibe-validate run "pnpm lint"
|
|
343
|
+
\`\`\`
|
|
344
|
+
|
|
345
|
+
## Output Format
|
|
346
|
+
|
|
347
|
+
YAML structure:
|
|
348
|
+
\`\`\`yaml
|
|
349
|
+
---
|
|
350
|
+
command: "npx vitest test.ts"
|
|
351
|
+
exitCode: 1
|
|
352
|
+
extraction:
|
|
353
|
+
errors:
|
|
354
|
+
- file: "test.ts"
|
|
355
|
+
line: 42
|
|
356
|
+
message: "expected 5 to equal 3"
|
|
357
|
+
summary: "1 test failed"
|
|
358
|
+
guidance: "Review test assertions and expected values"
|
|
359
|
+
cleanOutput: |
|
|
360
|
+
test.ts:42 - expected 5 to equal 3
|
|
361
|
+
rawOutput: "... (truncated)"
|
|
362
|
+
\`\`\`
|
|
363
|
+
|
|
364
|
+
## Stream Output Behavior
|
|
365
|
+
|
|
366
|
+
**IMPORTANT**: The \`run\` command separates structured data from context noise:
|
|
367
|
+
|
|
368
|
+
- **stdout**: Pure YAML (clean, parseable, pipeable)
|
|
369
|
+
- **stderr**: Package manager preamble + warnings (human context)
|
|
370
|
+
|
|
371
|
+
### Examples
|
|
372
|
+
|
|
373
|
+
**Terminal usage (both streams visible):**
|
|
374
|
+
\`\`\`bash
|
|
375
|
+
$ vibe-validate run "pnpm test"
|
|
376
|
+
--- # ← stdout (YAML)
|
|
377
|
+
command: pnpm test
|
|
378
|
+
exitCode: 0
|
|
379
|
+
extraction: {...}
|
|
380
|
+
|
|
381
|
+
> pkg@1.0.0 test # ← stderr (preamble)
|
|
382
|
+
> vitest run
|
|
383
|
+
\`\`\`
|
|
384
|
+
|
|
385
|
+
**Piped usage (only YAML):**
|
|
386
|
+
\`\`\`bash
|
|
387
|
+
$ vibe-validate run "pnpm test" > results.yaml
|
|
388
|
+
# results.yaml contains ONLY pure YAML (no preamble)
|
|
389
|
+
\`\`\`
|
|
390
|
+
|
|
391
|
+
**Suppress context:**
|
|
392
|
+
\`\`\`bash
|
|
393
|
+
$ vibe-validate run "pnpm test" 2>/dev/null
|
|
394
|
+
# Shows only YAML (stderr suppressed)
|
|
395
|
+
\`\`\`
|
|
396
|
+
|
|
397
|
+
## Package Manager Support
|
|
398
|
+
|
|
399
|
+
The \`run\` command automatically detects and handles package manager preambles:
|
|
400
|
+
|
|
401
|
+
- **pnpm**: \`> package@1.0.0 script\` → routed to stderr
|
|
402
|
+
- **npm**: \`> package@1.0.0 script\` → routed to stderr
|
|
403
|
+
- **yarn**: \`$ command\` → routed to stderr
|
|
404
|
+
|
|
405
|
+
This means you can safely use:
|
|
406
|
+
\`\`\`bash
|
|
407
|
+
vibe-validate run "pnpm validate --yaml" # Works!
|
|
408
|
+
vibe-validate run "npm test" # Works!
|
|
409
|
+
vibe-validate run "yarn build" # Works!
|
|
410
|
+
\`\`\`
|
|
411
|
+
|
|
412
|
+
The YAML output on stdout remains clean and parseable, while the preamble is preserved on stderr for debugging.
|
|
413
|
+
|
|
414
|
+
## Nested Run Detection
|
|
415
|
+
|
|
416
|
+
When \`run\` wraps another vibe-validate command that outputs YAML, it intelligently merges the results:
|
|
417
|
+
|
|
418
|
+
\`\`\`bash
|
|
419
|
+
# 2-level nesting
|
|
420
|
+
$ vibe-validate run "vibe-validate run 'npm test'"
|
|
421
|
+
---
|
|
422
|
+
command: vibe-validate run "npm test"
|
|
423
|
+
exitCode: 0
|
|
424
|
+
extraction: {...}
|
|
425
|
+
suggestedDirectCommand: npm test # ← Unwrapped!
|
|
426
|
+
\`\`\`
|
|
427
|
+
|
|
428
|
+
The \`suggestedDirectCommand\` field shows the innermost command, helping you avoid unnecessary nesting.
|
|
429
|
+
|
|
430
|
+
## Exit Codes
|
|
431
|
+
|
|
432
|
+
The \`run\` command passes through the exit code from the executed command:
|
|
433
|
+
- \`0\` - Command succeeded
|
|
434
|
+
- \`1+\` - Command failed (same code as original command)
|
|
435
|
+
|
|
436
|
+
## Examples
|
|
437
|
+
|
|
438
|
+
### Run Single Test File
|
|
439
|
+
\`\`\`bash
|
|
440
|
+
vibe-validate run "npx vitest packages/cli/test/commands/run.test.ts"
|
|
441
|
+
\`\`\`
|
|
442
|
+
|
|
443
|
+
### Run Specific Test Case
|
|
444
|
+
\`\`\`bash
|
|
445
|
+
vibe-validate run "npx vitest -t 'should extract errors'"
|
|
446
|
+
\`\`\`
|
|
447
|
+
|
|
448
|
+
### Run Package Tests
|
|
449
|
+
\`\`\`bash
|
|
450
|
+
vibe-validate run "pnpm --filter @vibe-validate/core test"
|
|
451
|
+
\`\`\`
|
|
452
|
+
|
|
453
|
+
### Type Check
|
|
454
|
+
\`\`\`bash
|
|
455
|
+
vibe-validate run "npx tsc --noEmit"
|
|
456
|
+
\`\`\`
|
|
457
|
+
|
|
458
|
+
### Lint
|
|
459
|
+
\`\`\`bash
|
|
460
|
+
vibe-validate run "pnpm lint"
|
|
461
|
+
\`\`\`
|
|
462
|
+
|
|
463
|
+
## Supported Extractors
|
|
464
|
+
|
|
465
|
+
The command auto-detects and uses appropriate extractors:
|
|
466
|
+
- **TypeScript** (tsc) - Type errors with file/line/message
|
|
467
|
+
- **ESLint** - Lint errors with rules and suggestions
|
|
468
|
+
- **Vitest** - Test failures with assertion details
|
|
469
|
+
- **Jest** - Test failures with stack traces
|
|
470
|
+
- **Mocha** - Test failures with hooks
|
|
471
|
+
- **Jasmine** - Test failures with specs
|
|
472
|
+
- **JUnit XML** - CI test results
|
|
473
|
+
- **Generic** - Fallback for unknown formats
|
|
474
|
+
|
|
475
|
+
## Integration with AI Agents
|
|
476
|
+
|
|
477
|
+
This command is designed specifically for AI agents (Claude Code, Cursor, etc.):
|
|
478
|
+
|
|
479
|
+
1. **Context Window Savings**: Extracts only essential error info (90% reduction)
|
|
480
|
+
2. **Structured Output**: YAML format is easily parseable
|
|
481
|
+
3. **Actionable Guidance**: Provides fix suggestions
|
|
482
|
+
4. **Exit Code Handling**: Proper error propagation
|
|
483
|
+
|
|
484
|
+
## Comparison
|
|
485
|
+
|
|
486
|
+
### Without \`run\` command:
|
|
487
|
+
\`\`\`bash
|
|
488
|
+
$ npx vitest test.ts
|
|
489
|
+
[200+ lines of verbose output with stack traces, timing info, etc.]
|
|
490
|
+
\`\`\`
|
|
491
|
+
|
|
492
|
+
### With \`run\` command:
|
|
493
|
+
\`\`\`bash
|
|
494
|
+
$ vibe-validate run "npx vitest test.ts"
|
|
495
|
+
---
|
|
496
|
+
command: "npx vitest test.ts"
|
|
497
|
+
exitCode: 1
|
|
498
|
+
extraction:
|
|
499
|
+
errors:
|
|
500
|
+
- file: "test.ts"
|
|
501
|
+
line: 42
|
|
502
|
+
message: "expected 5 to equal 3"
|
|
503
|
+
summary: "1 test failed"
|
|
504
|
+
\`\`\`
|
|
505
|
+
|
|
506
|
+
**Result**: Same information, 90% smaller!
|
|
507
|
+
`);
|
|
508
|
+
}
|
|
509
|
+
//# sourceMappingURL=run.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUzC,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmLtD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,IAAI,CAiK9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAoB,MAAM,sBAAsB,CAAC;AAC1G,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,eAAe,CAAC,OAAgB;IAC9C,OAAO;SACJ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CAAC,2CAA2C,CAAC;SACxD,MAAM,CAAC,aAAa,EAAE,yCAAyC,CAAC;SAChE,MAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;SAC5D,MAAM,CAAC,YAAY,EAAE,4CAA4C,CAAC;SAClE,MAAM,CAAC,aAAa,EAAE,qDAAqD,CAAC;SAC5E,MAAM,CAAC,WAAW,EAAE,kEAAkE,CAAC;SACvF,MAAM,CAAC,WAAW,EAAE,0EAA0E,CAAC;SAC/F,MAAM,CAAC,0BAA0B,EAAE,4DAA4D,EAAE,KAAK,CAAC;SACvG,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { execSync } from 'node:child_process';
|
|
2
2
|
import { parse as parseYaml } from 'yaml';
|
|
3
|
-
import {
|
|
3
|
+
import { autoDetectAndExtract } from '@vibe-validate/extractors';
|
|
4
4
|
/**
|
|
5
5
|
* GitHub Actions CI provider implementation
|
|
6
6
|
*
|
|
@@ -144,7 +144,7 @@ export class GitHubActionsProvider {
|
|
|
144
144
|
// If validation failed and we have step output, run it through extractors
|
|
145
145
|
// to extract structured failure details (test names, file locations, etc.)
|
|
146
146
|
if (!result.passed && result.failedStep && result.failedStepOutput) {
|
|
147
|
-
const extractorResult =
|
|
147
|
+
const extractorResult = autoDetectAndExtract(result.failedStep, result.failedStepOutput);
|
|
148
148
|
// Extract failed tests in "file:line" format from extractor errors
|
|
149
149
|
if (extractorResult.errors && extractorResult.errors.length > 0) {
|
|
150
150
|
result.failedTests = extractorResult.errors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"github-actions.js","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"github-actions.js","sourceRoot":"","sources":["../../../src/services/ci-providers/github-actions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-validate/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.14.1",
|
|
4
4
|
"description": "Command-line interface for vibe-validate validation framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
},
|
|
18
18
|
"files": [
|
|
19
19
|
"dist",
|
|
20
|
+
"config-templates",
|
|
20
21
|
"watch-pr-result.schema.json",
|
|
21
22
|
"README.md"
|
|
22
23
|
],
|
|
@@ -59,11 +60,11 @@
|
|
|
59
60
|
"yaml": "^2.6.1",
|
|
60
61
|
"zod": "^3.24.1",
|
|
61
62
|
"zod-to-json-schema": "^3.24.6",
|
|
62
|
-
"@vibe-validate/
|
|
63
|
-
"@vibe-validate/
|
|
64
|
-
"@vibe-validate/
|
|
65
|
-
"@vibe-validate/
|
|
66
|
-
"@vibe-validate/history": "0.
|
|
63
|
+
"@vibe-validate/core": "0.14.1",
|
|
64
|
+
"@vibe-validate/git": "0.14.1",
|
|
65
|
+
"@vibe-validate/extractors": "0.14.1",
|
|
66
|
+
"@vibe-validate/config": "0.14.1",
|
|
67
|
+
"@vibe-validate/history": "0.14.1"
|
|
67
68
|
},
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@types/node": "^20.14.8",
|
|
@@ -71,7 +72,7 @@
|
|
|
71
72
|
"vitest": "^2.0.5"
|
|
72
73
|
},
|
|
73
74
|
"scripts": {
|
|
74
|
-
"build": "tsc && node dist/scripts/generate-watch-pr-schema.js",
|
|
75
|
+
"build": "tsc && node dist/scripts/generate-watch-pr-schema.js && node scripts/copy-templates.js",
|
|
75
76
|
"test": "vitest run",
|
|
76
77
|
"test:watch": "vitest",
|
|
77
78
|
"test:coverage": "vitest run --coverage",
|