@vibe-validate/cli 0.17.0-rc3 → 0.17.0-rc4

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/dist/bin.js CHANGED
@@ -20,6 +20,7 @@ import { doctorCommand } from './commands/doctor.js';
20
20
  import { registerWatchPRCommand } from './commands/watch-pr.js';
21
21
  import { historyCommand } from './commands/history.js';
22
22
  import { runCommand } from './commands/run.js';
23
+ import { createExtractorCommand } from './commands/create-extractor.js';
23
24
  // Read version from package.json at runtime
24
25
  // This approach works with ESM and survives TypeScript compilation
25
26
  const __filename = fileURLToPath(import.meta.url);
@@ -54,6 +55,7 @@ doctorCommand(program); // vibe-validate doctor
54
55
  registerWatchPRCommand(program); // vibe-validate watch-pr
55
56
  historyCommand(program); // vibe-validate history
56
57
  runCommand(program); // vibe-validate run
58
+ createExtractorCommand(program); // vibe-validate create-extractor
57
59
  const verboseHelpRegistry = {
58
60
  'history': async () => {
59
61
  const { showHistoryVerboseHelp } = await import('./commands/history.js');
@@ -103,6 +105,10 @@ const verboseHelpRegistry = {
103
105
  const { showRunVerboseHelp } = await import('./commands/run.js');
104
106
  return showRunVerboseHelp;
105
107
  },
108
+ 'create-extractor': async () => {
109
+ const { showCreateExtractorVerboseHelp } = await import('./commands/create-extractor.js');
110
+ return showCreateExtractorVerboseHelp;
111
+ },
106
112
  };
107
113
  /**
108
114
  * Handle --help --verbose flag combination
package/dist/bin.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Create Extractor Command
3
+ *
4
+ * Interactive scaffold generator for vibe-validate extractor plugins.
5
+ * Creates a fully-functional plugin directory with tests, samples, and documentation.
6
+ */
7
+ import type { Command } from 'commander';
8
+ export declare function createExtractorCommand(program: Command): void;
9
+ /**
10
+ * Show verbose help with detailed documentation
11
+ */
12
+ export declare function showCreateExtractorVerboseHelp(): void;
13
+ //# sourceMappingURL=create-extractor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-extractor.d.ts","sourceRoot":"","sources":["../../src/commands/create-extractor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+BzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+C7D;AAgmBD;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,IAAI,CAoHrD"}
@@ -0,0 +1,755 @@
1
+ /**
2
+ * Create Extractor Command
3
+ *
4
+ * Interactive scaffold generator for vibe-validate extractor plugins.
5
+ * Creates a fully-functional plugin directory with tests, samples, and documentation.
6
+ */
7
+ import { mkdirSync, writeFileSync, existsSync } from 'node:fs';
8
+ import { join } from 'node:path';
9
+ import chalk from 'chalk';
10
+ import prompts from 'prompts';
11
+ export function createExtractorCommand(program) {
12
+ program
13
+ .command('create-extractor [name]')
14
+ .description('Create a new extractor plugin from template')
15
+ .option('--description <desc>', 'Plugin description')
16
+ .option('--author <author>', 'Author name and email')
17
+ .option('--priority <number>', 'Detection priority (higher = check first)', '70')
18
+ .option('-f, --force', 'Overwrite existing plugin directory')
19
+ .action(async (name, options) => {
20
+ try {
21
+ const cwd = process.cwd();
22
+ // Interactive prompts for missing information
23
+ const context = await gatherContext(name, options);
24
+ // Determine output directory
25
+ const pluginDir = join(cwd, `vibe-validate-plugin-${context.pluginName}`);
26
+ // Check if directory exists
27
+ if (existsSync(pluginDir) && !options.force) {
28
+ console.error(chalk.red('❌ Plugin directory already exists:'));
29
+ console.error(chalk.gray(` ${pluginDir}`));
30
+ console.error(chalk.gray(' Use --force to overwrite'));
31
+ process.exit(1);
32
+ }
33
+ // Create plugin directory
34
+ console.log(chalk.blue('🔨 Creating extractor plugin...'));
35
+ createPluginDirectory(pluginDir, context);
36
+ console.log(chalk.green('✅ Extractor plugin created successfully!'));
37
+ console.log(chalk.blue(`📁 Created: ${pluginDir}`));
38
+ console.log();
39
+ console.log(chalk.yellow('Next steps:'));
40
+ console.log(chalk.gray(' 1. cd ' + `vibe-validate-plugin-${context.pluginName}`));
41
+ console.log(chalk.gray(' 2. npm install'));
42
+ console.log(chalk.gray(' 3. Add your sample error output to samples/sample-error.txt'));
43
+ console.log(chalk.gray(' 4. Implement detect() and extract() functions in index.ts'));
44
+ console.log(chalk.gray(' 5. Run tests: npm test'));
45
+ console.log(chalk.gray(' 6. Test the plugin: vibe-validate test-extractor .'));
46
+ process.exit(0);
47
+ }
48
+ catch (error) {
49
+ console.error(chalk.red('❌ Failed to create extractor plugin:'), error);
50
+ process.exit(1);
51
+ }
52
+ });
53
+ }
54
+ /**
55
+ * Gather context from command-line arguments and interactive prompts
56
+ */
57
+ async function gatherContext(name, options) {
58
+ // Prompt for missing information
59
+ const responses = await prompts([
60
+ {
61
+ type: name ? null : 'text',
62
+ name: 'pluginName',
63
+ message: 'Plugin name (kebab-case, e.g., "my-tool"):',
64
+ validate: (value) => /^[a-z][a-z0-9-]*$/.test(value) || 'Must be lowercase alphanumeric with hyphens',
65
+ },
66
+ {
67
+ type: options.description ? null : 'text',
68
+ name: 'description',
69
+ message: 'Plugin description:',
70
+ validate: (value) => value.length > 0 || 'Description is required',
71
+ },
72
+ {
73
+ type: options.author ? null : 'text',
74
+ name: 'author',
75
+ message: 'Author (name <email>):',
76
+ initial: process.env.GIT_AUTHOR_NAME
77
+ ? `${process.env.GIT_AUTHOR_NAME} <${process.env.GIT_AUTHOR_EMAIL ?? ''}>`
78
+ : '',
79
+ },
80
+ {
81
+ type: 'text',
82
+ name: 'detectionPattern',
83
+ message: 'Detection keyword (e.g., "ERROR:", "[FAIL]"):',
84
+ validate: (value) => value.length > 0 || 'Detection keyword is required',
85
+ },
86
+ ]);
87
+ // User cancelled prompts
88
+ if (!responses.pluginName && !name) {
89
+ console.log(chalk.yellow('\n✋ Cancelled'));
90
+ process.exit(0);
91
+ }
92
+ const pluginName = name ?? responses.pluginName;
93
+ const description = options.description ?? responses.description;
94
+ const author = options.author ?? responses.author ?? 'Unknown';
95
+ const detectionPattern = responses.detectionPattern;
96
+ const priority = typeof options.priority === 'number'
97
+ ? options.priority
98
+ : Number.parseInt(options.priority ?? '70', 10);
99
+ // Generate derived values
100
+ const className = kebabToPascalCase(pluginName);
101
+ const displayName = kebabToTitleCase(pluginName);
102
+ const year = new Date().getFullYear().toString();
103
+ return {
104
+ pluginName,
105
+ className,
106
+ displayName,
107
+ description,
108
+ author,
109
+ priority,
110
+ detectionPattern,
111
+ year,
112
+ };
113
+ }
114
+ /**
115
+ * Create plugin directory with all files
116
+ */
117
+ function createPluginDirectory(pluginDir, context) {
118
+ // Create directories
119
+ mkdirSync(pluginDir, { recursive: true });
120
+ mkdirSync(join(pluginDir, 'samples'), { recursive: true });
121
+ // Write files
122
+ writeFileSync(join(pluginDir, 'index.ts'), generateIndexTs(context), 'utf-8');
123
+ writeFileSync(join(pluginDir, 'index.test.ts'), generateIndexTestTs(context), 'utf-8');
124
+ writeFileSync(join(pluginDir, 'README.md'), generateReadme(context), 'utf-8');
125
+ writeFileSync(join(pluginDir, 'CLAUDE.md'), generateClaudeMd(context), 'utf-8');
126
+ writeFileSync(join(pluginDir, 'package.json'), generatePackageJson(context), 'utf-8');
127
+ writeFileSync(join(pluginDir, 'tsconfig.json'), generateTsConfig(context), 'utf-8');
128
+ writeFileSync(join(pluginDir, 'samples', 'sample-error.txt'), generateSampleError(context), 'utf-8');
129
+ console.log(chalk.gray(' ✓ Created index.ts'));
130
+ console.log(chalk.gray(' ✓ Created index.test.ts'));
131
+ console.log(chalk.gray(' ✓ Created README.md'));
132
+ console.log(chalk.gray(' ✓ Created CLAUDE.md'));
133
+ console.log(chalk.gray(' ✓ Created package.json'));
134
+ console.log(chalk.gray(' ✓ Created tsconfig.json'));
135
+ console.log(chalk.gray(' ✓ Created samples/sample-error.txt'));
136
+ }
137
+ /**
138
+ * Generate index.ts (main plugin file)
139
+ */
140
+ function generateIndexTs(context) {
141
+ return `/**
142
+ * ${context.displayName} Extractor Plugin
143
+ *
144
+ * ${context.description}
145
+ *
146
+ * @package vibe-validate-plugin-${context.pluginName}
147
+ */
148
+
149
+ import type {
150
+ ExtractorPlugin,
151
+ DetectionResult,
152
+ ErrorExtractorResult,
153
+ FormattedError,
154
+ } from '@vibe-validate/extractors';
155
+
156
+ /**
157
+ * Detects if output is from ${context.displayName}
158
+ */
159
+ export function detect${context.className}(output: string): DetectionResult {
160
+ const lines = output.split('\\n');
161
+ let score = 0;
162
+ const foundPatterns: string[] = [];
163
+
164
+ // TODO: Implement your detection logic here
165
+ // Example: Look for specific keywords or patterns
166
+ for (const line of lines) {
167
+ if (line.includes('${context.detectionPattern}')) {
168
+ score += 50;
169
+ foundPatterns.push('${context.detectionPattern} marker');
170
+ break;
171
+ }
172
+ }
173
+
174
+ // Determine reason based on score
175
+ let reason: string;
176
+ if (score >= 70) {
177
+ reason = '${context.displayName} output detected';
178
+ } else if (score >= 40) {
179
+ reason = 'Possible ${context.displayName} output';
180
+ } else {
181
+ reason = 'Not ${context.displayName} output';
182
+ }
183
+
184
+ return {
185
+ confidence: Math.min(score, 100),
186
+ patterns: foundPatterns,
187
+ reason,
188
+ };
189
+ }
190
+
191
+ /**
192
+ * Extracts errors from ${context.displayName} output
193
+ */
194
+ export function extract${context.className}(
195
+ output: string,
196
+ command?: string
197
+ ): ErrorExtractorResult {
198
+ const detection = detect${context.className}(output);
199
+
200
+ if (detection.confidence < 40) {
201
+ return {
202
+ summary: 'Not ${context.displayName} output',
203
+ totalErrors: 0,
204
+ errors: [],
205
+ metadata: {
206
+ detection: {
207
+ extractor: '${context.pluginName}',
208
+ confidence: detection.confidence,
209
+ patterns: detection.patterns,
210
+ reason: detection.reason,
211
+ },
212
+ confidence: detection.confidence,
213
+ completeness: 100,
214
+ issues: [],
215
+ },
216
+ };
217
+ }
218
+
219
+ const errors: FormattedError[] = [];
220
+ const lines = output.split('\\n');
221
+
222
+ // TODO: Implement your error extraction logic here
223
+ // Example: Parse error lines and extract file, line, column, message
224
+ for (const line of lines) {
225
+ if (line.includes('${context.detectionPattern}')) {
226
+ // Extract error details (customize this for your format)
227
+ errors.push({
228
+ file: 'unknown',
229
+ line: 1,
230
+ message: line.trim(),
231
+ });
232
+ }
233
+ }
234
+
235
+ const summary = \`\${errors.length} error(s) found\`;
236
+ const guidance = errors.length > 0
237
+ ? \`Fix errors shown above. Run \${command ?? 'your-command'} to see all details.\`
238
+ : undefined;
239
+
240
+ return {
241
+ summary,
242
+ totalErrors: errors.length,
243
+ errors,
244
+ guidance,
245
+ metadata: {
246
+ detection: {
247
+ extractor: '${context.pluginName}',
248
+ confidence: detection.confidence,
249
+ patterns: detection.patterns,
250
+ reason: detection.reason,
251
+ },
252
+ confidence: 100,
253
+ completeness: 100,
254
+ issues: [],
255
+ },
256
+ };
257
+ }
258
+
259
+ /**
260
+ * ${context.displayName} Extractor Plugin
261
+ */
262
+ const ${context.pluginName.replace(/-/g, '')}Extractor: ExtractorPlugin = {
263
+ metadata: {
264
+ name: '${context.pluginName}',
265
+ version: '1.0.0',
266
+ author: '${context.author}',
267
+ description: '${context.description}',
268
+ repository: 'https://github.com/your-username/vibe-validate-plugin-${context.pluginName}',
269
+ tags: ['custom', '${context.pluginName}'],
270
+ },
271
+
272
+ hints: {
273
+ required: ['${context.detectionPattern}'],
274
+ },
275
+
276
+ priority: ${context.priority},
277
+
278
+ detect: detect${context.className},
279
+ extract: extract${context.className},
280
+
281
+ samples: [
282
+ {
283
+ name: 'basic-error',
284
+ description: 'Basic error output',
285
+ inputFile: './samples/sample-error.txt',
286
+ expected: {
287
+ totalErrors: 1,
288
+ },
289
+ },
290
+ ],
291
+ };
292
+
293
+ export default ${context.pluginName.replace(/-/g, '')}Extractor;
294
+ `;
295
+ }
296
+ /**
297
+ * Generate index.test.ts (tests)
298
+ */
299
+ function generateIndexTestTs(context) {
300
+ return `/**
301
+ * ${context.displayName} Extractor Tests
302
+ */
303
+
304
+ import { describe, it, expect } from 'vitest';
305
+ import { readFileSync } from 'node:fs';
306
+ import { join } from 'node:path';
307
+ import extractor from './index.js';
308
+
309
+ describe('${context.pluginName} extractor', () => {
310
+ it('should have correct metadata', () => {
311
+ expect(extractor.metadata.name).toBe('${context.pluginName}');
312
+ expect(extractor.metadata.version).toBe('1.0.0');
313
+ });
314
+
315
+ it('should detect ${context.displayName} output', () => {
316
+ const output = '${context.detectionPattern} Something went wrong';
317
+ const result = extractor.detect(output);
318
+
319
+ expect(result.confidence).toBeGreaterThan(40);
320
+ expect(result.patterns.length).toBeGreaterThan(0);
321
+ });
322
+
323
+ it('should not detect non-${context.displayName} output', () => {
324
+ const output = 'This is some random text';
325
+ const result = extractor.detect(output);
326
+
327
+ expect(result.confidence).toBeLessThan(40);
328
+ });
329
+
330
+ it('should extract errors from ${context.displayName} output', () => {
331
+ const output = '${context.detectionPattern} Something went wrong';
332
+ const result = extractor.extract(output);
333
+
334
+ expect(result.totalErrors).toBeGreaterThan(0);
335
+ expect(result.errors.length).toBeGreaterThan(0);
336
+ });
337
+
338
+ it('should process sample file', () => {
339
+ const samplePath = join(__dirname, 'samples', 'sample-error.txt');
340
+ const sampleContent = readFileSync(samplePath, 'utf-8');
341
+
342
+ const result = extractor.extract(sampleContent);
343
+
344
+ // Update these expectations based on your sample file
345
+ expect(result.totalErrors).toBeGreaterThanOrEqual(1);
346
+ expect(result.summary).toBeTruthy();
347
+ });
348
+ });
349
+ `;
350
+ }
351
+ /**
352
+ * Generate README.md
353
+ */
354
+ function generateReadme(context) {
355
+ return `# ${context.displayName} Extractor Plugin
356
+
357
+ ${context.description}
358
+
359
+ ## Installation
360
+
361
+ \`\`\`bash
362
+ npm install vibe-validate-plugin-${context.pluginName}
363
+ \`\`\`
364
+
365
+ ## Usage
366
+
367
+ Add to your \`vibe-validate.config.yaml\`:
368
+
369
+ \`\`\`yaml
370
+ extractors:
371
+ external:
372
+ - package: vibe-validate-plugin-${context.pluginName}
373
+ trust: sandbox # Run in sandbox for security
374
+ \`\`\`
375
+
376
+ Or use a local plugin:
377
+
378
+ \`\`\`yaml
379
+ extractors:
380
+ localPlugins:
381
+ - path: ./vibe-validate-local-plugins/${context.pluginName}
382
+ trust: sandbox
383
+ \`\`\`
384
+
385
+ ## Development
386
+
387
+ \`\`\`bash
388
+ # Install dependencies
389
+ npm install
390
+
391
+ # Run tests
392
+ npm test
393
+
394
+ # Build
395
+ npm run build
396
+ \`\`\`
397
+
398
+ ## How It Works
399
+
400
+ This extractor:
401
+ 1. Detects ${context.displayName} output by looking for "${context.detectionPattern}"
402
+ 2. Extracts error information (file, line, message)
403
+ 3. Formats errors for LLM consumption
404
+
405
+ ## Configuration
406
+
407
+ Priority: ${context.priority}
408
+
409
+ Detection hints:
410
+ - Required keywords: "${context.detectionPattern}"
411
+
412
+ ## Sample Output
413
+
414
+ See \`samples/sample-error.txt\` for example error output this extractor handles.
415
+
416
+ ## License
417
+
418
+ MIT
419
+
420
+ ## Author
421
+
422
+ ${context.author}
423
+ `;
424
+ }
425
+ /**
426
+ * Generate CLAUDE.md
427
+ */
428
+ function generateClaudeMd(context) {
429
+ return `# ${context.displayName} Extractor - Claude Code Guidance
430
+
431
+ This file provides guidance to Claude Code when working on this extractor.
432
+
433
+ ## What This Extractor Does
434
+
435
+ ${context.description}
436
+
437
+ ## Plugin Architecture
438
+
439
+ This extractor follows the **ExtractorPlugin** interface:
440
+
441
+ \`\`\`typescript
442
+ {
443
+ metadata: { name, version, author, description, repository, tags },
444
+ hints: { required, anyOf, forbidden },
445
+ priority: number,
446
+ detect(output: string): DetectionResult,
447
+ extract(output: string, command?: string): ErrorExtractorResult,
448
+ samples: ExtractorSample[],
449
+ }
450
+ \`\`\`
451
+
452
+ ### Key Principles
453
+
454
+ 1. **No File I/O** - Extractor receives \`output: string\` parameter only (safe for sandboxing)
455
+ 2. **Hints for Performance** - Simple string.includes() checks filter candidates before expensive detect()
456
+ 3. **Samples Required** - Real-world test data co-located for testing
457
+ 4. **Metadata is Source of Truth** - Registration name comes from \`metadata.name\`
458
+
459
+ ## Code Structure
460
+
461
+ ### Files
462
+ - \`index.ts\` - Main plugin export with detect() and extract() functions
463
+ - \`samples/\` - Real-world error output samples
464
+ - \`index.test.ts\` - Tests using samples
465
+ - \`README.md\` - Human-readable documentation
466
+ - \`CLAUDE.md\` - This file (LLM-specific guidance)
467
+
468
+ ## Detection Logic
469
+
470
+ ### Two-Phase Detection
471
+
472
+ **Phase 1: Fast Hints (string.includes() only)**
473
+ \`\`\`typescript
474
+ hints: {
475
+ required: ['${context.detectionPattern}'],
476
+ }
477
+ \`\`\`
478
+
479
+ **Phase 2: Precise Detection (if hints match)**
480
+ \`\`\`typescript
481
+ detect(output: string): DetectionResult {
482
+ // Additive scoring based on patterns found
483
+ // Returns confidence 0-100
484
+ }
485
+ \`\`\`
486
+
487
+ ### Confidence Scoring
488
+
489
+ Adjust these thresholds based on your tool's output format:
490
+ - 70+ points = high confidence
491
+ - 40-69 = possible match
492
+ - <40 = not a match
493
+
494
+ ## Testing Requirements
495
+
496
+ **CRITICAL:** All changes MUST include tests with real output from your tool.
497
+
498
+ ### Test Data Requirements
499
+
500
+ 1. **Real-world samples** - Use actual tool output (not hand-crafted)
501
+ 2. **Co-located** - Store in \`samples/\` directory
502
+ 3. **Redacted** - Remove sensitive paths, usernames, company names
503
+
504
+ ### Running Tests
505
+
506
+ \`\`\`bash
507
+ # All tests
508
+ npm test
509
+
510
+ # Watch mode
511
+ npm test -- --watch
512
+ \`\`\`
513
+
514
+ ## Security Considerations
515
+
516
+ This extractor is **SAFE for sandboxed execution**:
517
+ - ✅ **No file I/O** - Only reads \`output: string\` parameter
518
+ - ✅ **No process execution** - No \`child_process\`, \`exec\`, \`spawn\`
519
+ - ✅ **No network access** - No \`fetch\`, \`http\`, \`https\`
520
+ - ✅ **No dangerous APIs** - No \`eval\`, \`Function()\`, \`require()\`
521
+ - ✅ **Deterministic** - Same input always produces same output
522
+
523
+ ## Common Modifications
524
+
525
+ ### Adding New Error Pattern
526
+
527
+ 1. Add pattern to detection logic
528
+ 2. Update scoring if needed
529
+ 3. Add sample demonstrating the pattern
530
+ 4. Add test case
531
+
532
+ ### Adjusting Detection Confidence
533
+
534
+ If false positives/negatives occur:
535
+ 1. Review \`hints\` - are they too broad/narrow?
536
+ 2. Review \`detect()\` scoring - do patterns need reweighting?
537
+ 3. Add test case demonstrating the issue
538
+ 4. Adjust hints or detection logic
539
+ `;
540
+ }
541
+ /**
542
+ * Generate package.json
543
+ */
544
+ function generatePackageJson(context) {
545
+ return `{
546
+ "name": "vibe-validate-plugin-${context.pluginName}",
547
+ "version": "1.0.0",
548
+ "description": "${context.description}",
549
+ "type": "module",
550
+ "main": "./dist/index.js",
551
+ "types": "./dist/index.d.ts",
552
+ "files": [
553
+ "dist",
554
+ "samples"
555
+ ],
556
+ "scripts": {
557
+ "build": "tsc",
558
+ "test": "vitest run",
559
+ "test:watch": "vitest watch",
560
+ "prepublishOnly": "npm run build && npm test"
561
+ },
562
+ "keywords": [
563
+ "vibe-validate",
564
+ "extractor",
565
+ "plugin",
566
+ "${context.pluginName}"
567
+ ],
568
+ "author": "${context.author}",
569
+ "license": "MIT",
570
+ "peerDependencies": {
571
+ "@vibe-validate/extractors": "^0.17.0"
572
+ },
573
+ "devDependencies": {
574
+ "@types/node": "^20.0.0",
575
+ "@vibe-validate/extractors": "^0.17.0",
576
+ "typescript": "^5.3.0",
577
+ "vitest": "^2.0.0"
578
+ }
579
+ }
580
+ `;
581
+ }
582
+ /**
583
+ * Generate tsconfig.json
584
+ */
585
+ function generateTsConfig(_context) {
586
+ return `{
587
+ "compilerOptions": {
588
+ "target": "ES2022",
589
+ "module": "ES2022",
590
+ "lib": ["ES2022"],
591
+ "moduleResolution": "node",
592
+ "esModuleInterop": true,
593
+ "declaration": true,
594
+ "outDir": "./dist",
595
+ "rootDir": "./",
596
+ "strict": true,
597
+ "skipLibCheck": true,
598
+ "forceConsistentCasingInFileNames": true
599
+ },
600
+ "include": ["*.ts"],
601
+ "exclude": ["node_modules", "dist"]
602
+ }
603
+ `;
604
+ }
605
+ /**
606
+ * Generate sample error file
607
+ */
608
+ function generateSampleError(context) {
609
+ return `${context.detectionPattern} Example error message
610
+ ${context.detectionPattern} Add real error output from your tool here
611
+ ${context.detectionPattern} Replace this with actual error messages
612
+
613
+ Replace this file with real error output from your tool.
614
+ This helps with testing and validation.
615
+ `;
616
+ }
617
+ /**
618
+ * Convert kebab-case to PascalCase
619
+ */
620
+ function kebabToPascalCase(str) {
621
+ return str
622
+ .split('-')
623
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
624
+ .join('');
625
+ }
626
+ /**
627
+ * Convert kebab-case to Title Case
628
+ */
629
+ function kebabToTitleCase(str) {
630
+ return str
631
+ .split('-')
632
+ .map((part) => part.charAt(0).toUpperCase() + part.slice(1))
633
+ .join(' ');
634
+ }
635
+ /**
636
+ * Show verbose help with detailed documentation
637
+ */
638
+ export function showCreateExtractorVerboseHelp() {
639
+ console.log(`# create-extractor Command Reference
640
+
641
+ > Create a new extractor plugin from template
642
+
643
+ ## Overview
644
+
645
+ The \`create-extractor\` command generates a fully-functional extractor plugin directory with:
646
+ - TypeScript source code with detect() and extract() functions
647
+ - Test suite using Vitest
648
+ - Sample error data
649
+ - Documentation (README.md, CLAUDE.md)
650
+ - Package.json with proper dependencies
651
+ - TypeScript configuration
652
+
653
+ ## How It Works
654
+
655
+ 1. **Prompts for plugin metadata** (name, description, author, etc.)
656
+ 2. **Generates plugin directory** with all necessary files
657
+ 3. **Creates sample test data** directory
658
+ 4. **Outputs next steps** for development
659
+
660
+ ## Options
661
+
662
+ - \`[name]\` - Plugin name (kebab-case, e.g., "my-tool")
663
+ - \`--description <desc>\` - Plugin description
664
+ - \`--author <author>\` - Author name and email
665
+ - \`--priority <number>\` - Detection priority (default: 70)
666
+ - \`-f, --force\` - Overwrite existing plugin directory
667
+
668
+ ## Exit Codes
669
+
670
+ - \`0\` - Plugin created successfully
671
+ - \`1\` - Failed (directory exists without --force, or invalid input)
672
+
673
+ ## Files Created
674
+
675
+ - \`vibe-validate-plugin-<name>/\`
676
+ - \`index.ts\` - Main plugin code
677
+ - \`index.test.ts\` - Test suite
678
+ - \`README.md\` - User documentation
679
+ - \`CLAUDE.md\` - AI assistant guidance
680
+ - \`package.json\` - NPM package metadata
681
+ - \`tsconfig.json\` - TypeScript configuration
682
+ - \`samples/sample-error.txt\` - Example error output
683
+
684
+ ## Examples
685
+
686
+ \`\`\`bash
687
+ # Interactive mode (prompts for all info)
688
+ vibe-validate create-extractor
689
+
690
+ # With plugin name specified
691
+ vibe-validate create-extractor my-tool
692
+
693
+ # Non-interactive (all options provided)
694
+ vibe-validate create-extractor my-tool \\
695
+ --description "Extracts errors from my tool" \\
696
+ --author "John Doe <john@example.com>" \\
697
+ --priority 70
698
+
699
+ # Overwrite existing plugin
700
+ vibe-validate create-extractor my-tool --force
701
+ \`\`\`
702
+
703
+ ## Development Workflow
704
+
705
+ \`\`\`bash
706
+ # 1. Create plugin
707
+ vibe-validate create-extractor my-tool
708
+
709
+ # 2. Navigate to plugin directory
710
+ cd vibe-validate-plugin-my-tool
711
+
712
+ # 3. Install dependencies
713
+ npm install
714
+
715
+ # 4. Add real error output to samples/
716
+ # Copy actual error output from your tool
717
+
718
+ # 5. Implement detect() and extract() functions
719
+ # Edit index.ts with your detection and extraction logic
720
+
721
+ # 6. Run tests
722
+ npm test
723
+
724
+ # 7. Test with vibe-validate
725
+ vibe-validate test-extractor .
726
+
727
+ # 8. Publish (optional)
728
+ npm publish
729
+ \`\`\`
730
+
731
+ ## Plugin Structure
732
+
733
+ Generated plugins follow the vibe-validate plugin architecture:
734
+
735
+ - **ExtractorPlugin interface** with metadata, hints, priority, detect(), extract()
736
+ - **No file I/O** - safe for sandboxed execution
737
+ - **Fast hints** - string.includes() checks for efficient filtering
738
+ - **Samples** - co-located test data for validation
739
+
740
+ ## Next Steps After Creation
741
+
742
+ 1. **Replace sample-error.txt** with real error output from your tool
743
+ 2. **Implement detect()** function to identify your tool's output
744
+ 3. **Implement extract()** function to parse errors
745
+ 4. **Run tests** to validate functionality
746
+ 5. **Test with vibe-validate** using \`test-extractor\` command
747
+ 6. **Publish to npm** (optional) or use locally
748
+
749
+ ## Related Commands
750
+
751
+ - \`vibe-validate fork-extractor <name>\` - Copy built-in extractor for customization
752
+ - \`vibe-validate test-extractor <path>\` - Validate plugin functionality and security
753
+ `);
754
+ }
755
+ //# sourceMappingURL=create-extractor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-extractor.js","sourceRoot":"","sources":["../../src/commands/create-extractor.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.17.0-rc3",
3
+ "version": "0.17.0-rc4",
4
4
  "description": "Command-line interface for vibe-validate validation framework",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -58,17 +58,19 @@
58
58
  "dependencies": {
59
59
  "chalk": "^5.3.0",
60
60
  "commander": "^12.1.0",
61
+ "prompts": "^2.4.2",
61
62
  "yaml": "^2.6.1",
62
63
  "zod": "^3.24.1",
63
64
  "zod-to-json-schema": "^3.24.6",
64
- "@vibe-validate/config": "0.17.0-rc3",
65
- "@vibe-validate/extractors": "0.17.0-rc3",
66
- "@vibe-validate/core": "0.17.0-rc3",
67
- "@vibe-validate/git": "0.17.0-rc3",
68
- "@vibe-validate/history": "0.17.0-rc3"
65
+ "@vibe-validate/config": "0.17.0-rc4",
66
+ "@vibe-validate/git": "0.17.0-rc4",
67
+ "@vibe-validate/core": "0.17.0-rc4",
68
+ "@vibe-validate/extractors": "0.17.0-rc4",
69
+ "@vibe-validate/history": "0.17.0-rc4"
69
70
  },
70
71
  "devDependencies": {
71
72
  "@types/node": "^20.14.8",
73
+ "@types/prompts": "^2.4.9",
72
74
  "typescript": "^5.5.2",
73
75
  "vitest": "^2.0.5"
74
76
  },