@vibe-validate/cli 0.14.3 → 0.15.0-rc.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.
Files changed (83) hide show
  1. package/README.md +26 -6
  2. package/bin/vibe-validate +131 -0
  3. package/config-templates/minimal.yaml +1 -1
  4. package/config-templates/typescript-library.yaml +1 -1
  5. package/config-templates/typescript-nodejs.yaml +1 -1
  6. package/config-templates/typescript-react.yaml +1 -1
  7. package/dist/bin.js +18 -4
  8. package/dist/bin.js.map +1 -1
  9. package/dist/commands/cleanup.d.ts +1 -1
  10. package/dist/commands/cleanup.d.ts.map +1 -1
  11. package/dist/commands/cleanup.js +108 -2
  12. package/dist/commands/cleanup.js.map +1 -1
  13. package/dist/commands/config.js +1 -1
  14. package/dist/commands/doctor.d.ts.map +1 -1
  15. package/dist/commands/doctor.js +45 -6
  16. package/dist/commands/doctor.js.map +1 -1
  17. package/dist/commands/generate-workflow.d.ts.map +1 -1
  18. package/dist/commands/generate-workflow.js +3 -11
  19. package/dist/commands/generate-workflow.js.map +1 -1
  20. package/dist/commands/history.d.ts.map +1 -1
  21. package/dist/commands/history.js +263 -68
  22. package/dist/commands/history.js.map +1 -1
  23. package/dist/commands/init.d.ts.map +1 -1
  24. package/dist/commands/init.js +7 -0
  25. package/dist/commands/init.js.map +1 -1
  26. package/dist/commands/pre-commit.d.ts.map +1 -1
  27. package/dist/commands/pre-commit.js +6 -2
  28. package/dist/commands/pre-commit.js.map +1 -1
  29. package/dist/commands/run.d.ts.map +1 -1
  30. package/dist/commands/run.js +618 -214
  31. package/dist/commands/run.js.map +1 -1
  32. package/dist/commands/state.d.ts.map +1 -1
  33. package/dist/commands/state.js +4 -7
  34. package/dist/commands/state.js.map +1 -1
  35. package/dist/commands/validate.d.ts.map +1 -1
  36. package/dist/commands/validate.js +5 -6
  37. package/dist/commands/validate.js.map +1 -1
  38. package/dist/commands/watch-pr.d.ts.map +1 -1
  39. package/dist/commands/watch-pr.js +33 -16
  40. package/dist/commands/watch-pr.js.map +1 -1
  41. package/dist/schemas/run-result-schema-export.d.ts +32 -0
  42. package/dist/schemas/run-result-schema-export.d.ts.map +1 -0
  43. package/dist/schemas/run-result-schema-export.js +40 -0
  44. package/dist/schemas/run-result-schema-export.js.map +1 -0
  45. package/dist/schemas/run-result-schema.d.ts +850 -0
  46. package/dist/schemas/run-result-schema.d.ts.map +1 -0
  47. package/dist/schemas/run-result-schema.js +67 -0
  48. package/dist/schemas/run-result-schema.js.map +1 -0
  49. package/dist/schemas/watch-pr-schema.d.ts +420 -22
  50. package/dist/schemas/watch-pr-schema.d.ts.map +1 -1
  51. package/dist/schemas/watch-pr-schema.js +2 -2
  52. package/dist/schemas/watch-pr-schema.js.map +1 -1
  53. package/dist/scripts/generate-run-result-schema.d.ts +10 -0
  54. package/dist/scripts/generate-run-result-schema.d.ts.map +1 -0
  55. package/dist/scripts/generate-run-result-schema.js +20 -0
  56. package/dist/scripts/generate-run-result-schema.js.map +1 -0
  57. package/dist/services/ci-provider.d.ts +21 -6
  58. package/dist/services/ci-provider.d.ts.map +1 -1
  59. package/dist/services/ci-providers/github-actions.d.ts +1 -5
  60. package/dist/services/ci-providers/github-actions.d.ts.map +1 -1
  61. package/dist/services/ci-providers/github-actions.js +9 -30
  62. package/dist/services/ci-providers/github-actions.js.map +1 -1
  63. package/dist/utils/config-error-reporter.js +1 -1
  64. package/dist/utils/config-error-reporter.js.map +1 -1
  65. package/dist/utils/pid-lock.d.ts.map +1 -1
  66. package/dist/utils/pid-lock.js +3 -6
  67. package/dist/utils/pid-lock.js.map +1 -1
  68. package/dist/utils/project-id.d.ts.map +1 -1
  69. package/dist/utils/project-id.js +3 -4
  70. package/dist/utils/project-id.js.map +1 -1
  71. package/dist/utils/runner-adapter.js +3 -2
  72. package/dist/utils/runner-adapter.js.map +1 -1
  73. package/dist/utils/temp-files.d.ts +67 -0
  74. package/dist/utils/temp-files.d.ts.map +1 -0
  75. package/dist/utils/temp-files.js +202 -0
  76. package/dist/utils/temp-files.js.map +1 -0
  77. package/dist/utils/validate-workflow.d.ts.map +1 -1
  78. package/dist/utils/validate-workflow.js +17 -12
  79. package/dist/utils/validate-workflow.js.map +1 -1
  80. package/dist/vibe-validate +131 -0
  81. package/package.json +11 -9
  82. package/run-result.schema.json +186 -0
  83. package/watch-pr-result.schema.json +128 -6
