@vibe-validate/cli 0.9.5 → 0.9.7
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 +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/doctor.d.ts +59 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +424 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate-workflow.d.ts +7 -0
- package/dist/commands/generate-workflow.d.ts.map +1 -1
- package/dist/commands/generate-workflow.js +53 -17
- package/dist/commands/generate-workflow.js.map +1 -1
- package/package.json +13 -2
package/dist/bin.js
CHANGED
|
@@ -16,6 +16,7 @@ import { syncCheckCommand } from './commands/sync-check.js';
|
|
|
16
16
|
import { cleanupCommand } from './commands/cleanup.js';
|
|
17
17
|
import { configCommand } from './commands/config.js';
|
|
18
18
|
import { generateWorkflowCommand } from './commands/generate-workflow.js';
|
|
19
|
+
import { doctorCommand } from './commands/doctor.js';
|
|
19
20
|
// Read version from package.json at runtime
|
|
20
21
|
// This approach works with ESM and survives TypeScript compilation
|
|
21
22
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -44,6 +45,7 @@ syncCheckCommand(program); // vibe-validate sync-check
|
|
|
44
45
|
cleanupCommand(program); // vibe-validate cleanup
|
|
45
46
|
configCommand(program); // vibe-validate config
|
|
46
47
|
generateWorkflowCommand(program); // vibe-validate generate-workflow
|
|
48
|
+
doctorCommand(program); // vibe-validate doctor
|
|
47
49
|
// Parse command line arguments
|
|
48
50
|
program.parse();
|
|
49
51
|
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,4CAA4C;AAC5C,mEAAmE;AACnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AACtC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAE3D,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,mBAAmB;AAC1C,IAAI,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IACvE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAChC,CAAC;AAAC,OAAO,MAAM,EAAE,CAAC;IAChB,+EAA+E;IAC/E,OAAO,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;AAC/E,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,eAAe,CAAC;KACrB,WAAW,CAAC,gEAAgE,CAAC;KAC7E,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,eAAe,CAAC,OAAO,CAAC,CAAC,CAAY,yBAAyB;AAC9D,WAAW,CAAC,OAAO,CAAC,CAAC,CAAiB,qBAAqB;AAC3D,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAY,2BAA2B;AACjE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAgB,sBAAsB;AAC5D,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAY,2BAA2B;AACjE,cAAc,CAAC,OAAO,CAAC,CAAC,CAAc,wBAAwB;AAC9D,aAAa,CAAC,OAAO,CAAC,CAAC,CAAe,uBAAuB;AAC7D,uBAAuB,CAAC,OAAO,CAAC,CAAC,CAAK,kCAAkC;AACxE,aAAa,CAAC,OAAO,CAAC,CAAC,CAAe,uBAAuB;AAE7D,+BAA+B;AAC/B,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Doctor Command
|
|
4
|
+
*
|
|
5
|
+
* Diagnoses common issues with vibe-validate setup:
|
|
6
|
+
* - Environment checks (Node.js version, package manager, git)
|
|
7
|
+
* - Configuration validation
|
|
8
|
+
* - Git integration health
|
|
9
|
+
* - CI/CD workflow sync
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { Command } from 'commander';
|
|
14
|
+
/**
|
|
15
|
+
* Result of a single doctor check
|
|
16
|
+
*/
|
|
17
|
+
export interface DoctorCheckResult {
|
|
18
|
+
/** Name of the check */
|
|
19
|
+
name: string;
|
|
20
|
+
/** Whether the check passed */
|
|
21
|
+
passed: boolean;
|
|
22
|
+
/** Message describing the result */
|
|
23
|
+
message: string;
|
|
24
|
+
/** Optional suggestion for fixing the issue */
|
|
25
|
+
suggestion?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Overall doctor diagnostic result
|
|
29
|
+
*/
|
|
30
|
+
export interface DoctorResult {
|
|
31
|
+
/** Whether all checks passed */
|
|
32
|
+
allPassed: boolean;
|
|
33
|
+
/** Individual check results */
|
|
34
|
+
checks: DoctorCheckResult[];
|
|
35
|
+
/** Suggestions for fixing failures */
|
|
36
|
+
suggestions: string[];
|
|
37
|
+
/** Whether verbose mode was enabled */
|
|
38
|
+
verboseMode?: boolean;
|
|
39
|
+
/** Total number of checks run */
|
|
40
|
+
totalChecks: number;
|
|
41
|
+
/** Number of checks that passed */
|
|
42
|
+
passedChecks: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Options for running doctor checks
|
|
46
|
+
*/
|
|
47
|
+
export interface DoctorOptions {
|
|
48
|
+
/** Show all checks including passing ones */
|
|
49
|
+
verbose?: boolean;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Run all doctor checks
|
|
53
|
+
*/
|
|
54
|
+
export declare function runDoctor(options?: DoctorOptions): Promise<DoctorResult>;
|
|
55
|
+
/**
|
|
56
|
+
* Main command handler for Commander.js
|
|
57
|
+
*/
|
|
58
|
+
export declare function doctorCommand(program: Command): void;
|
|
59
|
+
//# sourceMappingURL=doctor.d.ts.map
|
|
@@ -0,0 +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;AAIpC;;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;AA0UD;;GAEG;AACH,wBAAsB,SAAS,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC,CAmClF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwDpD"}
|
|
@@ -0,0 +1,424 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Doctor Command
|
|
4
|
+
*
|
|
5
|
+
* Diagnoses common issues with vibe-validate setup:
|
|
6
|
+
* - Environment checks (Node.js version, package manager, git)
|
|
7
|
+
* - Configuration validation
|
|
8
|
+
* - Git integration health
|
|
9
|
+
* - CI/CD workflow sync
|
|
10
|
+
*
|
|
11
|
+
* @packageDocumentation
|
|
12
|
+
*/
|
|
13
|
+
import { existsSync, readFileSync } from 'fs';
|
|
14
|
+
import { execSync } from 'child_process';
|
|
15
|
+
import { loadConfig } from '../utils/config-loader.js';
|
|
16
|
+
import { checkSync, ciConfigToWorkflowOptions } from './generate-workflow.js';
|
|
17
|
+
/**
|
|
18
|
+
* Check Node.js version meets requirements
|
|
19
|
+
*/
|
|
20
|
+
function checkNodeVersion() {
|
|
21
|
+
try {
|
|
22
|
+
const version = execSync('node --version', { encoding: 'utf8' }).trim();
|
|
23
|
+
const majorVersion = parseInt(version.replace('v', '').split('.')[0]);
|
|
24
|
+
if (majorVersion >= 20) {
|
|
25
|
+
return {
|
|
26
|
+
name: 'Node.js version',
|
|
27
|
+
passed: true,
|
|
28
|
+
message: `${version} (meets requirement: >=20.0.0)`,
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
return {
|
|
33
|
+
name: 'Node.js version',
|
|
34
|
+
passed: false,
|
|
35
|
+
message: `${version} is too old. Node.js 20+ required.`,
|
|
36
|
+
suggestion: 'Upgrade Node.js: https://nodejs.org/ or use nvm',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
catch (_error) {
|
|
41
|
+
return {
|
|
42
|
+
name: 'Node.js version',
|
|
43
|
+
passed: false,
|
|
44
|
+
message: 'Failed to detect Node.js version',
|
|
45
|
+
suggestion: 'Install Node.js: https://nodejs.org/',
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if git is installed
|
|
51
|
+
*/
|
|
52
|
+
function checkGitInstalled() {
|
|
53
|
+
try {
|
|
54
|
+
const version = execSync('git --version', { encoding: 'utf8' }).trim();
|
|
55
|
+
return {
|
|
56
|
+
name: 'Git installed',
|
|
57
|
+
passed: true,
|
|
58
|
+
message: version,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (_error) {
|
|
62
|
+
return {
|
|
63
|
+
name: 'Git installed',
|
|
64
|
+
passed: false,
|
|
65
|
+
message: 'Git is not installed',
|
|
66
|
+
suggestion: 'Install Git: https://git-scm.com/',
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Check if current directory is a git repository
|
|
72
|
+
*/
|
|
73
|
+
function checkGitRepository() {
|
|
74
|
+
try {
|
|
75
|
+
execSync('git rev-parse --git-dir', { encoding: 'utf8', stdio: 'pipe' });
|
|
76
|
+
return {
|
|
77
|
+
name: 'Git repository',
|
|
78
|
+
passed: true,
|
|
79
|
+
message: 'Current directory is a git repository',
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
catch (_error) {
|
|
83
|
+
return {
|
|
84
|
+
name: 'Git repository',
|
|
85
|
+
passed: false,
|
|
86
|
+
message: 'Current directory is not a git repository',
|
|
87
|
+
suggestion: 'Run: git init',
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Check if configuration file exists
|
|
93
|
+
*/
|
|
94
|
+
function checkConfigFile() {
|
|
95
|
+
const configPatterns = [
|
|
96
|
+
'vibe-validate.config.ts',
|
|
97
|
+
'vibe-validate.config.mjs',
|
|
98
|
+
'vibe-validate.config.js',
|
|
99
|
+
'vibe-validate.config.json',
|
|
100
|
+
'vibe-validate.config.yaml',
|
|
101
|
+
'vibe-validate.config.yml',
|
|
102
|
+
];
|
|
103
|
+
const found = configPatterns.find(pattern => existsSync(pattern));
|
|
104
|
+
if (found) {
|
|
105
|
+
return {
|
|
106
|
+
name: 'Configuration file',
|
|
107
|
+
passed: true,
|
|
108
|
+
message: `Found: ${found}`,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
return {
|
|
113
|
+
name: 'Configuration file',
|
|
114
|
+
passed: false,
|
|
115
|
+
message: 'Configuration file not found',
|
|
116
|
+
suggestion: 'Run: npx vibe-validate init',
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Check if configuration is valid
|
|
122
|
+
*/
|
|
123
|
+
async function checkConfigValid() {
|
|
124
|
+
try {
|
|
125
|
+
const config = await loadConfig();
|
|
126
|
+
if (!config) {
|
|
127
|
+
return {
|
|
128
|
+
name: 'Configuration valid',
|
|
129
|
+
passed: false,
|
|
130
|
+
message: 'Failed to load configuration',
|
|
131
|
+
suggestion: 'Check syntax in vibe-validate.config.*',
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
return {
|
|
135
|
+
name: 'Configuration valid',
|
|
136
|
+
passed: true,
|
|
137
|
+
message: `Loaded successfully (${config.validation.phases.length} phases)`,
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (_error) {
|
|
141
|
+
return {
|
|
142
|
+
name: 'Configuration valid',
|
|
143
|
+
passed: false,
|
|
144
|
+
message: `Invalid configuration: ${_error instanceof Error ? _error.message : String(_error)}`,
|
|
145
|
+
suggestion: 'Fix syntax errors in vibe-validate.config.*',
|
|
146
|
+
};
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Check if package manager is available
|
|
151
|
+
*/
|
|
152
|
+
async function checkPackageManager() {
|
|
153
|
+
try {
|
|
154
|
+
const config = await loadConfig();
|
|
155
|
+
if (!config) {
|
|
156
|
+
// Config check will catch this
|
|
157
|
+
return {
|
|
158
|
+
name: 'Package manager',
|
|
159
|
+
passed: true,
|
|
160
|
+
message: 'Skipped (no config)',
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
// Detect package manager from config commands
|
|
164
|
+
const firstCommand = config.validation.phases[0]?.steps[0]?.command || '';
|
|
165
|
+
const pm = firstCommand.startsWith('pnpm ') ? 'pnpm' : 'npm';
|
|
166
|
+
try {
|
|
167
|
+
const version = execSync(`${pm} --version`, { encoding: 'utf8' }).trim();
|
|
168
|
+
return {
|
|
169
|
+
name: 'Package manager',
|
|
170
|
+
passed: true,
|
|
171
|
+
message: `${pm} ${version} is available`,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
catch (_error) {
|
|
175
|
+
return {
|
|
176
|
+
name: 'Package manager',
|
|
177
|
+
passed: false,
|
|
178
|
+
message: `${pm} not found (required by config commands)`,
|
|
179
|
+
suggestion: pm === 'pnpm'
|
|
180
|
+
? 'Install pnpm: npm install -g pnpm'
|
|
181
|
+
: 'npm should be installed with Node.js',
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (_error) {
|
|
186
|
+
return {
|
|
187
|
+
name: 'Package manager',
|
|
188
|
+
passed: true,
|
|
189
|
+
message: 'Skipped (config check failed)',
|
|
190
|
+
};
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Check if GitHub Actions workflow is in sync
|
|
195
|
+
*/
|
|
196
|
+
async function checkWorkflowSync() {
|
|
197
|
+
const workflowPath = '.github/workflows/validate.yml';
|
|
198
|
+
if (!existsSync(workflowPath)) {
|
|
199
|
+
return {
|
|
200
|
+
name: 'GitHub Actions workflow',
|
|
201
|
+
passed: true,
|
|
202
|
+
message: 'No workflow file (optional)',
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
try {
|
|
206
|
+
const config = await loadConfig();
|
|
207
|
+
if (!config) {
|
|
208
|
+
return {
|
|
209
|
+
name: 'GitHub Actions workflow',
|
|
210
|
+
passed: true,
|
|
211
|
+
message: 'Skipped (no config)',
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
// Use CI config from vibe-validate.config.mjs if available
|
|
215
|
+
const generateOptions = ciConfigToWorkflowOptions(config);
|
|
216
|
+
const { inSync, diff } = checkSync(config, generateOptions);
|
|
217
|
+
if (inSync) {
|
|
218
|
+
return {
|
|
219
|
+
name: 'GitHub Actions workflow',
|
|
220
|
+
passed: true,
|
|
221
|
+
message: 'Workflow is in sync with config',
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
return {
|
|
226
|
+
name: 'GitHub Actions workflow',
|
|
227
|
+
passed: false,
|
|
228
|
+
message: `Workflow is out of sync: ${diff || 'differs from config'}`,
|
|
229
|
+
suggestion: 'Run: npx vibe-validate generate-workflow',
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
catch (_error) {
|
|
234
|
+
return {
|
|
235
|
+
name: 'GitHub Actions workflow',
|
|
236
|
+
passed: false,
|
|
237
|
+
message: `Failed to check workflow sync: ${_error instanceof Error ? _error.message : String(_error)}`,
|
|
238
|
+
suggestion: 'Verify workflow file syntax',
|
|
239
|
+
};
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Check if pre-commit hook is installed
|
|
244
|
+
*/
|
|
245
|
+
async function checkPreCommitHook() {
|
|
246
|
+
const huskyPath = '.husky/pre-commit';
|
|
247
|
+
// Load config to check if pre-commit is enabled
|
|
248
|
+
// If config fails to load, use defaults (will be caught by checkConfigValid)
|
|
249
|
+
let config;
|
|
250
|
+
try {
|
|
251
|
+
config = await loadConfig();
|
|
252
|
+
}
|
|
253
|
+
catch (_error) {
|
|
254
|
+
// Config load failed - use defaults (error will be reported in checkConfigValid)
|
|
255
|
+
config = null;
|
|
256
|
+
}
|
|
257
|
+
const preCommitEnabled = config?.hooks?.preCommit?.enabled ?? true; // Default true
|
|
258
|
+
const expectedCommand = config?.hooks?.preCommit?.command ?? 'npx vibe-validate pre-commit';
|
|
259
|
+
// If user explicitly disabled, acknowledge their choice
|
|
260
|
+
if (!preCommitEnabled) {
|
|
261
|
+
return {
|
|
262
|
+
name: 'Pre-commit hook',
|
|
263
|
+
passed: true,
|
|
264
|
+
message: 'Pre-commit hook disabled in config (user preference)',
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
// ⚠️ ENABLED but not installed
|
|
268
|
+
if (!existsSync(huskyPath)) {
|
|
269
|
+
return {
|
|
270
|
+
name: 'Pre-commit hook',
|
|
271
|
+
passed: false,
|
|
272
|
+
message: 'Pre-commit hook not installed',
|
|
273
|
+
suggestion: 'Install: npx husky init && echo "npx vibe-validate pre-commit" > .husky/pre-commit (or set hooks.preCommit.enabled=false to disable)',
|
|
274
|
+
};
|
|
275
|
+
}
|
|
276
|
+
try {
|
|
277
|
+
const hookContent = readFileSync(huskyPath, 'utf8');
|
|
278
|
+
// Check if hook runs vibe-validate (directly or via npm script)
|
|
279
|
+
const hasVibeValidate = hookContent.includes('vibe-validate pre-commit') ||
|
|
280
|
+
hookContent.includes('npm run pre-commit') ||
|
|
281
|
+
hookContent.includes('pnpm pre-commit') ||
|
|
282
|
+
hookContent.includes('npx vibe-validate validate');
|
|
283
|
+
if (hasVibeValidate) {
|
|
284
|
+
return {
|
|
285
|
+
name: 'Pre-commit hook',
|
|
286
|
+
passed: true,
|
|
287
|
+
message: 'Pre-commit hook installed and runs vibe-validate',
|
|
288
|
+
};
|
|
289
|
+
}
|
|
290
|
+
else {
|
|
291
|
+
// ⚠️ ENABLED but custom hook (needs verification)
|
|
292
|
+
const hookPreview = hookContent.split('\n').slice(0, 3).join('; ').trim();
|
|
293
|
+
return {
|
|
294
|
+
name: 'Pre-commit hook',
|
|
295
|
+
passed: false,
|
|
296
|
+
message: `Custom pre-commit hook detected: "${hookPreview}..."`,
|
|
297
|
+
suggestion: `Verify that .husky/pre-commit runs "${expectedCommand}" OR set hooks.preCommit.enabled=false if you're handling validation differently`,
|
|
298
|
+
};
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
catch (_error) {
|
|
302
|
+
return {
|
|
303
|
+
name: 'Pre-commit hook',
|
|
304
|
+
passed: false,
|
|
305
|
+
message: 'Pre-commit hook exists but unreadable',
|
|
306
|
+
suggestion: 'Fix file permissions or set hooks.preCommit.enabled=false',
|
|
307
|
+
};
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
/**
|
|
311
|
+
* Check if validation state file exists
|
|
312
|
+
*/
|
|
313
|
+
function checkValidationState() {
|
|
314
|
+
const statePath = '.vibe-validate-state.yaml';
|
|
315
|
+
if (existsSync(statePath)) {
|
|
316
|
+
return {
|
|
317
|
+
name: 'Validation state',
|
|
318
|
+
passed: true,
|
|
319
|
+
message: 'Validation state file exists',
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
323
|
+
return {
|
|
324
|
+
name: 'Validation state',
|
|
325
|
+
passed: false,
|
|
326
|
+
message: 'Validation state file not found',
|
|
327
|
+
suggestion: 'Run validation at least once: npx vibe-validate validate',
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
/**
|
|
332
|
+
* Run all doctor checks
|
|
333
|
+
*/
|
|
334
|
+
export async function runDoctor(options = {}) {
|
|
335
|
+
const { verbose = false } = options;
|
|
336
|
+
const allChecks = [];
|
|
337
|
+
// Run all checks
|
|
338
|
+
allChecks.push(checkNodeVersion());
|
|
339
|
+
allChecks.push(checkGitInstalled());
|
|
340
|
+
allChecks.push(checkGitRepository());
|
|
341
|
+
allChecks.push(checkConfigFile());
|
|
342
|
+
allChecks.push(await checkConfigValid());
|
|
343
|
+
allChecks.push(await checkPackageManager());
|
|
344
|
+
allChecks.push(await checkWorkflowSync());
|
|
345
|
+
allChecks.push(await checkPreCommitHook());
|
|
346
|
+
allChecks.push(checkValidationState());
|
|
347
|
+
// Collect suggestions from failed checks
|
|
348
|
+
const suggestions = allChecks
|
|
349
|
+
.filter(c => !c.passed && c.suggestion)
|
|
350
|
+
.map(c => c.suggestion);
|
|
351
|
+
const allPassed = allChecks.every(c => c.passed);
|
|
352
|
+
const totalChecks = allChecks.length;
|
|
353
|
+
const passedChecks = allChecks.filter(c => c.passed).length;
|
|
354
|
+
// In non-verbose mode, only show failing checks (or all if all pass for summary)
|
|
355
|
+
const checks = verbose ? allChecks : (allPassed ? allChecks : allChecks.filter(c => !c.passed));
|
|
356
|
+
return {
|
|
357
|
+
allPassed,
|
|
358
|
+
checks,
|
|
359
|
+
suggestions,
|
|
360
|
+
verboseMode: verbose,
|
|
361
|
+
totalChecks,
|
|
362
|
+
passedChecks,
|
|
363
|
+
};
|
|
364
|
+
}
|
|
365
|
+
/**
|
|
366
|
+
* Main command handler for Commander.js
|
|
367
|
+
*/
|
|
368
|
+
export function doctorCommand(program) {
|
|
369
|
+
program
|
|
370
|
+
.command('doctor')
|
|
371
|
+
.description('Diagnose vibe-validate setup and environment')
|
|
372
|
+
.option('--json', 'Output results as JSON')
|
|
373
|
+
.option('--verbose', 'Show all checks including passing ones')
|
|
374
|
+
.action(async (options) => {
|
|
375
|
+
try {
|
|
376
|
+
const result = await runDoctor({ verbose: options.verbose });
|
|
377
|
+
if (options.json) {
|
|
378
|
+
// JSON output for programmatic use
|
|
379
|
+
console.log(JSON.stringify(result, null, 2));
|
|
380
|
+
}
|
|
381
|
+
else {
|
|
382
|
+
// Human-friendly output
|
|
383
|
+
console.log('🩺 vibe-validate Doctor\n');
|
|
384
|
+
if (result.verboseMode) {
|
|
385
|
+
console.log('Running diagnostic checks (verbose mode)...\n');
|
|
386
|
+
}
|
|
387
|
+
else {
|
|
388
|
+
console.log('Running diagnostic checks...\n');
|
|
389
|
+
}
|
|
390
|
+
// Print each check
|
|
391
|
+
for (const check of result.checks) {
|
|
392
|
+
const icon = check.passed ? '✅' : '❌';
|
|
393
|
+
console.log(`${icon} ${check.name}`);
|
|
394
|
+
console.log(` ${check.message}`);
|
|
395
|
+
if (check.suggestion && !check.passed) {
|
|
396
|
+
console.log(` 💡 ${check.suggestion}`);
|
|
397
|
+
}
|
|
398
|
+
console.log('');
|
|
399
|
+
}
|
|
400
|
+
// Summary
|
|
401
|
+
console.log(`📊 Results: ${result.passedChecks}/${result.totalChecks} checks passed\n`);
|
|
402
|
+
if (result.allPassed) {
|
|
403
|
+
console.log('✨ All checks passed! Your vibe-validate setup looks healthy.');
|
|
404
|
+
if (!result.verboseMode) {
|
|
405
|
+
console.log(' (Use --verbose to see all checks)');
|
|
406
|
+
}
|
|
407
|
+
}
|
|
408
|
+
else {
|
|
409
|
+
console.log('⚠️ Some checks failed. See suggestions above to fix.');
|
|
410
|
+
if (!result.verboseMode) {
|
|
411
|
+
console.log(' (Use --verbose to see all checks including passing ones)');
|
|
412
|
+
}
|
|
413
|
+
process.exit(1);
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
catch (_error) {
|
|
418
|
+
console.error('❌ Doctor check failed:');
|
|
419
|
+
console.error(_error instanceof Error ? _error.message : String(_error));
|
|
420
|
+
process.exit(1);
|
|
421
|
+
}
|
|
422
|
+
});
|
|
423
|
+
}
|
|
424
|
+
//# sourceMappingURL=doctor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -50,6 +50,13 @@ export declare function getAllJobIds(phases: ValidationPhase[]): string[];
|
|
|
50
50
|
* Generate GitHub Actions workflow from validation config
|
|
51
51
|
*/
|
|
52
52
|
export declare function generateWorkflow(config: VibeValidateConfig, options?: GenerateWorkflowOptions): string;
|
|
53
|
+
/**
|
|
54
|
+
* Convert CI config to GenerateWorkflowOptions
|
|
55
|
+
*
|
|
56
|
+
* @param config - Full vibe-validate configuration
|
|
57
|
+
* @returns Workflow options derived from config.ci
|
|
58
|
+
*/
|
|
59
|
+
export declare function ciConfigToWorkflowOptions(config: VibeValidateConfig): Partial<GenerateWorkflowOptions>;
|
|
53
60
|
/**
|
|
54
61
|
* Check if workflow file is in sync with validation config
|
|
55
62
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAyCjF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kGAAkG;IAClG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,0DAA0D;IAC1D,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC3C,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAUhE;
|
|
1
|
+
{"version":3,"file":"generate-workflow.d.ts","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,KAAK,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAyCjF;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,iGAAiG;IACjG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,kGAAkG;IAClG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;IACd,0DAA0D;IAC1D,cAAc,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAChC,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,gBAAgB,CAAC,EAAE,SAAS,GAAG,WAAW,CAAC;IAC3C,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gGAAgG;IAChG,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,2CAA2C;IAC3C,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAUhE;AA8FD;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,uBAA4B,GACpC,MAAM,CAiSR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAWtG;AAED;;GAEG;AACH,wBAAgB,SAAS,CACvB,MAAM,EAAE,kBAAkB,EAC1B,OAAO,GAAE,uBAA4B,GACpC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBpC;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAwF9D"}
|
|
@@ -68,12 +68,37 @@ function generateCheckScript(jobNames) {
|
|
|
68
68
|
echo "✅ All validation checks passed!"`;
|
|
69
69
|
}
|
|
70
70
|
/**
|
|
71
|
-
* Detect package manager from
|
|
71
|
+
* Detect package manager from package.json and lockfiles
|
|
72
|
+
* Priority:
|
|
73
|
+
* 1. package.json packageManager field (official spec)
|
|
74
|
+
* 2. Lockfile detection (prefer npm when both exist)
|
|
72
75
|
*/
|
|
73
76
|
function detectPackageManager(cwd = process.cwd()) {
|
|
74
|
-
|
|
75
|
-
|
|
77
|
+
// 1. Check package.json packageManager field (official spec)
|
|
78
|
+
try {
|
|
79
|
+
const packageJsonPath = join(cwd, 'package.json');
|
|
80
|
+
if (existsSync(packageJsonPath)) {
|
|
81
|
+
const packageJson = JSON.parse(readFileSync(packageJsonPath, 'utf8'));
|
|
82
|
+
if (packageJson.packageManager) {
|
|
83
|
+
if (packageJson.packageManager.startsWith('pnpm@'))
|
|
84
|
+
return 'pnpm';
|
|
85
|
+
if (packageJson.packageManager.startsWith('npm@'))
|
|
86
|
+
return 'npm';
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
catch {
|
|
91
|
+
// Continue to lockfile detection
|
|
76
92
|
}
|
|
93
|
+
// 2. Check for lockfiles
|
|
94
|
+
const hasNpmLock = existsSync(join(cwd, 'package-lock.json'));
|
|
95
|
+
const hasPnpmLock = existsSync(join(cwd, 'pnpm-lock.yaml'));
|
|
96
|
+
// If only one lockfile exists, use that package manager
|
|
97
|
+
if (hasPnpmLock && !hasNpmLock)
|
|
98
|
+
return 'pnpm';
|
|
99
|
+
if (hasNpmLock && !hasPnpmLock)
|
|
100
|
+
return 'npm';
|
|
101
|
+
// If both exist, prefer npm (more conservative default)
|
|
77
102
|
return 'npm';
|
|
78
103
|
}
|
|
79
104
|
/**
|
|
@@ -343,7 +368,6 @@ export function generateWorkflow(config, options = {}) {
|
|
|
343
368
|
'# Regenerate with: npx vibe-validate generate-workflow',
|
|
344
369
|
'#',
|
|
345
370
|
'# Source of truth: vibe-validate.config.mjs',
|
|
346
|
-
`# Generated: ${new Date().toISOString()}`,
|
|
347
371
|
'',
|
|
348
372
|
].join('\n');
|
|
349
373
|
const workflowYaml = yaml.dump(workflow, {
|
|
@@ -354,6 +378,23 @@ export function generateWorkflow(config, options = {}) {
|
|
|
354
378
|
});
|
|
355
379
|
return header + workflowYaml;
|
|
356
380
|
}
|
|
381
|
+
/**
|
|
382
|
+
* Convert CI config to GenerateWorkflowOptions
|
|
383
|
+
*
|
|
384
|
+
* @param config - Full vibe-validate configuration
|
|
385
|
+
* @returns Workflow options derived from config.ci
|
|
386
|
+
*/
|
|
387
|
+
export function ciConfigToWorkflowOptions(config) {
|
|
388
|
+
if (!config.ci) {
|
|
389
|
+
return {};
|
|
390
|
+
}
|
|
391
|
+
return {
|
|
392
|
+
nodeVersions: config.ci.nodeVersions,
|
|
393
|
+
os: config.ci.os,
|
|
394
|
+
matrixFailFast: config.ci.failFast,
|
|
395
|
+
enableCoverage: config.ci.coverage,
|
|
396
|
+
};
|
|
397
|
+
}
|
|
357
398
|
/**
|
|
358
399
|
* Check if workflow file is in sync with validation config
|
|
359
400
|
*/
|
|
@@ -367,11 +408,7 @@ export function checkSync(config, options = {}) {
|
|
|
367
408
|
}
|
|
368
409
|
const currentWorkflow = readFileSync(workflowPath, 'utf8');
|
|
369
410
|
const expectedWorkflow = generateWorkflow(config, options);
|
|
370
|
-
|
|
371
|
-
const normalize = (content) => content.replace(/# Generated: .+/g, '# Generated: <timestamp>');
|
|
372
|
-
const currentNormalized = normalize(currentWorkflow);
|
|
373
|
-
const expectedNormalized = normalize(expectedWorkflow);
|
|
374
|
-
if (currentNormalized === expectedNormalized) {
|
|
411
|
+
if (currentWorkflow === expectedWorkflow) {
|
|
375
412
|
return { inSync: true };
|
|
376
413
|
}
|
|
377
414
|
return {
|
|
@@ -401,20 +438,19 @@ export function generateWorkflowCommand(program) {
|
|
|
401
438
|
console.error(' Make sure vibe-validate.config.mjs exists and is valid.');
|
|
402
439
|
process.exit(1);
|
|
403
440
|
}
|
|
404
|
-
// Parse options
|
|
441
|
+
// Parse options with config.ci as defaults
|
|
442
|
+
// Priority: CLI flags > config.ci > generateWorkflow defaults
|
|
443
|
+
const ciOptions = ciConfigToWorkflowOptions(config);
|
|
405
444
|
const generateOptions = {
|
|
406
445
|
packageManager: detectPackageManager(),
|
|
407
|
-
enableCoverage: options.coverage
|
|
408
|
-
// Parse comma-separated node versions
|
|
446
|
+
enableCoverage: options.coverage ?? ciOptions.enableCoverage ?? false,
|
|
409
447
|
nodeVersions: options.nodeVersions
|
|
410
448
|
? options.nodeVersions.split(',').map(v => v.trim())
|
|
411
|
-
:
|
|
412
|
-
// Parse comma-separated OS values
|
|
449
|
+
: ciOptions.nodeVersions,
|
|
413
450
|
os: options.os
|
|
414
451
|
? options.os.split(',').map(o => o.trim())
|
|
415
|
-
:
|
|
416
|
-
|
|
417
|
-
matrixFailFast: options.failFast || false,
|
|
452
|
+
: ciOptions.os,
|
|
453
|
+
matrixFailFast: options.failFast ?? ciOptions.matrixFailFast ?? false,
|
|
418
454
|
};
|
|
419
455
|
if (options.check) {
|
|
420
456
|
// Check sync only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-workflow.js","sourceRoot":"","sources":["../../src/commands/generate-workflow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate-workflow.js","sourceRoot":"","sources":["../../src/commands/generate-workflow.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.9.
|
|
3
|
+
"version": "0.9.7",
|
|
4
4
|
"description": "Command-line interface for vibe-validate validation framework",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -32,7 +32,18 @@
|
|
|
32
32
|
"testing",
|
|
33
33
|
"ci-cd",
|
|
34
34
|
"git",
|
|
35
|
-
"
|
|
35
|
+
"caching",
|
|
36
|
+
"pre-commit",
|
|
37
|
+
"typescript",
|
|
38
|
+
"javascript",
|
|
39
|
+
"ai-agent-friendly",
|
|
40
|
+
"claude-code",
|
|
41
|
+
"cursor",
|
|
42
|
+
"aider",
|
|
43
|
+
"developer-experience",
|
|
44
|
+
"developer-tools",
|
|
45
|
+
"automation",
|
|
46
|
+
"workflow",
|
|
36
47
|
"llm",
|
|
37
48
|
"cli"
|
|
38
49
|
],
|