@vibe-validate/cli 0.9.11 → 0.10.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/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +151 -38
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +254 -332
- package/dist/commands/init.js.map +1 -1
- package/dist/utils/config-loader.d.ts +3 -7
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +7 -19
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/git-detection.d.ts +41 -0
- package/dist/utils/git-detection.d.ts.map +1 -0
- package/dist/utils/git-detection.js +109 -0
- package/dist/utils/git-detection.js.map +1 -0
- package/dist/utils/runner-adapter.js +3 -3
- package/dist/utils/runner-adapter.js.map +1 -1
- package/dist/utils/setup-checks/gitignore-check.d.ts +23 -0
- package/dist/utils/setup-checks/gitignore-check.d.ts.map +1 -0
- package/dist/utils/setup-checks/gitignore-check.js +156 -0
- package/dist/utils/setup-checks/gitignore-check.js.map +1 -0
- package/dist/utils/setup-checks/hooks-check.d.ts +27 -0
- package/dist/utils/setup-checks/hooks-check.d.ts.map +1 -0
- package/dist/utils/setup-checks/hooks-check.js +175 -0
- package/dist/utils/setup-checks/hooks-check.js.map +1 -0
- package/dist/utils/setup-checks/workflow-check.d.ts +22 -0
- package/dist/utils/setup-checks/workflow-check.d.ts.map +1 -0
- package/dist/utils/setup-checks/workflow-check.js +147 -0
- package/dist/utils/setup-checks/workflow-check.js.map +1 -0
- package/dist/utils/setup-engine.d.ts +155 -0
- package/dist/utils/setup-engine.d.ts.map +1 -0
- package/dist/utils/setup-engine.js +31 -0
- package/dist/utils/setup-engine.js.map +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,13 +7,9 @@ import type { VibeValidateConfig } from '@vibe-validate/config';
|
|
|
7
7
|
/**
|
|
8
8
|
* Load vibe-validate configuration from project root
|
|
9
9
|
*
|
|
10
|
-
* Searches for configuration
|
|
11
|
-
* - vibe-validate.config.
|
|
12
|
-
* - vibe-validate.config.
|
|
13
|
-
* - vibe-validate.config.mjs
|
|
14
|
-
* - .vibe-validate.ts
|
|
15
|
-
* - .vibe-validate.js
|
|
16
|
-
* - .vibe-validate.mjs
|
|
10
|
+
* Searches for configuration files:
|
|
11
|
+
* - vibe-validate.config.yaml (primary format)
|
|
12
|
+
* - vibe-validate.config.mjs (deprecated, legacy support only)
|
|
17
13
|
*
|
|
18
14
|
* @param cwd Current working directory (defaults to process.cwd())
|
|
19
15
|
* @returns Configuration object or null if not found
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE
|
|
1
|
+
{"version":3,"file":"config-loader.d.ts","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAGhE;;;;;;;;;GASG;AACH,wBAAsB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAajF;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAQlD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAe1D"}
|
|
@@ -10,13 +10,9 @@ import chalk from 'chalk';
|
|
|
10
10
|
/**
|
|
11
11
|
* Load vibe-validate configuration from project root
|
|
12
12
|
*
|
|
13
|
-
* Searches for configuration
|
|
14
|
-
* - vibe-validate.config.
|
|
15
|
-
* - vibe-validate.config.
|
|
16
|
-
* - vibe-validate.config.mjs
|
|
17
|
-
* - .vibe-validate.ts
|
|
18
|
-
* - .vibe-validate.js
|
|
19
|
-
* - .vibe-validate.mjs
|
|
13
|
+
* Searches for configuration files:
|
|
14
|
+
* - vibe-validate.config.yaml (primary format)
|
|
15
|
+
* - vibe-validate.config.mjs (deprecated, legacy support only)
|
|
20
16
|
*
|
|
21
17
|
* @param cwd Current working directory (defaults to process.cwd())
|
|
22
18
|
* @returns Configuration object or null if not found
|
|
@@ -44,12 +40,8 @@ export async function loadConfig(cwd) {
|
|
|
44
40
|
export function configExists(cwd) {
|
|
45
41
|
const searchDir = cwd ?? process.cwd();
|
|
46
42
|
const configPaths = [
|
|
47
|
-
'vibe-validate.config.
|
|
48
|
-
'vibe-validate.config.
|
|
49
|
-
'vibe-validate.config.mjs',
|
|
50
|
-
'.vibe-validate.ts',
|
|
51
|
-
'.vibe-validate.js',
|
|
52
|
-
'.vibe-validate.mjs',
|
|
43
|
+
'vibe-validate.config.yaml',
|
|
44
|
+
'vibe-validate.config.mjs', // Legacy (deprecated)
|
|
53
45
|
];
|
|
54
46
|
return configPaths.some(path => existsSync(join(searchDir, path)));
|
|
55
47
|
}
|
|
@@ -62,12 +54,8 @@ export function configExists(cwd) {
|
|
|
62
54
|
export function findConfigPath(cwd) {
|
|
63
55
|
const searchDir = cwd ?? process.cwd();
|
|
64
56
|
const configPaths = [
|
|
65
|
-
'vibe-validate.config.
|
|
66
|
-
'vibe-validate.config.
|
|
67
|
-
'vibe-validate.config.mjs',
|
|
68
|
-
'.vibe-validate.ts',
|
|
69
|
-
'.vibe-validate.js',
|
|
70
|
-
'.vibe-validate.mjs',
|
|
57
|
+
'vibe-validate.config.yaml',
|
|
58
|
+
'vibe-validate.config.mjs', // Legacy (deprecated)
|
|
71
59
|
];
|
|
72
60
|
for (const path of configPaths) {
|
|
73
61
|
const fullPath = join(searchDir, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../src/utils/config-loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY;IAC3C,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEvC,IAAI,CAAC;QACH,mFAAmF;QACnF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAClD,OAAO,MAAM,IAAI,IAAI,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC3B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC/E,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,2BAA2B;QAC3B,0BAA0B,EAAE,sBAAsB;KACnD,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,MAAM,SAAS,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,WAAW,GAAG;QAClB,2BAA2B;QAC3B,0BAA0B,EAAE,sBAAsB;KACnD,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Detection Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for detecting git configuration (main branch, remote origin).
|
|
5
|
+
* Used by both init and doctor commands.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Result of git configuration detection
|
|
9
|
+
*/
|
|
10
|
+
export interface DetectedGitConfig {
|
|
11
|
+
/** The detected or default main branch name (e.g., 'main', 'master', 'develop') */
|
|
12
|
+
mainBranch: string;
|
|
13
|
+
/** The detected or default remote origin name (e.g., 'origin', 'upstream') */
|
|
14
|
+
remoteOrigin: string;
|
|
15
|
+
/** Whether git configuration was successfully detected (false means defaults were used) */
|
|
16
|
+
detected: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Detects git configuration from the current repository.
|
|
20
|
+
*
|
|
21
|
+
* This function attempts to auto-detect the main branch and remote origin
|
|
22
|
+
* by inspecting the git repository. It follows this detection strategy:
|
|
23
|
+
*
|
|
24
|
+
* 1. Check if we're in a git repository
|
|
25
|
+
* 2. Detect available remotes (prefer 'upstream' > 'origin' > first available)
|
|
26
|
+
* 3. Try to detect main branch from remote HEAD reference
|
|
27
|
+
* 4. If remote HEAD is not set, check for common branch names (main > master > develop)
|
|
28
|
+
* 5. Fall back to defaults if detection fails
|
|
29
|
+
*
|
|
30
|
+
* @returns {DetectedGitConfig} The detected or default git configuration
|
|
31
|
+
*
|
|
32
|
+
* @example
|
|
33
|
+
* ```typescript
|
|
34
|
+
* const gitConfig = detectGitConfig();
|
|
35
|
+
* console.log(gitConfig.mainBranch); // 'main'
|
|
36
|
+
* console.log(gitConfig.remoteOrigin); // 'origin'
|
|
37
|
+
* console.log(gitConfig.detected); // true if detected, false if defaults
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
export declare function detectGitConfig(): DetectedGitConfig;
|
|
41
|
+
//# sourceMappingURL=git-detection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-detection.d.ts","sourceRoot":"","sources":["../../src/utils/git-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,eAAe,IAAI,iBAAiB,CA4EnD"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Detection Utilities
|
|
3
|
+
*
|
|
4
|
+
* Shared utilities for detecting git configuration (main branch, remote origin).
|
|
5
|
+
* Used by both init and doctor commands.
|
|
6
|
+
*/
|
|
7
|
+
import { execSync } from 'child_process';
|
|
8
|
+
import { GIT_DEFAULTS } from '@vibe-validate/config';
|
|
9
|
+
/**
|
|
10
|
+
* Detects git configuration from the current repository.
|
|
11
|
+
*
|
|
12
|
+
* This function attempts to auto-detect the main branch and remote origin
|
|
13
|
+
* by inspecting the git repository. It follows this detection strategy:
|
|
14
|
+
*
|
|
15
|
+
* 1. Check if we're in a git repository
|
|
16
|
+
* 2. Detect available remotes (prefer 'upstream' > 'origin' > first available)
|
|
17
|
+
* 3. Try to detect main branch from remote HEAD reference
|
|
18
|
+
* 4. If remote HEAD is not set, check for common branch names (main > master > develop)
|
|
19
|
+
* 5. Fall back to defaults if detection fails
|
|
20
|
+
*
|
|
21
|
+
* @returns {DetectedGitConfig} The detected or default git configuration
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* const gitConfig = detectGitConfig();
|
|
26
|
+
* console.log(gitConfig.mainBranch); // 'main'
|
|
27
|
+
* console.log(gitConfig.remoteOrigin); // 'origin'
|
|
28
|
+
* console.log(gitConfig.detected); // true if detected, false if defaults
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export function detectGitConfig() {
|
|
32
|
+
const defaults = {
|
|
33
|
+
mainBranch: GIT_DEFAULTS.MAIN_BRANCH,
|
|
34
|
+
remoteOrigin: GIT_DEFAULTS.REMOTE_ORIGIN,
|
|
35
|
+
detected: false,
|
|
36
|
+
};
|
|
37
|
+
try {
|
|
38
|
+
// Check if we're in a git repository
|
|
39
|
+
execSync('git rev-parse --git-dir', { stdio: 'pipe' });
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
// Not a git repository - use defaults
|
|
43
|
+
return defaults;
|
|
44
|
+
}
|
|
45
|
+
let mainBranch = GIT_DEFAULTS.MAIN_BRANCH;
|
|
46
|
+
let remoteOrigin = GIT_DEFAULTS.REMOTE_ORIGIN;
|
|
47
|
+
let detected = false;
|
|
48
|
+
// Try to detect main branch from remote HEAD
|
|
49
|
+
try {
|
|
50
|
+
// First, get list of remotes
|
|
51
|
+
const remotesOutput = execSync('git remote', { encoding: 'utf8', stdio: 'pipe' }).trim();
|
|
52
|
+
const remotes = remotesOutput.split('\n').filter(Boolean);
|
|
53
|
+
if (remotes.length > 0) {
|
|
54
|
+
// Prefer 'upstream' if it exists (forked repo workflow), otherwise use first remote
|
|
55
|
+
if (remotes.includes('upstream')) {
|
|
56
|
+
remoteOrigin = 'upstream';
|
|
57
|
+
}
|
|
58
|
+
else if (remotes.includes('origin')) {
|
|
59
|
+
remoteOrigin = 'origin';
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
remoteOrigin = remotes[0]; // Use first available remote
|
|
63
|
+
}
|
|
64
|
+
// Try to detect main branch from remote HEAD
|
|
65
|
+
try {
|
|
66
|
+
const headRef = execSync(`git symbolic-ref refs/remotes/${remoteOrigin}/HEAD`, {
|
|
67
|
+
encoding: 'utf8',
|
|
68
|
+
stdio: 'pipe',
|
|
69
|
+
}).trim();
|
|
70
|
+
mainBranch = headRef.replace(`refs/remotes/${remoteOrigin}/`, '');
|
|
71
|
+
detected = true;
|
|
72
|
+
}
|
|
73
|
+
catch {
|
|
74
|
+
// Remote HEAD not set, try to detect from common branch names
|
|
75
|
+
try {
|
|
76
|
+
const branches = execSync(`git ls-remote --heads ${remoteOrigin}`, {
|
|
77
|
+
encoding: 'utf8',
|
|
78
|
+
stdio: 'pipe',
|
|
79
|
+
}).trim();
|
|
80
|
+
// Check for common main branch names in order of preference
|
|
81
|
+
if (branches.includes('refs/heads/main')) {
|
|
82
|
+
mainBranch = 'main';
|
|
83
|
+
detected = true;
|
|
84
|
+
}
|
|
85
|
+
else if (branches.includes('refs/heads/master')) {
|
|
86
|
+
mainBranch = 'master';
|
|
87
|
+
detected = true;
|
|
88
|
+
}
|
|
89
|
+
else if (branches.includes('refs/heads/develop')) {
|
|
90
|
+
mainBranch = 'develop';
|
|
91
|
+
detected = true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
catch {
|
|
95
|
+
// Failed to list remote branches - use defaults
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
// Failed to detect - use defaults
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
mainBranch,
|
|
105
|
+
remoteOrigin,
|
|
106
|
+
detected,
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=git-detection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-detection.js","sourceRoot":"","sources":["../../src/utils/git-detection.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAcrD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,QAAQ,GAAG;QACf,UAAU,EAAE,YAAY,CAAC,WAAW;QACpC,YAAY,EAAE,YAAY,CAAC,aAAa;QACxC,QAAQ,EAAE,KAAK;KAChB,CAAC;IAEF,IAAI,CAAC;QACH,qCAAqC;QACrC,QAAQ,CAAC,yBAAyB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,sCAAsC;QACtC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,UAAU,GAAW,YAAY,CAAC,WAAW,CAAC;IAClD,IAAI,YAAY,GAAW,YAAY,CAAC,aAAa,CAAC;IACtD,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,6CAA6C;IAC7C,IAAI,CAAC;QACH,6BAA6B;QAC7B,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QACzF,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,oFAAoF;YACpF,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,YAAY,GAAG,UAAU,CAAC;YAC5B,CAAC;iBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtC,YAAY,GAAG,QAAQ,CAAC;YAC1B,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,6BAA6B;YAC1D,CAAC;YAED,6CAA6C;YAC7C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,QAAQ,CAAC,iCAAiC,YAAY,OAAO,EAAE;oBAC7E,QAAQ,EAAE,MAAM;oBAChB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC,IAAI,EAAE,CAAC;gBACV,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,YAAY,GAAG,EAAE,EAAE,CAAC,CAAC;gBAClE,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YAAC,MAAM,CAAC;gBACP,8DAA8D;gBAC9D,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,yBAAyB,YAAY,EAAE,EAAE;wBACjE,QAAQ,EAAE,MAAM;wBAChB,KAAK,EAAE,MAAM;qBACd,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEV,4DAA4D;oBAC5D,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;wBACzC,UAAU,GAAG,MAAM,CAAC;wBACpB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;yBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;wBAClD,UAAU,GAAG,QAAQ,CAAC;wBACtB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;yBAAM,IAAI,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBACnD,UAAU,GAAG,SAAS,CAAC;wBACvB,QAAQ,GAAG,IAAI,CAAC;oBAClB,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gDAAgD;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IAED,OAAO;QACL,UAAU;QACV,YAAY;QACZ,QAAQ;KACT,CAAC;AACJ,CAAC"}
|
|
@@ -54,10 +54,10 @@ function createVerboseCallbacks() {
|
|
|
54
54
|
},
|
|
55
55
|
onStepComplete: (step, result) => {
|
|
56
56
|
if (result.passed) {
|
|
57
|
-
console.log(chalk.green(` ✅ ${step.name} (${result.
|
|
57
|
+
console.log(chalk.green(` ✅ ${step.name} (${result.durationSecs}s)`));
|
|
58
58
|
}
|
|
59
59
|
else {
|
|
60
|
-
console.log(chalk.red(` ❌ ${step.name} failed (${result.
|
|
60
|
+
console.log(chalk.red(` ❌ ${step.name} failed (${result.durationSecs}s)`));
|
|
61
61
|
if (result.output) {
|
|
62
62
|
console.log(chalk.red(` Error: ${result.output}`));
|
|
63
63
|
}
|
|
@@ -81,7 +81,7 @@ function createMinimalCallbacks() {
|
|
|
81
81
|
console.log(` step_start: ${step.name}`);
|
|
82
82
|
},
|
|
83
83
|
onStepComplete: (step, result) => {
|
|
84
|
-
console.log(` step_complete: ${step.name} (${result.passed ? 'passed' : 'failed'}, ${result.
|
|
84
|
+
console.log(` step_complete: ${step.name} (${result.passed ? 'passed' : 'failed'}, ${result.durationSecs}s)`);
|
|
85
85
|
},
|
|
86
86
|
};
|
|
87
87
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../src/utils/runner-adapter.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,MAA0B,EAC1B,OAAsB;IAEtB,kFAAkF;IAClF,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACvB,CAAC;IACH,CAAC;IAED,sCAAsC;IACtC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO;QAC/B,CAAC,CAAC,sBAAsB,EAAE;QAC1B,CAAC,CAAC,sBAAsB,EAAE,CAAC;IAE7B,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,IAAI,EAAE;QACvC,cAAc,EAAE,IAAI,EAAE,wDAAwD;QAC9E,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,4BAA4B;QACrD,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,mDAAmD;QAC7E,GAAG,EAAE,OAAO;QACZ,aAAa,EAAE,2BAA2B;QAC1C,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB;IAC7B,OAAO;QACL,YAAY,EAAE,CAAC,KAAsB,EAAE,EAAE;YACvC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,eAAe,EAAE,CAAC,KAAsB,EAAE,MAAmB,EAAE,EAAE;YAC/D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,KAAK,CAAC,IAAI,yBAAyB,CAAC,CAAC,CAAC;YAC3E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,KAAK,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QACD,WAAW,EAAE,CAAC,IAAoB,EAAE,EAAE;YACpC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QACjD,CAAC;QACD,cAAc,EAAE,CAAC,IAAoB,EAAE,MAAkB,EAAE,EAAE;YAC3D,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"runner-adapter.js","sourceRoot":"","sources":["../../src/utils/runner-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gitignore Setup Check
|
|
3
|
+
*
|
|
4
|
+
* Ensures that .vibe-validate-state.yaml is listed in .gitignore
|
|
5
|
+
* to prevent committing validation state files.
|
|
6
|
+
*/
|
|
7
|
+
import type { SetupCheck, CheckResult, FixResult, PreviewResult, FixOptions } from '../setup-engine.js';
|
|
8
|
+
export declare class GitignoreSetupCheck implements SetupCheck {
|
|
9
|
+
readonly id = "gitignore";
|
|
10
|
+
readonly name = "Gitignore Setup";
|
|
11
|
+
check(options?: FixOptions): Promise<CheckResult>;
|
|
12
|
+
preview(options?: FixOptions): Promise<PreviewResult>;
|
|
13
|
+
fix(options?: FixOptions): Promise<FixResult>;
|
|
14
|
+
/**
|
|
15
|
+
* Generate content for a new .gitignore file
|
|
16
|
+
*/
|
|
17
|
+
private generateNewGitignoreContent;
|
|
18
|
+
/**
|
|
19
|
+
* Add state file entry to existing .gitignore content
|
|
20
|
+
*/
|
|
21
|
+
private addEntryToGitignore;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=gitignore-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/gitignore-check.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,mBAAoB,YAAW,UAAU;IACpD,QAAQ,CAAC,EAAE,eAAe;IAC1B,QAAQ,CAAC,IAAI,qBAAqB;IAE5B,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IAmCjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA4CrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IA8DnD;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAMnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAY5B"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gitignore Setup Check
|
|
3
|
+
*
|
|
4
|
+
* Ensures that .vibe-validate-state.yaml is listed in .gitignore
|
|
5
|
+
* to prevent committing validation state files.
|
|
6
|
+
*/
|
|
7
|
+
import { readFile, writeFile } from 'fs/promises';
|
|
8
|
+
import { existsSync } from 'fs';
|
|
9
|
+
import { join } from 'path';
|
|
10
|
+
const STATE_FILE_ENTRY = '.vibe-validate-state.yaml';
|
|
11
|
+
export class GitignoreSetupCheck {
|
|
12
|
+
id = 'gitignore';
|
|
13
|
+
name = 'Gitignore Setup';
|
|
14
|
+
async check(options) {
|
|
15
|
+
const cwd = options?.cwd ?? process.cwd();
|
|
16
|
+
const gitignorePath = join(cwd, '.gitignore');
|
|
17
|
+
// Check if .gitignore exists
|
|
18
|
+
if (!existsSync(gitignorePath)) {
|
|
19
|
+
return {
|
|
20
|
+
passed: false,
|
|
21
|
+
message: '.gitignore not found',
|
|
22
|
+
suggestion: `Create .gitignore and add ${STATE_FILE_ENTRY}`,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
// Read .gitignore content
|
|
26
|
+
const content = await readFile(gitignorePath, 'utf-8');
|
|
27
|
+
// Check if state file entry exists (with flexible whitespace)
|
|
28
|
+
const hasEntry = content
|
|
29
|
+
.split('\n')
|
|
30
|
+
.some(line => line.trim() === STATE_FILE_ENTRY);
|
|
31
|
+
if (!hasEntry) {
|
|
32
|
+
return {
|
|
33
|
+
passed: false,
|
|
34
|
+
message: `.gitignore missing ${STATE_FILE_ENTRY} entry`,
|
|
35
|
+
suggestion: `Add ${STATE_FILE_ENTRY} to .gitignore`,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return {
|
|
39
|
+
passed: true,
|
|
40
|
+
message: '.gitignore correctly configured with state file entry',
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
async preview(options) {
|
|
44
|
+
const cwd = options?.cwd ?? process.cwd();
|
|
45
|
+
const gitignorePath = join(cwd, '.gitignore');
|
|
46
|
+
// Check current state
|
|
47
|
+
const checkResult = await this.check(options);
|
|
48
|
+
if (checkResult.passed) {
|
|
49
|
+
return {
|
|
50
|
+
description: '.gitignore already configured correctly',
|
|
51
|
+
filesAffected: [],
|
|
52
|
+
changes: [],
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
// If .gitignore doesn't exist
|
|
56
|
+
if (!existsSync(gitignorePath)) {
|
|
57
|
+
const content = this.generateNewGitignoreContent();
|
|
58
|
+
return {
|
|
59
|
+
description: 'Create new .gitignore with vibe-validate state file entry',
|
|
60
|
+
filesAffected: ['.gitignore'],
|
|
61
|
+
changes: [
|
|
62
|
+
{
|
|
63
|
+
file: '.gitignore',
|
|
64
|
+
action: 'create',
|
|
65
|
+
content,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// If .gitignore exists but missing entry
|
|
71
|
+
return {
|
|
72
|
+
description: `Add ${STATE_FILE_ENTRY} entry to existing .gitignore`,
|
|
73
|
+
filesAffected: ['.gitignore'],
|
|
74
|
+
changes: [
|
|
75
|
+
{
|
|
76
|
+
file: '.gitignore',
|
|
77
|
+
action: 'modify',
|
|
78
|
+
},
|
|
79
|
+
],
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async fix(options) {
|
|
83
|
+
const cwd = options?.cwd ?? process.cwd();
|
|
84
|
+
const gitignorePath = join(cwd, '.gitignore');
|
|
85
|
+
const dryRun = options?.dryRun ?? false;
|
|
86
|
+
// Check current state
|
|
87
|
+
const checkResult = await this.check(options);
|
|
88
|
+
if (checkResult.passed && !options?.force) {
|
|
89
|
+
return {
|
|
90
|
+
success: true,
|
|
91
|
+
message: '.gitignore already configured correctly',
|
|
92
|
+
filesChanged: [],
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
if (dryRun) {
|
|
96
|
+
return {
|
|
97
|
+
success: true,
|
|
98
|
+
message: '[dry-run] Would update .gitignore',
|
|
99
|
+
filesChanged: [],
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
// If .gitignore doesn't exist, create it
|
|
103
|
+
if (!existsSync(gitignorePath)) {
|
|
104
|
+
const content = this.generateNewGitignoreContent();
|
|
105
|
+
await writeFile(gitignorePath, content, 'utf-8');
|
|
106
|
+
return {
|
|
107
|
+
success: true,
|
|
108
|
+
message: 'Created .gitignore with state file entry',
|
|
109
|
+
filesChanged: ['.gitignore'],
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
// If .gitignore exists, add entry if missing
|
|
113
|
+
const content = await readFile(gitignorePath, 'utf-8');
|
|
114
|
+
const hasEntry = content
|
|
115
|
+
.split('\n')
|
|
116
|
+
.some(line => line.trim() === STATE_FILE_ENTRY);
|
|
117
|
+
if (hasEntry) {
|
|
118
|
+
// Entry already exists (idempotent)
|
|
119
|
+
return {
|
|
120
|
+
success: true,
|
|
121
|
+
message: '.gitignore already contains state file entry',
|
|
122
|
+
filesChanged: [],
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// Add entry to existing .gitignore
|
|
126
|
+
const updatedContent = this.addEntryToGitignore(content);
|
|
127
|
+
await writeFile(gitignorePath, updatedContent, 'utf-8');
|
|
128
|
+
return {
|
|
129
|
+
success: true,
|
|
130
|
+
message: `Added ${STATE_FILE_ENTRY} to .gitignore`,
|
|
131
|
+
filesChanged: ['.gitignore'],
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Generate content for a new .gitignore file
|
|
136
|
+
*/
|
|
137
|
+
generateNewGitignoreContent() {
|
|
138
|
+
return `# vibe-validate
|
|
139
|
+
${STATE_FILE_ENTRY}
|
|
140
|
+
`;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Add state file entry to existing .gitignore content
|
|
144
|
+
*/
|
|
145
|
+
addEntryToGitignore(content) {
|
|
146
|
+
// Ensure content ends with newline
|
|
147
|
+
let updatedContent = content;
|
|
148
|
+
if (!content.endsWith('\n')) {
|
|
149
|
+
updatedContent += '\n';
|
|
150
|
+
}
|
|
151
|
+
// Add vibe-validate section
|
|
152
|
+
updatedContent += `\n# vibe-validate\n${STATE_FILE_ENTRY}\n`;
|
|
153
|
+
return updatedContent;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=gitignore-check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitignore-check.js","sourceRoot":"","sources":["../../../src/utils/setup-checks/gitignore-check.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hooks Setup Check
|
|
3
|
+
*
|
|
4
|
+
* Ensures that husky pre-commit hook is configured to run vibe-validate.
|
|
5
|
+
* This check creates/modifies .husky/pre-commit to include the vibe-validate
|
|
6
|
+
* pre-commit command.
|
|
7
|
+
*
|
|
8
|
+
* Note: This check does NOT install husky as a dependency. Users should
|
|
9
|
+
* install husky manually via `npm install -D husky` or `pnpm add -D husky`.
|
|
10
|
+
*/
|
|
11
|
+
import type { SetupCheck, CheckResult, FixResult, PreviewResult, FixOptions } from '../setup-engine.js';
|
|
12
|
+
export declare class HooksSetupCheck implements SetupCheck {
|
|
13
|
+
readonly id = "hooks";
|
|
14
|
+
readonly name = "Pre-commit Hook Setup";
|
|
15
|
+
check(options?: FixOptions): Promise<CheckResult>;
|
|
16
|
+
preview(options?: FixOptions): Promise<PreviewResult>;
|
|
17
|
+
fix(options?: FixOptions): Promise<FixResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Generate content for a new pre-commit hook
|
|
20
|
+
*/
|
|
21
|
+
private generateNewPreCommitHook;
|
|
22
|
+
/**
|
|
23
|
+
* Add vibe-validate command to existing pre-commit hook
|
|
24
|
+
*/
|
|
25
|
+
private addCommandToPreCommit;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=hooks-check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks-check.d.ts","sourceRoot":"","sources":["../../../src/utils/setup-checks/hooks-check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EACV,UAAU,EACV,WAAW,EACX,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,oBAAoB,CAAC;AAI5B,qBAAa,eAAgB,YAAW,UAAU;IAChD,QAAQ,CAAC,EAAE,WAAW;IACtB,QAAQ,CAAC,IAAI,2BAA2B;IAElC,KAAK,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC;IA2CjD,OAAO,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC;IA6CrD,GAAG,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;IAoEnD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAQhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAY9B"}
|