vibe-validate 0.17.0 → 0.17.1-rc.3
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/package.json +8 -4
- package/scripts/install-skill.js +88 -0
- package/scripts/uninstall-skill.js +41 -0
- package/skill/SKILL.md +666 -0
- package/skill/resources/cli-reference.md +570 -0
- package/skill/resources/configuration-reference.md +980 -0
- package/skill/resources/configure-project.md +126 -0
- package/skill/resources/error-extractors-guide.md +742 -0
- package/skill/resources/extending-extraction.md +451 -0
- package/skill/resources/run-capability.md +229 -0
- package/skill/resources/troubleshooting.md +65 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vibe-validate",
|
|
3
|
-
"version": "0.17.
|
|
3
|
+
"version": "0.17.1-rc.3",
|
|
4
4
|
"description": "Git-aware validation orchestration for vibe coding (LLM-assisted development) - umbrella package",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -8,7 +8,9 @@
|
|
|
8
8
|
"vv": "./bin/vv"
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
|
-
"bin"
|
|
11
|
+
"bin",
|
|
12
|
+
"scripts",
|
|
13
|
+
"skill"
|
|
12
14
|
],
|
|
13
15
|
"keywords": [
|
|
14
16
|
"validation",
|
|
@@ -48,7 +50,7 @@
|
|
|
48
50
|
"access": "public"
|
|
49
51
|
},
|
|
50
52
|
"dependencies": {
|
|
51
|
-
"@vibe-validate/cli": "0.17.
|
|
53
|
+
"@vibe-validate/cli": "0.17.1-rc.3"
|
|
52
54
|
},
|
|
53
55
|
"devDependencies": {
|
|
54
56
|
"@types/node": "^20.14.8",
|
|
@@ -57,6 +59,8 @@
|
|
|
57
59
|
},
|
|
58
60
|
"scripts": {
|
|
59
61
|
"test": "vitest run",
|
|
60
|
-
"lint": "echo 'No linting needed for delegation wrappers'"
|
|
62
|
+
"lint": "echo 'No linting needed for delegation wrappers'",
|
|
63
|
+
"postinstall": "node scripts/install-skill.js",
|
|
64
|
+
"preuninstall": "node scripts/uninstall-skill.js"
|
|
61
65
|
}
|
|
62
66
|
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Install vibe-validate skill to ~/.claude/skills/vibe-validate
|
|
4
|
+
*
|
|
5
|
+
* This script runs after `npm install -g vibe-validate` to make the skill
|
|
6
|
+
* available to Claude Code globally.
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
import { copyFileSync, mkdirSync, existsSync, readdirSync, statSync, rmSync } from 'node:fs';
|
|
10
|
+
import { join, dirname } from 'node:path';
|
|
11
|
+
import { homedir } from 'node:os';
|
|
12
|
+
import { fileURLToPath } from 'node:url';
|
|
13
|
+
|
|
14
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
15
|
+
const __dirname = dirname(__filename);
|
|
16
|
+
|
|
17
|
+
// Determine skill source location
|
|
18
|
+
const PACKAGE_ROOT = join(__dirname, '..');
|
|
19
|
+
const SKILL_SOURCE = join(PACKAGE_ROOT, 'skill');
|
|
20
|
+
|
|
21
|
+
// Target location
|
|
22
|
+
const CLAUDE_SKILLS_DIR = join(homedir(), '.claude', 'skills', 'vibe-validate');
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Recursively copy directory
|
|
26
|
+
*/
|
|
27
|
+
function copyDirectory(src, dest) {
|
|
28
|
+
if (!existsSync(dest)) {
|
|
29
|
+
mkdirSync(dest, { recursive: true });
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
const entries = readdirSync(src);
|
|
33
|
+
|
|
34
|
+
for (const entry of entries) {
|
|
35
|
+
const srcPath = join(src, entry);
|
|
36
|
+
const destPath = join(dest, entry);
|
|
37
|
+
|
|
38
|
+
if (statSync(srcPath).isDirectory()) {
|
|
39
|
+
copyDirectory(srcPath, destPath);
|
|
40
|
+
} else {
|
|
41
|
+
copyFileSync(srcPath, destPath);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Install skill
|
|
48
|
+
*/
|
|
49
|
+
function installSkill() {
|
|
50
|
+
// Only install if skill source exists
|
|
51
|
+
if (!existsSync(SKILL_SOURCE)) {
|
|
52
|
+
console.log('⚠️ Skill source not found, skipping installation');
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
// Only install for global installations
|
|
57
|
+
// Check if we're in node_modules (global or local)
|
|
58
|
+
const isGlobalInstall = __dirname.includes('/lib/node_modules/');
|
|
59
|
+
|
|
60
|
+
if (!isGlobalInstall) {
|
|
61
|
+
// Local project installation - skip skill install
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
console.log('📦 Installing vibe-validate skill to Claude Code...');
|
|
67
|
+
|
|
68
|
+
// Create ~/.claude/skills directory if needed
|
|
69
|
+
mkdirSync(dirname(CLAUDE_SKILLS_DIR), { recursive: true });
|
|
70
|
+
|
|
71
|
+
// Remove old installation if it exists (clean install)
|
|
72
|
+
if (existsSync(CLAUDE_SKILLS_DIR)) {
|
|
73
|
+
rmSync(CLAUDE_SKILLS_DIR, { recursive: true, force: true });
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// Copy skill files
|
|
77
|
+
copyDirectory(SKILL_SOURCE, CLAUDE_SKILLS_DIR);
|
|
78
|
+
|
|
79
|
+
console.log(`✅ Skill installed to ${CLAUDE_SKILLS_DIR}`);
|
|
80
|
+
console.log(' Claude Code will automatically discover it on next launch');
|
|
81
|
+
} catch (error) {
|
|
82
|
+
console.error('⚠️ Failed to install skill:', error.message);
|
|
83
|
+
console.error(' You can manually copy docs/skill/ to ~/.claude/skills/vibe-validate');
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// Run installation
|
|
88
|
+
installSkill();
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Uninstall vibe-validate skill from ~/.claude/skills/vibe-validate
|
|
4
|
+
*
|
|
5
|
+
* This script runs before `npm uninstall -g vibe-validate` to clean up the skill.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { existsSync, rmSync } from 'node:fs';
|
|
9
|
+
import { join } from 'node:path';
|
|
10
|
+
import { homedir } from 'node:os';
|
|
11
|
+
|
|
12
|
+
// Target location
|
|
13
|
+
const CLAUDE_SKILLS_DIR = join(homedir(), '.claude', 'skills', 'vibe-validate');
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Uninstall skill
|
|
17
|
+
*/
|
|
18
|
+
function uninstallSkill() {
|
|
19
|
+
// Only uninstall for global installations
|
|
20
|
+
// Check if we're in node_modules (global or local)
|
|
21
|
+
const isGlobalInstall = process.cwd().includes('/lib/node_modules/');
|
|
22
|
+
|
|
23
|
+
if (!isGlobalInstall) {
|
|
24
|
+
// Local project installation - skip skill uninstall
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
try {
|
|
29
|
+
if (existsSync(CLAUDE_SKILLS_DIR)) {
|
|
30
|
+
console.log('🗑️ Removing vibe-validate skill from Claude Code...');
|
|
31
|
+
rmSync(CLAUDE_SKILLS_DIR, { recursive: true, force: true });
|
|
32
|
+
console.log(`✅ Skill removed from ${CLAUDE_SKILLS_DIR}`);
|
|
33
|
+
}
|
|
34
|
+
} catch (error) {
|
|
35
|
+
console.error('⚠️ Failed to remove skill:', error.message);
|
|
36
|
+
console.error(` You can manually remove: ${CLAUDE_SKILLS_DIR}`);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Run uninstallation
|
|
41
|
+
uninstallSkill();
|