package/README.md CHANGED
@@ -18,16 +18,20 @@ The `@vibe-validate/cli` package provides a command-line interface for running v
18
18
 
19
19
  ## Installation
20
20
 
21
+ **Recommended**: Install via the umbrella package:
22
+
21
23
  ```bash
22
- npm install -D @vibe-validate/cli
24
+ npm install -D vibe-validate
23
25
  ```
24
26
 
25
27
  Or use directly via `npx`:
26
28
 
27
29
  ```bash
28
- npx @vibe-validate/cli validate
30
+ npx vibe-validate validate
29
31
  ```
30
32
 
33
+ > **Note**: This package is also available as `@vibe-validate/cli`, but we recommend using the umbrella package `vibe-validate` for simpler installation.
34
+
31
35
  ## Upgrading
32
36
 
33
37
  After upgrading vibe-validate to a new version, run the doctor command to check for configuration issues and deprecated files:
@@ -371,7 +375,7 @@ Create `vibe-validate.config.yaml` in your project root:
371
375
  <!-- config:example -->
372
376
  ```yaml
373
377
  # JSON Schema for IDE autocomplete
374
- $schema: https://unpkg.com/@vibe-validate/config/vibe-validate.schema.json
378
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
375
379
 
376
380
  git:
377
381
  mainBranch: main
@@ -461,10 +465,26 @@ npx vibe-validate state
461
465
  passed: false
462
466
  timestamp: 2025-10-16T20:00:00.000Z
463
467
  treeHash: abc123...
468
+ summary: "TypeScript type check failed"
464
469
  failedStep: TypeScript
465
- failedStepOutput: |
466
- src/index.ts:10:5 - error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'.
467
- rerunCommand: pnpm typecheck
470
+ phases:
471
+ - name: "Pre-Qualification"
472
+ passed: false
473
+ durationSecs: 2.5
474
+ steps:
475
+ - name: "TypeScript"
476
+ command: "pnpm typecheck"
477
+ exitCode: 1
478
+ durationSecs: 2.5
479
+ passed: false
480
+ extraction:
481
+ errors:
482
+ - file: src/index.ts
483
+ line: 10
484
+ column: 5
485
+ message: "error TS2345: Argument of type 'string' is not assignable to parameter of type 'number'"
486
+ summary: "1 type error"
487
+ totalErrors: 1
468
488
  ```
469
489
 
470
490
  ## Integration with Pre-Commit Hooks
@@ -0,0 +1,131 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Smart vibe-validate wrapper with context-aware execution
4
+ *
5
+ * Automatically detects execution context and delegates to appropriate binary:
6
+ * - Developer mode: Inside vibe-validate repo → packages/cli/dist/bin.js (unpackaged dev build)
7
+ * - Local install: Project has vibe-validate → node_modules version (packaged)
8
+ * - Global install: Fallback → globally installed version (packaged)
9
+ *
10
+ * Works in both git and non-git directories. Non-git directories don't get
11
+ * caching but still get error extraction.
12
+ */
13
+
14
+ import { existsSync } from 'fs';
15
+ import { dirname, join } from 'path';
16
+ import { spawnSync } from 'child_process';
17
+ import { fileURLToPath } from 'url';
18
+
19
+ const __filename = fileURLToPath(import.meta.url);
20
+ const __dirname = dirname(__filename);
21
+
22
+ /**
23
+ * Find project root by walking up to .git directory
24
+ * Falls back to startDir if no git repo found
25
+ */
26
+ function findProjectRoot(startDir) {
27
+ let current = startDir;
28
+
29
+ while (true) {
30
+ const gitDir = join(current, '.git');
31
+ if (existsSync(gitDir)) {
32
+ return current; // Found git repo
33
+ }
34
+
35
+ const parent = dirname(current);
36
+ if (parent === current) {
37
+ // Reached filesystem root, no git found
38
+ return startDir;
39
+ }
40
+ current = parent;
41
+ }
42
+ }
43
+
44
+ /**
45
+ * Check if we're in vibe-validate repo (developer mode)
46
+ * Simple detection: both dist/vibe-validate and dist/bin.js must exist
47
+ */
48
+ function getDevModeBinary(projectRoot) {
49
+ const wrapperPath = join(projectRoot, 'packages/cli/dist/vibe-validate');
50
+ const binPath = join(projectRoot, 'packages/cli/dist/bin.js');
51
+
52
+ // Both files must exist to confirm we're in vibe-validate repo
53
+ if (existsSync(wrapperPath) && existsSync(binPath)) {
54
+ return binPath;
55
+ }
56
+
57
+ return null;
58
+ }
59
+
60
+ /**
61
+ * Find local vibe-validate installation in node_modules
62
+ * Walks up directory tree from project root
63
+ */
64
+ function findLocalInstall(projectRoot) {
65
+ let current = projectRoot;
66
+
67
+ while (true) {
68
+ const localBin = join(current, 'node_modules/@vibe-validate/cli/dist/bin.js');
69
+ if (existsSync(localBin)) {
70
+ return localBin;
71
+ }
72
+
73
+ const parent = dirname(current);
74
+ if (parent === current) {
75
+ // Reached filesystem root
76
+ break;
77
+ }
78
+ current = parent;
79
+ }
80
+
81
+ return null;
82
+ }
83
+
84
+ /**
85
+ * Main entry point - detects context and executes appropriate binary
86
+ */
87
+ function main() {
88
+ const cwd = process.cwd();
89
+ const args = process.argv.slice(2);
90
+
91
+ // Find project root (where .git is, or cwd if no git)
92
+ const projectRoot = findProjectRoot(cwd);
93
+
94
+ let binPath;
95
+ let context;
96
+
97
+ // Priority 1: Check for developer mode (inside vibe-validate repo)
98
+ const devBin = getDevModeBinary(projectRoot);
99
+ if (devBin) {
100
+ binPath = devBin;
101
+ context = 'dev';
102
+ }
103
+ // Priority 2: Check for local install (node_modules)
104
+ else {
105
+ const localBin = findLocalInstall(projectRoot);
106
+ if (localBin) {
107
+ binPath = localBin;
108
+ context = 'local';
109
+ }
110
+ // Priority 3: Use global install (this script's location)
111
+ else {
112
+ binPath = join(__dirname, '../dist/bin.js');
113
+ context = 'global';
114
+ }
115
+ }
116
+
117
+ // Execute the binary with all arguments
118
+ const result = spawnSync(process.execPath, [binPath, ...args], {
119
+ stdio: 'inherit',
120
+ env: {
121
+ ...process.env,
122
+ VV_CONTEXT: context, // Pass context for debugging (optional)
123
+ }
124
+ });
125
+
126
+ // Exit with same code as child process
127
+ process.exit(result.status ?? 1);
128
+ }
129
+
130
+ // Run main function
131
+ main();
@@ -14,7 +14,7 @@
14
14
  # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
15
15
  # ============================================================================
16
16
 
17
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
17
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
18
18
 
19
19
  # Git settings
20
20
  git:
@@ -14,7 +14,7 @@
14
14
  # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
15
15
  # ============================================================================
16
16
 
17
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
17
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
18
18
 
19
19
  # Git settings
20
20
  git:
@@ -15,7 +15,7 @@
15
15
  # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
16
16
  # ============================================================================
17
17
 
18
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
18
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
19
19
 
20
20
  # Git settings
21
21
  git:
@@ -15,7 +15,7 @@
15
15
  # Learn more: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
16
16
  # ============================================================================
17
17
 
18
- $schema: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
18
+ $schema: https://unpkg.com/@vibe-validate/config/config.schema.json
19
19
 
20
20
  # Git settings
21
21
  git:
package/dist/bin.js CHANGED
@@ -115,6 +115,20 @@ async function handleVerboseHelp(args, program) {
115
115
  if (!hasHelp || !hasVerbose) {
116
116
  return false;
117
117
  }
118
+ // Special case: 'run' command
119
+ // Check if there's a command specified after 'run' (non-flag argument)
120
+ const runIndex = args.findIndex(arg => arg === 'run');
121
+ if (runIndex !== -1) {
122
+ // Look for first non-flag argument after 'run'
123
+ const argsAfterRun = args.slice(runIndex + 1);
124
+ const hasCommand = argsAfterRun.some(arg => !arg.startsWith('-'));
125
+ if (hasCommand) {
126
+ // e.g. "vv run --verbose node --help" - flags are for wrapped command
127
+ return false;
128
+ }
129
+ // e.g. "vv run --verbose --help" - no command, show help for run itself
130
+ // Fall through to normal help handling
131
+ }
118
132
  // Check if a subcommand is specified
119
133
  const knownCommands = Object.keys(verboseHelpRegistry);
120
134
  const subcommandIndex = args.findIndex(arg => knownCommands.includes(arg));
@@ -155,7 +169,7 @@ function showComprehensiveHelp(program) {
155
169
  whatItDoes: [
156
170
  '1. Calculates git tree hash of working directory',
157
171
  '2. Checks if hash matches cached state',
158
- '3. If match: exits immediately (~288ms)',
172
+ '3. If match: exits immediately (sub-second)',
159
173
  '4. If no match: runs validation pipeline (~60-90s)',
160
174
  '5. Caches result for next run'
161
175
  ],
@@ -164,7 +178,7 @@ function showComprehensiveHelp(program) {
164
178
  1: 'Validation failed',
165
179
  2: 'Configuration error'
166
180
  },
167
- creates: ['Git notes under refs/notes/vibe-validate/runs'],
181
+ creates: ['Git notes under refs/notes/vibe-validate/validate'],
168
182
  examples: [
169
183
  'vibe-validate validate # Use cache if available',
170
184
  'vibe-validate validate --force # Always run validation',
@@ -446,7 +460,7 @@ function showComprehensiveHelp(program) {
446
460
  console.log('| File | Purpose |');
447
461
  console.log('|------|---------|');
448
462
  console.log('| `vibe-validate.config.yaml` | Configuration (required) |');
449
- console.log('| `refs/notes/vibe-validate/runs` | Validation state (git notes, auto-created) |');
463
+ console.log('| `refs/notes/vibe-validate/validate` | Validation state (git notes, auto-created) |');
450
464
  console.log('| `.github/workflows/validate.yml` | CI workflow (optional, generated) |');
451
465
  console.log('| `.husky/pre-commit` | Pre-commit hook (optional, setup via init) |\n');
452
466
  console.log('## Common Workflows\n');
@@ -484,7 +498,7 @@ function showComprehensiveHelp(program) {
484
498
  console.log('| `2` | Error (git command failed, file system error) |\n');
485
499
  console.log('## Caching\n');
486
500
  console.log('- **Cache key**: Git tree hash of working directory (includes untracked files)');
487
- console.log('- **Cache hit**: Validation skipped (~288ms)');
501
+ console.log('- **Cache hit**: Validation skipped (sub-second)');
488
502
  console.log('- **Cache miss**: Full validation runs (~60-90s)');
489
503
  console.log('- **Invalidation**: Any file change (tracked or untracked)\n');
490
504
  console.log('---\n');
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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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Cleanup Command
3
3
  *
4
- * Post-merge branch cleanup - switches to main and deletes merged branches.
4
+ * Post-merge branch cleanup and temp file management.
5
5
  */
6
6
  import type { Command } from 'commander';
7
7
  export declare function cleanupCommand(program: Command): void;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA+CrD;AA+ED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAyE7C"}
1
+ {"version":3,"file":"cleanup.d.ts","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgHrD;AAwID;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAyE7C"}
@@ -1,14 +1,18 @@
1
1
  /**
2
2
  * Cleanup Command
3
3
  *
4
- * Post-merge branch cleanup - switches to main and deletes merged branches.
4
+ * Post-merge branch cleanup and temp file management.
5
5
  */
6
6
  import { cleanupMergedBranches } from '@vibe-validate/git';
7
+ import { cleanupOldTempFiles, getTempStorageInfo, formatBytes } from '../utils/temp-files.js';
7
8
  import { stringify as stringifyYaml } from 'yaml';
8
9
  import chalk from 'chalk';
9
10
  export function cleanupCommand(program) {
10
- program
11
+ const cleanup = program
11
12
  .command('cleanup')
13
+ .description('Cleanup operations (branches, temp files)');
14
+ // Branch cleanup (backwards compatible - no subcommand needed)
15
+ cleanup
12
16
  .description('Post-merge cleanup (switch to main, delete merged branches)')
13
17
  .option('--main-branch <branch>', 'Main branch name', 'main')
14
18
  .option('--dry-run', 'Show what would be deleted without actually deleting')
@@ -51,6 +55,66 @@ export function cleanupCommand(program) {
51
55
  process.exit(1);
52
56
  }
53
57
  });
58
+ // Temp files cleanup command
59
+ program
60
+ .command('cleanup-temp')
61
+ .description('Clean up old temporary output files')
62
+ .option('--older-than <days>', 'Delete files older than N days', '7')
63
+ .option('--all', 'Delete all temp files regardless of age')
64
+ .option('--dry-run', 'Show what would be deleted without actually deleting')
65
+ .option('--yaml', 'Output YAML only (no human-friendly display)')
66
+ .action(async (options) => {
67
+ try {
68
+ const olderThanDays = options.all ? 0 : Number.parseInt(options.olderThan, 10);
69
+ const storageBefore = await getTempStorageInfo();
70
+ const result = await cleanupOldTempFiles({
71
+ olderThanDays,
72
+ deleteAll: options.all,
73
+ dryRun: options.dryRun,
74
+ });
75
+ const storageAfter = options.dryRun ? storageBefore : await getTempStorageInfo();
76
+ const outputResult = {
77
+ success: result.errors.length === 0,
78
+ deletedCount: result.deletedCount,
79
+ freedBytes: result.freedBytes,
80
+ errors: result.errors,
81
+ storage: {
82
+ before: {
83
+ bytes: storageBefore.sizeBytes,
84
+ formatted: formatBytes(storageBefore.sizeBytes),
85
+ runCount: storageBefore.runCount,
86
+ },
87
+ after: {
88
+ bytes: storageAfter.sizeBytes,
89
+ formatted: formatBytes(storageAfter.sizeBytes),
90
+ runCount: storageAfter.runCount,
91
+ },
92
+ },
93
+ dryRun: options.dryRun,
94
+ };
95
+ if (options.yaml) {
96
+ await new Promise(resolve => setTimeout(resolve, 10));
97
+ process.stdout.write('---\n');
98
+ process.stdout.write(stringifyYaml(outputResult));
99
+ await new Promise(resolve => {
100
+ if (process.stdout.write('')) {
101
+ resolve();
102
+ }
103
+ else {
104
+ process.stdout.once('drain', resolve);
105
+ }
106
+ });
107
+ }
108
+ else {
109
+ displayTempCleanup(outputResult);
110
+ }
111
+ process.exit(outputResult.success ? 0 : 1);
112
+ }
113
+ catch (error) {
114
+ console.error(chalk.red('❌ Temp cleanup failed:'), error);
115
+ process.exit(1);
116
+ }
117
+ });
54
118
  }
55
119
  /**
56
120
  * Get icon based on dry-run mode
@@ -111,6 +175,48 @@ function displayHumanCleanup(result, dryRun) {
111
175
  }
112
176
  displayFooter(dryRun, result.success, result.branchesDeleted.length);
113
177
  }
178
+ /**
179
+ * Display temp cleanup results in human-friendly format
180
+ */
181
+ // eslint-disable-next-line sonarjs/cognitive-complexity -- Display logic is inherently complex with multiple conditional branches
182
+ function displayTempCleanup(result) {
183
+ const title = result.dryRun ? '🔍 Temp Cleanup Preview (Dry Run)' : '🧹 Temp File Cleanup';
184
+ console.log(chalk.blue(title));
185
+ console.log(chalk.gray('─'.repeat(50)));
186
+ // Storage before
187
+ console.log(chalk.cyan('\n📊 Storage Usage:'));
188
+ console.log(chalk.gray(` Before: ${result.storage.before.formatted} (${result.storage.before.runCount} runs)`));
189
+ if (!result.dryRun) {
190
+ console.log(chalk.gray(` After: ${result.storage.after.formatted} (${result.storage.after.runCount} runs)`));
191
+ }
192
+ // Deleted count
193
+ if (result.deletedCount > 0) {
194
+ const icon = result.dryRun ? '→' : '✅';
195
+ console.log(chalk.green(`\n${icon} ${result.deletedCount} run${result.deletedCount > 1 ? 's' : ''} would be deleted`));
196
+ console.log(chalk.gray(` Freed space: ${formatBytes(result.freedBytes)}`));
197
+ }
198
+ else {
199
+ console.log(chalk.gray('\nℹ️ No temp files to delete'));
200
+ }
201
+ // Errors
202
+ if (result.errors.length > 0) {
203
+ console.log(chalk.red('\n⚠️ Errors encountered:'));
204
+ for (const error of result.errors.slice(0, 5)) {
205
+ console.log(chalk.red(` ${error.path}: ${error.error}`));
206
+ }
207
+ if (result.errors.length > 5) {
208
+ console.log(chalk.gray(` ... and ${result.errors.length - 5} more errors`));
209
+ }
210
+ }
211
+ console.log(chalk.gray('─'.repeat(50)));
212
+ if (result.dryRun) {
213
+ console.log(chalk.yellow('\n💡 This was a dry run. To actually clean up:'));
214
+ console.log(chalk.gray(' vibe-validate cleanup temp'));
215
+ }
216
+ else if (result.success && result.deletedCount > 0) {
217
+ console.log(chalk.green('\n✅ Cleanup complete!'));
218
+ }
219
+ }
114
220
  /**
115
221
  * Show verbose help with detailed documentation
116
222
  */
@@ -1 +1 @@
1
- {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanup.js","sourceRoot":"","sources":["../../src/commands/cleanup.ts"],"names":[],"mappings":"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"}
@@ -194,7 +194,7 @@ vibe-validate config --verbose
194
194
  1. Check YAML syntax (indentation, quotes)
195
195
  2. Verify required fields exist (validation.phases)
196
196
  3. See configuration docs: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md
197
- 4. Use JSON Schema for IDE validation: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json
197
+ 4. Use JSON Schema for IDE validation: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/config.schema.json
198
198
 
199
199
  **If config is not found:**
200
200
  \`\`\`bash
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,sCAAsC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA2wBD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyDlF;AAgED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuH5C"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG;AAIH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,MAAM,EAAE,OAAO,CAAC;IAChB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,+BAA+B;IAC/B,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,sCAAsC;IACtC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAozBD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAyDlF;AAgED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAsBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAuH5C"}
@@ -145,7 +145,7 @@ async function checkConfigValid(config, configWithErrors) {
145
145
  suggestion: [
146
146
  `Fix syntax/validation errors in ${fileName}`,
147
147
  'See configuration docs: https://github.com/jdutton/vibe-validate/blob/main/docs/configuration-reference.md',
148
- 'JSON Schema for IDE validation: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json',
148
+ 'JSON Schema for IDE validation: https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/config.schema.json',
149
149
  'Example YAML configs: https://github.com/jdutton/vibe-validate/tree/main/packages/cli/config-templates'
150
150
  ].join('\n '),
151
151
  };
@@ -169,7 +169,7 @@ async function checkConfigValid(config, configWithErrors) {
169
169
  ' https://raw.githubusercontent.com/jdutton/vibe-validate/main/config-templates/typescript-nodejs.yaml',
170
170
  '',
171
171
  'JSON Schema for IDE validation:',
172
- 'https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/vibe-validate.schema.json',
172
+ 'https://raw.githubusercontent.com/jdutton/vibe-validate/main/packages/config/config.schema.json',
173
173
  ].join('\n '),
174
174
  };
175
175
  }
@@ -479,6 +479,45 @@ function checkValidationState() {
479
479
  };
480
480
  }
481
481
  }
482
+ /**
483
+ * Check for v0.15.0 cache migration recommendation
484
+ *
485
+ * v0.15.0 introduced run command caching with a new schema.
486
+ * Old cached results may be missing new fields (e.g., suggestedDirectCommand).
487
+ * Recommend clearing cache on upgrade to avoid stale data.
488
+ */
489
+ function checkCacheMigration() {
490
+ try {
491
+ // Check if any run cache notes exist
492
+ const result = execSync('git for-each-ref --count=1 refs/notes/vibe-validate/run/', {
493
+ encoding: 'utf-8',
494
+ stdio: ['pipe', 'pipe', 'pipe'],
495
+ });
496
+ if (result.trim()) {
497
+ // Cache exists - recommend clearing for clean v0.15.0+ schema
498
+ return {
499
+ name: 'Run cache migration (v0.15.0+)',
500
+ passed: true, // Not a failure, just informational
501
+ message: 'Run cache detected from earlier version',
502
+ suggestion: `Clear old cache for v0.15.0+ schema:\n git for-each-ref refs/notes/vibe-validate --format='%(refname)' | xargs -n 1 git update-ref -d\n ℹ️ Clears both run cache and validation history (will rebuild on next run)`,
503
+ };
504
+ }
505
+ return {
506
+ name: 'Run cache migration',
507
+ passed: true,
508
+ message: 'No run cache found (clean state)',
509
+ };
510
+ // eslint-disable-next-line sonarjs/no-ignored-exceptions -- Git command failure is non-critical for migration check
511
+ }
512
+ catch (_error) {
513
+ // Git command failed or no git notes - that's fine
514
+ return {
515
+ name: 'Run cache migration',
516
+ passed: true,
517
+ message: 'No run cache to migrate',
518
+ };
519
+ }
520
+ }
482
521
  /**
483
522
  * Check validation history health
484
523
  */
@@ -679,8 +718,8 @@ function getToolVersion(toolName) {
679
718
  try {
680
719
  return execSync(`${toolName} version`, { encoding: 'utf8', stdio: 'pipe' }).trim();
681
720
  }
682
- catch (versionError) {
683
- console.debug(`${toolName} version failed: ${versionError instanceof Error ? versionError.message : String(versionError)}`);
721
+ catch {
722
+ // Fallback to --version flag
684
723
  return execSync(`${toolName} --version`, { encoding: 'utf8', stdio: 'pipe' }).trim();
685
724
  }
686
725
  }
@@ -775,10 +814,9 @@ export async function runDoctor(options = {}) {
775
814
  config = await loadConfig();
776
815
  configWithErrors = await loadConfigWithErrors();
777
816
  }
778
- catch (error) {
817
+ catch {
779
818
  // Config load error will be caught by checkConfigValid
780
819
  // Intentionally suppressing error here as it will be reported by checkConfigValid
781
- console.debug(`Config load failed: ${error instanceof Error ? error.message : String(error)}`);
782
820
  config = null;
783
821
  configWithErrors = { config: null, errors: null, filePath: null };
784
822
  }
@@ -798,6 +836,7 @@ export async function runDoctor(options = {}) {
798
836
  allChecks.push(await checkSecretScanning(config));
799
837
  allChecks.push(checkGitignoreStateFile());
800
838
  allChecks.push(checkValidationState());
839
+ allChecks.push(checkCacheMigration());
801
840
  allChecks.push(await checkHistoryHealth());
802
841
  // Collect suggestions from failed checks
803
842
  const suggestions = allChecks