@vibe-agent-toolkit/cli 0.1.41-rc.6 → 0.1.41-rc.8
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/README.md +4 -3
- package/dist/bin/vat +25 -2
- package/dist/bin/vat.js +25 -2
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +12 -1
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/list.d.ts +11 -0
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +30 -11
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/audit/hierarchical-output.d.ts +6 -2
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +93 -50
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit-settings.d.ts +35 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +121 -51
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +97 -2
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +505 -231
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +126 -32
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +39 -2
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +114 -68
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +5 -4
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +97 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +157 -49
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +11 -3
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +70 -20
- package/dist/commands/claude/org/skills.js.map +1 -1
- package/dist/commands/claude/org/stubs.d.ts +9 -1
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +11 -3
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +116 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +173 -40
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/marketplace-json.d.ts +36 -0
- package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -0
- package/dist/commands/claude/plugin/marketplace-json.js +34 -0
- package/dist/commands/claude/plugin/marketplace-json.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts +30 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +107 -14
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +0 -1
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +22 -4
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -0
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +16 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +55 -48
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/doctor.d.ts +57 -8
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +142 -67
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts +2 -0
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +45 -4
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +240 -11
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +352 -15
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/rag/query-command.d.ts +40 -0
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +47 -20
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +38 -13
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/scan.d.ts +37 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +47 -32
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +136 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +121 -68
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +40 -23
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +8 -6
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +140 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +348 -94
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +6 -10
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +6 -22
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/list.d.ts +18 -0
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +41 -15
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +17 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +72 -43
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +9 -1
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +22 -6
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +79 -0
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +268 -79
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +79 -66
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +38 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +247 -84
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/skill-resolution/index.d.ts +1 -1
- package/dist/skill-resolution/index.d.ts.map +1 -1
- package/dist/skill-resolution/index.js +1 -1
- package/dist/skill-resolution/index.js.map +1 -1
- package/dist/skill-resolution/packaging-config.d.ts +15 -2
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +39 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/utils/command-error.d.ts +34 -1
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +32 -1
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +0 -2
- package/dist/utils/config-loader.js.map +1 -1
- package/dist/utils/help-loader.d.ts +6 -2
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +9 -16
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-anchor.d.ts +26 -0
- package/dist/utils/issue-anchor.d.ts.map +1 -0
- package/dist/utils/issue-anchor.js +39 -0
- package/dist/utils/issue-anchor.js.map +1 -0
- package/dist/utils/issue-rendering.d.ts +149 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -0
- package/dist/utils/issue-rendering.js +229 -0
- package/dist/utils/issue-rendering.js.map +1 -0
- package/dist/utils/output.d.ts +80 -9
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +138 -23
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +2 -2
- package/dist/utils/project-root-policy.js +2 -2
- package/dist/utils/relativize-paths.d.ts +45 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -0
- package/dist/utils/relativize-paths.js +67 -0
- package/dist/utils/relativize-paths.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +21 -2
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +85 -11
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +22 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +26 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/validate-help-files.d.ts +3 -2
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +48 -5
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +14 -5
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +19 -16
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/audit.md +40 -14
- package/docs/doctor.md +46 -10
- package/docs/index.md +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +54 -22
- package/docs/skills.md +11 -7
- package/package.json +12 -12
package/dist/commands/doctor.js
CHANGED
|
@@ -31,7 +31,7 @@ export function checkNodeVersion() {
|
|
|
31
31
|
if (!version) {
|
|
32
32
|
return {
|
|
33
33
|
name: CHECK_NAME_NODE_VERSION,
|
|
34
|
-
|
|
34
|
+
outcome: 'fail',
|
|
35
35
|
message: 'Not detected',
|
|
36
36
|
suggestion: NODEJS_INSTALL_URL,
|
|
37
37
|
};
|
|
@@ -40,7 +40,7 @@ export function checkNodeVersion() {
|
|
|
40
40
|
if (Number.isNaN(majorVersion)) {
|
|
41
41
|
return {
|
|
42
42
|
name: CHECK_NAME_NODE_VERSION,
|
|
43
|
-
|
|
43
|
+
outcome: 'fail',
|
|
44
44
|
message: `Failed to parse version: "${version}"`,
|
|
45
45
|
suggestion: NODEJS_INSTALL_URL,
|
|
46
46
|
};
|
|
@@ -48,12 +48,12 @@ export function checkNodeVersion() {
|
|
|
48
48
|
return majorVersion >= 20
|
|
49
49
|
? {
|
|
50
50
|
name: CHECK_NAME_NODE_VERSION,
|
|
51
|
-
|
|
51
|
+
outcome: 'pass',
|
|
52
52
|
message: `${version} (meets requirement: >=20.0.0)`,
|
|
53
53
|
}
|
|
54
54
|
: {
|
|
55
55
|
name: CHECK_NAME_NODE_VERSION,
|
|
56
|
-
|
|
56
|
+
outcome: 'fail',
|
|
57
57
|
message: `${version} is too old. Node.js 20+ required.`,
|
|
58
58
|
suggestion: 'Upgrade Node.js: https://nodejs.org/ or use nvm',
|
|
59
59
|
};
|
|
@@ -62,7 +62,7 @@ export function checkNodeVersion() {
|
|
|
62
62
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
63
63
|
return {
|
|
64
64
|
name: CHECK_NAME_NODE_VERSION,
|
|
65
|
-
|
|
65
|
+
outcome: 'fail',
|
|
66
66
|
message: `Failed to detect: ${errorMessage}`,
|
|
67
67
|
suggestion: NODEJS_INSTALL_URL,
|
|
68
68
|
};
|
|
@@ -77,14 +77,14 @@ export function checkGitInstalled() {
|
|
|
77
77
|
if (!version) {
|
|
78
78
|
return {
|
|
79
79
|
name: CHECK_NAME_GIT_INSTALLED,
|
|
80
|
-
|
|
80
|
+
outcome: 'fail',
|
|
81
81
|
message: 'Git is not installed',
|
|
82
82
|
suggestion: GIT_INSTALL_URL,
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
return {
|
|
86
86
|
name: CHECK_NAME_GIT_INSTALLED,
|
|
87
|
-
|
|
87
|
+
outcome: 'pass',
|
|
88
88
|
message: version,
|
|
89
89
|
};
|
|
90
90
|
}
|
|
@@ -92,7 +92,7 @@ export function checkGitInstalled() {
|
|
|
92
92
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
93
93
|
return {
|
|
94
94
|
name: CHECK_NAME_GIT_INSTALLED,
|
|
95
|
-
|
|
95
|
+
outcome: 'fail',
|
|
96
96
|
message: `Git is not installed: ${errorMessage}`,
|
|
97
97
|
suggestion: GIT_INSTALL_URL,
|
|
98
98
|
};
|
|
@@ -112,7 +112,7 @@ export function checkGitRepository() {
|
|
|
112
112
|
if (existsSync(safePath.join(currentDir, '.git'))) {
|
|
113
113
|
return {
|
|
114
114
|
name: CHECK_NAME_GIT_REPOSITORY,
|
|
115
|
-
|
|
115
|
+
outcome: 'pass',
|
|
116
116
|
message: 'Current directory is a git repository',
|
|
117
117
|
};
|
|
118
118
|
}
|
|
@@ -121,7 +121,7 @@ export function checkGitRepository() {
|
|
|
121
121
|
}
|
|
122
122
|
return {
|
|
123
123
|
name: CHECK_NAME_GIT_REPOSITORY,
|
|
124
|
-
|
|
124
|
+
outcome: 'fail',
|
|
125
125
|
message: 'Current directory is not a git repository',
|
|
126
126
|
suggestion: 'Run: git init',
|
|
127
127
|
};
|
|
@@ -130,7 +130,7 @@ export function checkGitRepository() {
|
|
|
130
130
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
131
131
|
return {
|
|
132
132
|
name: CHECK_NAME_GIT_REPOSITORY,
|
|
133
|
-
|
|
133
|
+
outcome: 'fail',
|
|
134
134
|
message: `Error checking git repository: ${errorMessage}`,
|
|
135
135
|
suggestion: 'Run: git init',
|
|
136
136
|
};
|
|
@@ -147,14 +147,14 @@ export function checkConfigFile() {
|
|
|
147
147
|
if (configPath) {
|
|
148
148
|
return {
|
|
149
149
|
name: CHECK_NAME_CONFIG_FILE,
|
|
150
|
-
|
|
150
|
+
outcome: 'pass',
|
|
151
151
|
message: `Found: ${configPath}`,
|
|
152
152
|
};
|
|
153
153
|
}
|
|
154
154
|
else {
|
|
155
155
|
return {
|
|
156
156
|
name: CHECK_NAME_CONFIG_FILE,
|
|
157
|
-
|
|
157
|
+
outcome: 'fail',
|
|
158
158
|
message: 'Configuration file not found',
|
|
159
159
|
suggestion: CREATE_CONFIG_SUGGESTION,
|
|
160
160
|
};
|
|
@@ -164,7 +164,7 @@ export function checkConfigFile() {
|
|
|
164
164
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
165
165
|
return {
|
|
166
166
|
name: CHECK_NAME_CONFIG_FILE,
|
|
167
|
-
|
|
167
|
+
outcome: 'fail',
|
|
168
168
|
message: `Error checking configuration: ${errorMessage}`,
|
|
169
169
|
suggestion: CREATE_CONFIG_SUGGESTION,
|
|
170
170
|
};
|
|
@@ -207,7 +207,7 @@ export function checkConfigValid() {
|
|
|
207
207
|
if (!configPath) {
|
|
208
208
|
return {
|
|
209
209
|
name: CHECK_NAME_CONFIG_VALID,
|
|
210
|
-
|
|
210
|
+
outcome: 'fail',
|
|
211
211
|
message: 'Configuration file not found',
|
|
212
212
|
suggestion: CREATE_CONFIG_SUGGESTION,
|
|
213
213
|
};
|
|
@@ -221,7 +221,7 @@ export function checkConfigValid() {
|
|
|
221
221
|
if (!collections || Object.keys(collections).length === 0) {
|
|
222
222
|
return {
|
|
223
223
|
name: CHECK_NAME_CONFIG_VALID,
|
|
224
|
-
|
|
224
|
+
outcome: 'pass',
|
|
225
225
|
message: 'Configuration is valid (no collections defined)',
|
|
226
226
|
};
|
|
227
227
|
}
|
|
@@ -237,7 +237,7 @@ export function checkConfigValid() {
|
|
|
237
237
|
].join('\n ');
|
|
238
238
|
return {
|
|
239
239
|
name: CHECK_NAME_CONFIG_VALID,
|
|
240
|
-
|
|
240
|
+
outcome: 'fail',
|
|
241
241
|
message: `Configuration valid but schema files missing:\n ${details}`,
|
|
242
242
|
suggestion: 'Create missing schema files or update collection config',
|
|
243
243
|
};
|
|
@@ -249,7 +249,7 @@ export function checkConfigValid() {
|
|
|
249
249
|
].join('\n ');
|
|
250
250
|
return {
|
|
251
251
|
name: CHECK_NAME_CONFIG_VALID,
|
|
252
|
-
|
|
252
|
+
outcome: 'pass',
|
|
253
253
|
message: `Configuration is valid\n ${details}`,
|
|
254
254
|
};
|
|
255
255
|
}
|
|
@@ -257,7 +257,7 @@ export function checkConfigValid() {
|
|
|
257
257
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
258
258
|
return {
|
|
259
259
|
name: CHECK_NAME_CONFIG_VALID,
|
|
260
|
-
|
|
260
|
+
outcome: 'fail',
|
|
261
261
|
message: `Configuration contains errors: ${errorMessage}`,
|
|
262
262
|
suggestion: 'Fix YAML syntax or schema errors in vibe-agent-toolkit.config.yaml',
|
|
263
263
|
};
|
|
@@ -267,7 +267,7 @@ export function checkConfigValid() {
|
|
|
267
267
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
268
268
|
return {
|
|
269
269
|
name: CHECK_NAME_CONFIG_VALID,
|
|
270
|
-
|
|
270
|
+
outcome: 'fail',
|
|
271
271
|
message: `Failed to check configuration: ${errorMessage}`,
|
|
272
272
|
suggestion: 'Check configuration file',
|
|
273
273
|
};
|
|
@@ -303,14 +303,14 @@ export async function checkVatVersion(versionChecker = defaultVersionChecker) {
|
|
|
303
303
|
if (currentVersion === latestVersion) {
|
|
304
304
|
return {
|
|
305
305
|
name: CHECK_NAME_VAT_VERSION,
|
|
306
|
-
|
|
306
|
+
outcome: 'pass',
|
|
307
307
|
message: `Current: ${String(currentVersion)} — up to date`,
|
|
308
308
|
};
|
|
309
309
|
}
|
|
310
310
|
else if (isOutdated) {
|
|
311
311
|
return {
|
|
312
312
|
name: CHECK_NAME_VAT_VERSION,
|
|
313
|
-
|
|
313
|
+
outcome: 'pass', // Advisory only
|
|
314
314
|
message: `Current: ${String(currentVersion)}, Latest: ${String(latestVersion)} available`,
|
|
315
315
|
suggestion: 'Upgrade: npm install -g vibe-agent-toolkit@latest',
|
|
316
316
|
};
|
|
@@ -318,16 +318,18 @@ export async function checkVatVersion(versionChecker = defaultVersionChecker) {
|
|
|
318
318
|
else {
|
|
319
319
|
return {
|
|
320
320
|
name: CHECK_NAME_VAT_VERSION,
|
|
321
|
-
|
|
321
|
+
outcome: 'pass',
|
|
322
322
|
message: `Current: ${String(currentVersion)} (ahead of npm: ${String(latestVersion)})`,
|
|
323
323
|
};
|
|
324
324
|
}
|
|
325
325
|
}
|
|
326
326
|
catch (npmError) {
|
|
327
|
+
// The registry was unreachable. We do not know whether a newer version
|
|
328
|
+
// exists — which is not the same as knowing this one is current.
|
|
327
329
|
const errorMessage = npmError instanceof Error ? npmError.message : String(npmError);
|
|
328
330
|
return {
|
|
329
331
|
name: CHECK_NAME_VAT_VERSION,
|
|
330
|
-
|
|
332
|
+
outcome: 'undetermined',
|
|
331
333
|
message: `Unable to check for updates: ${errorMessage}`,
|
|
332
334
|
};
|
|
333
335
|
}
|
|
@@ -336,7 +338,7 @@ export async function checkVatVersion(versionChecker = defaultVersionChecker) {
|
|
|
336
338
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
337
339
|
return {
|
|
338
340
|
name: CHECK_NAME_VAT_VERSION,
|
|
339
|
-
|
|
341
|
+
outcome: 'undetermined',
|
|
340
342
|
message: `Unable to determine version: ${errorMessage}`,
|
|
341
343
|
};
|
|
342
344
|
}
|
|
@@ -344,22 +346,27 @@ export async function checkVatVersion(versionChecker = defaultVersionChecker) {
|
|
|
344
346
|
/**
|
|
345
347
|
* Detect if running in VAT source tree
|
|
346
348
|
*
|
|
349
|
+
* Returns `'undetermined'` when the probe file exists but cannot be read or
|
|
350
|
+
* parsed: "I could not tell whether this is the source tree" is a different
|
|
351
|
+
* answer from "this is not the source tree", and only the latter justifies
|
|
352
|
+
* skipping the build-sync check.
|
|
353
|
+
*
|
|
347
354
|
* @param projectRoot - Pre-resolved project root from the CLI boundary (null if absent)
|
|
348
355
|
*/
|
|
349
356
|
function isVatSourceTree(projectRoot) {
|
|
357
|
+
if (!projectRoot)
|
|
358
|
+
return 'no';
|
|
359
|
+
const cliPackagePath = safePath.join(projectRoot, 'packages/cli/package.json');
|
|
350
360
|
try {
|
|
351
|
-
if (!projectRoot)
|
|
352
|
-
return false;
|
|
353
|
-
const cliPackagePath = safePath.join(projectRoot, 'packages/cli/package.json');
|
|
354
361
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path for VAT source detection
|
|
355
362
|
if (!existsSync(cliPackagePath))
|
|
356
|
-
return
|
|
363
|
+
return 'no';
|
|
357
364
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- Dynamic path for VAT source detection
|
|
358
365
|
const pkg = JSON.parse(readFileSync(cliPackagePath, 'utf8'));
|
|
359
|
-
return pkg.name === '@vibe-agent-toolkit/cli';
|
|
366
|
+
return pkg.name === '@vibe-agent-toolkit/cli' ? 'yes' : 'no';
|
|
360
367
|
}
|
|
361
368
|
catch {
|
|
362
|
-
return
|
|
369
|
+
return 'undetermined';
|
|
363
370
|
}
|
|
364
371
|
}
|
|
365
372
|
/**
|
|
@@ -369,18 +376,26 @@ function isVatSourceTree(projectRoot) {
|
|
|
369
376
|
*/
|
|
370
377
|
export function checkCliBuildSync(projectRoot) {
|
|
371
378
|
try {
|
|
372
|
-
if (!
|
|
379
|
+
if (!projectRoot) {
|
|
373
380
|
return {
|
|
374
381
|
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
375
|
-
|
|
376
|
-
message: 'Skipped (
|
|
382
|
+
outcome: 'skipped',
|
|
383
|
+
message: 'Skipped (no project root detected — nothing to compare the build against)',
|
|
377
384
|
};
|
|
378
385
|
}
|
|
379
|
-
|
|
386
|
+
const sourceTree = isVatSourceTree(projectRoot);
|
|
387
|
+
if (sourceTree === 'undetermined') {
|
|
388
|
+
return {
|
|
389
|
+
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
390
|
+
outcome: 'undetermined',
|
|
391
|
+
message: 'Could not determine whether this is the VAT source tree (packages/cli/package.json is unreadable)',
|
|
392
|
+
};
|
|
393
|
+
}
|
|
394
|
+
if (sourceTree === 'no') {
|
|
380
395
|
return {
|
|
381
396
|
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
382
|
-
|
|
383
|
-
message: 'Skipped',
|
|
397
|
+
outcome: 'skipped',
|
|
398
|
+
message: 'Skipped (not in VAT source tree — build sync only applies to VAT developers)',
|
|
384
399
|
};
|
|
385
400
|
}
|
|
386
401
|
// Get running version
|
|
@@ -396,22 +411,24 @@ export function checkCliBuildSync(projectRoot) {
|
|
|
396
411
|
if (runningVersion !== sourceVersion) {
|
|
397
412
|
return {
|
|
398
413
|
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
399
|
-
|
|
414
|
+
outcome: 'fail',
|
|
400
415
|
message: `Build is stale: running v${String(runningVersion)}, source v${String(sourceVersion)}`,
|
|
401
416
|
suggestion: 'Rebuild packages: bun run build',
|
|
402
417
|
};
|
|
403
418
|
}
|
|
404
419
|
return {
|
|
405
420
|
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
406
|
-
|
|
421
|
+
outcome: 'pass',
|
|
407
422
|
message: `Build is up to date (v${String(runningVersion)})`,
|
|
408
423
|
};
|
|
409
424
|
}
|
|
410
|
-
catch {
|
|
425
|
+
catch (error) {
|
|
426
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
411
427
|
return {
|
|
412
428
|
name: CHECK_NAME_CLI_BUILD_STATUS,
|
|
413
|
-
|
|
414
|
-
message:
|
|
429
|
+
outcome: 'undetermined',
|
|
430
|
+
message: `Could not determine build status: ${errorMessage}`,
|
|
431
|
+
suggestion: 'Rebuild packages (bun run build) and re-run, or check file permissions',
|
|
415
432
|
};
|
|
416
433
|
}
|
|
417
434
|
}
|
|
@@ -422,7 +439,7 @@ export function checkCliBuildSync(projectRoot) {
|
|
|
422
439
|
* @returns Doctor result
|
|
423
440
|
*/
|
|
424
441
|
export async function runDoctor(options = {}) {
|
|
425
|
-
const {
|
|
442
|
+
const { versionChecker } = options;
|
|
426
443
|
// 1. Detect project context at the CLI boundary.
|
|
427
444
|
// Doctor uses the `tolerate null` policy (spec §7) — null is reported as a finding.
|
|
428
445
|
const currentDir = process.cwd();
|
|
@@ -443,22 +460,75 @@ export async function runDoctor(options = {}) {
|
|
|
443
460
|
checkConfigValid(),
|
|
444
461
|
checkCliBuildSync(projectRoot),
|
|
445
462
|
];
|
|
446
|
-
// 3.
|
|
447
|
-
|
|
448
|
-
? checks
|
|
449
|
-
: checks.filter(c => !c.passed || c.suggestion);
|
|
450
|
-
// 4. Calculate summary
|
|
451
|
-
const allPassed = checks.every(c => c.passed);
|
|
452
|
-
const totalChecks = checks.length;
|
|
453
|
-
const passedChecks = checks.filter(c => c.passed).length;
|
|
463
|
+
// 3. Report every check plus the outcome distribution. Filtering is the
|
|
464
|
+
// renderer's job — see selectDisplayChecks.
|
|
454
465
|
return {
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
passedChecks,
|
|
466
|
+
checks,
|
|
467
|
+
totalChecks: checks.length,
|
|
468
|
+
outcomeCounts: countByOutcome(checks),
|
|
459
469
|
projectContext,
|
|
460
470
|
};
|
|
461
471
|
}
|
|
472
|
+
/** Tally checks by outcome. The four buckets always sum to `checks.length`. */
|
|
473
|
+
export function countByOutcome(checks) {
|
|
474
|
+
const counts = { pass: 0, fail: 0, undetermined: 0, skipped: 0 };
|
|
475
|
+
for (const check of checks) {
|
|
476
|
+
counts[check.outcome] += 1;
|
|
477
|
+
}
|
|
478
|
+
return counts;
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Which checks the renderer prints.
|
|
482
|
+
*
|
|
483
|
+
* Verbose prints all of them. Concise hides only the checks with nothing to say:
|
|
484
|
+
* a clean `pass` with no suggestion, and a `skipped` check that does not apply
|
|
485
|
+
* here. `fail` and `undetermined` are ALWAYS printed — an undetermined check is
|
|
486
|
+
* the one a concise view must never swallow.
|
|
487
|
+
*
|
|
488
|
+
* Whatever this hides, {@link formatDoctorSummary} states the number of hidden
|
|
489
|
+
* checks, so the printed list and the printed counts cannot disagree.
|
|
490
|
+
*/
|
|
491
|
+
export function selectDisplayChecks(checks, verbose) {
|
|
492
|
+
if (verbose)
|
|
493
|
+
return [...checks];
|
|
494
|
+
return checks.filter(c => c.suggestion !== undefined || (c.outcome !== 'pass' && c.outcome !== 'skipped'));
|
|
495
|
+
}
|
|
496
|
+
const OUTCOME_ICONS = {
|
|
497
|
+
pass: '✅',
|
|
498
|
+
fail: '❌',
|
|
499
|
+
undetermined: '❓',
|
|
500
|
+
skipped: '⏭️',
|
|
501
|
+
};
|
|
502
|
+
/**
|
|
503
|
+
* The summary block: the distribution, how many checks were not rendered, and
|
|
504
|
+
* the verdict.
|
|
505
|
+
*
|
|
506
|
+
* `displayedCount` is required precisely so the block can never claim more
|
|
507
|
+
* checks than the reader was shown without saying so.
|
|
508
|
+
*/
|
|
509
|
+
export function formatDoctorSummary(counts, displayedCount) {
|
|
510
|
+
const total = counts.pass + counts.fail + counts.undetermined + counts.skipped;
|
|
511
|
+
const lines = [
|
|
512
|
+
`📊 Results: ${total} checks — ${counts.pass} passed, ${counts.fail} failed, ` +
|
|
513
|
+
`${counts.undetermined} undetermined, ${counts.skipped} skipped`,
|
|
514
|
+
];
|
|
515
|
+
const hidden = total - displayedCount;
|
|
516
|
+
if (hidden > 0) {
|
|
517
|
+
lines.push(` ${hidden} not shown (nothing to report) — re-run with --verbose to see every check.`);
|
|
518
|
+
}
|
|
519
|
+
lines.push('');
|
|
520
|
+
if (counts.fail > 0) {
|
|
521
|
+
lines.push(`⚠️ ${counts.fail} check(s) failed. See suggestions above to fix.`);
|
|
522
|
+
}
|
|
523
|
+
else if (counts.undetermined > 0) {
|
|
524
|
+
lines.push(`❓ Nothing failed, but ${counts.undetermined} check(s) could not be determined — ` +
|
|
525
|
+
'that is not the same as healthy.');
|
|
526
|
+
}
|
|
527
|
+
else {
|
|
528
|
+
lines.push('✨ All checks passed! Your vat setup looks healthy.');
|
|
529
|
+
}
|
|
530
|
+
return lines;
|
|
531
|
+
}
|
|
462
532
|
/**
|
|
463
533
|
* Main command handler for Commander.js
|
|
464
534
|
*/
|
|
@@ -475,9 +545,15 @@ When to run:
|
|
|
475
545
|
• In CI/CD pipelines (validate build environment)
|
|
476
546
|
|
|
477
547
|
Exit Codes:
|
|
478
|
-
0 -
|
|
548
|
+
0 - No check failed (an undetermined check is reported, not fatal)
|
|
479
549
|
1 - One or more checks failed (see output for suggested fixes)
|
|
480
550
|
|
|
551
|
+
Outcomes:
|
|
552
|
+
✅ pass the check ran and the thing is fine
|
|
553
|
+
❌ fail the check ran and the thing is wrong (exit 1)
|
|
554
|
+
❓ undetermined the check could not reach an answer — nothing was verified
|
|
555
|
+
⏭️ skipped the check does not apply here
|
|
556
|
+
|
|
481
557
|
Requirements:
|
|
482
558
|
projectRoot: optional (tolerates absence — reported as a finding)
|
|
483
559
|
config: not used
|
|
@@ -499,7 +575,7 @@ More details: vat --help --verbose or see packages/cli/docs/doctor.md
|
|
|
499
575
|
};
|
|
500
576
|
try {
|
|
501
577
|
const result = await runDoctor(options);
|
|
502
|
-
displayResults(result);
|
|
578
|
+
displayResults(result, options.verbose);
|
|
503
579
|
}
|
|
504
580
|
catch (error) {
|
|
505
581
|
console.error('❌ Doctor check failed:');
|
|
@@ -511,7 +587,7 @@ More details: vat --help --verbose or see packages/cli/docs/doctor.md
|
|
|
511
587
|
/**
|
|
512
588
|
* Display doctor results in human-friendly format
|
|
513
589
|
*/
|
|
514
|
-
function displayResults(result) {
|
|
590
|
+
function displayResults(result, verbose) {
|
|
515
591
|
console.log('🩺 vat doctor\n');
|
|
516
592
|
// Show project context if in subdirectory
|
|
517
593
|
const { currentDir, projectRoot, configPath } = result.projectContext;
|
|
@@ -527,22 +603,21 @@ function displayResults(result) {
|
|
|
527
603
|
}
|
|
528
604
|
console.log('Running diagnostic checks...\n');
|
|
529
605
|
// Show checks
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
console.log(`${
|
|
606
|
+
const displayed = selectDisplayChecks(result.checks, verbose);
|
|
607
|
+
for (const check of displayed) {
|
|
608
|
+
console.log(`${OUTCOME_ICONS[check.outcome]} ${check.name}`);
|
|
533
609
|
console.log(` ${check.message}`);
|
|
534
610
|
if (check.suggestion) {
|
|
535
611
|
console.log(` 💡 ${check.suggestion}`);
|
|
536
612
|
}
|
|
537
613
|
console.log('');
|
|
538
614
|
}
|
|
539
|
-
// Summary
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
console.log(
|
|
615
|
+
// Summary — states the distribution AND how many checks it did not print,
|
|
616
|
+
// so the count can never contradict the list above it.
|
|
617
|
+
for (const line of formatDoctorSummary(result.outcomeCounts, displayed.length)) {
|
|
618
|
+
console.log(line);
|
|
543
619
|
}
|
|
544
|
-
|
|
545
|
-
console.log('⚠️ Some checks failed. See suggestions above to fix.');
|
|
620
|
+
if (result.outcomeCounts.fail > 0) {
|
|
546
621
|
process.exit(1);
|
|
547
622
|
}
|
|
548
623
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type AnyInventory } from '@vibe-agent-toolkit/agent-skills';
|
|
1
2
|
import { Command } from 'commander';
|
|
2
3
|
export interface InventoryCommandOptions {
|
|
3
4
|
user?: boolean;
|
|
@@ -14,4 +15,5 @@ export declare function createInventoryCommand(): Command;
|
|
|
14
15
|
* Action handler for `vat inventory [path]`.
|
|
15
16
|
*/
|
|
16
17
|
export declare function inventoryCommand(pathArg: string | undefined, options: InventoryCommandOptions): Promise<void>;
|
|
18
|
+
export declare function routeInventory(pathArg: string | undefined, options: InventoryCommandOptions): Promise<AnyInventory>;
|
|
17
19
|
//# sourceMappingURL=inventory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"inventory.d.ts","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"AAEA,OAAO,EAGN,KAAK,YAAY,EACjB,MAAM,kCAAkC,CAAC;AAU1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,MAAM,WAAW,uBAAuB;IACvC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAgChD;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,uBAAuB,GAC9B,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,cAAc,CACnC,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,OAAO,EAAE,uBAAuB,GAC9B,OAAO,CAAC,YAAY,CAAC,CAoCvB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
2
|
import { serializeInventory, serializeInventoryShallow, } from '@vibe-agent-toolkit/agent-skills';
|
|
3
|
-
import { extractClaudeInstallInventory, extractClaudeMarketplaceInventory, extractClaudePluginInventory, extractClaudeSkillInventory, getClaudeUserPaths, } from '@vibe-agent-toolkit/claude-marketplace';
|
|
4
|
-
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
3
|
+
import { crawlSkillLinkRegistry, extractClaudeInstallInventory, extractClaudeMarketplaceInventory, extractClaudePluginInventory, extractClaudeSkillInventory, getClaudeUserPaths, } from '@vibe-agent-toolkit/claude-marketplace';
|
|
4
|
+
import { findProjectRoot, safePath } from '@vibe-agent-toolkit/utils';
|
|
5
5
|
import { Command } from 'commander';
|
|
6
6
|
import { handleCommandError } from '../utils/command-error.js';
|
|
7
7
|
import { createLogger } from '../utils/logger.js';
|
|
@@ -60,7 +60,7 @@ export async function inventoryCommand(pathArg, options) {
|
|
|
60
60
|
handleCommandError(error, logger, startTime, 'Inventory');
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
|
-
async function routeInventory(pathArg, options) {
|
|
63
|
+
export async function routeInventory(pathArg, options) {
|
|
64
64
|
if (options.user === true) {
|
|
65
65
|
return extractClaudeInstallInventory(getClaudeUserPaths());
|
|
66
66
|
}
|
|
@@ -72,6 +72,10 @@ async function routeInventory(pathArg, options) {
|
|
|
72
72
|
}
|
|
73
73
|
const absolute = safePath.resolve(pathArg);
|
|
74
74
|
if (absolute.endsWith('SKILL.md') || absolute.endsWith('skill.md')) {
|
|
75
|
+
// No shared registry: there is nothing to share it WITH. The extractor derives the
|
|
76
|
+
// same root from the same skill path and crawls it exactly once, so handing it a
|
|
77
|
+
// registry here would only duplicate that derivation — and get it wrong the moment
|
|
78
|
+
// the two rules drift.
|
|
75
79
|
return extractClaudeSkillInventory(absolute);
|
|
76
80
|
}
|
|
77
81
|
const claudePluginDir = safePath.join(absolute, '.claude-plugin');
|
|
@@ -83,8 +87,45 @@ async function routeInventory(pathArg, options) {
|
|
|
83
87
|
// When both are present, the plugin extractor takes precedence (plugin is installed,
|
|
84
88
|
// marketplace.json is a cached metadata artifact alongside it).
|
|
85
89
|
if (hasMarketplace && !hasPlugin) {
|
|
90
|
+
// No shared registry here: `extractClaudeMarketplaceInventory` (like
|
|
91
|
+
// `extractClaudeInstallInventory` above) takes no `sharedRegistry` parameter,
|
|
92
|
+
// so every plugin it fans out to still re-crawls. Threading one through those
|
|
93
|
+
// two extractors is a claude-marketplace change, not a CLI one.
|
|
86
94
|
return extractClaudeMarketplaceInventory(absolute);
|
|
87
95
|
}
|
|
88
|
-
|
|
96
|
+
// Lazy, not eager: the extractor calls this only when it is about to walk its first
|
|
97
|
+
// skill, so a plugin of commands/ and agents/ alone crawls nothing.
|
|
98
|
+
return extractClaudePluginInventory(absolute, linkRegistryProviderFor(absolute));
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* A way to obtain the ONE markdown registry every skill under `subjectDir` link-walks
|
|
102
|
+
* against — or `undefined` when no single registry can serve them all.
|
|
103
|
+
*
|
|
104
|
+
* `extractClaudeSkillInventory` otherwise crawls and parses every document under the
|
|
105
|
+
* project root once per skill, so an N-skill plugin paid N whole-corpus crawls (~11.9s
|
|
106
|
+
* each on a ~1,041-document monorepo). Root discovery belongs at this CLI boundary —
|
|
107
|
+
* inner functions take the root as a parameter — so the root is resolved eagerly here
|
|
108
|
+
* and only the crawl is deferred.
|
|
109
|
+
*
|
|
110
|
+
* **Only a project root is shareable.** Reuse is gated on exact
|
|
111
|
+
* `registry.baseDir === projectRoot` equality against the root the extractor derives per
|
|
112
|
+
* skill (`findProjectRoot(dirname(skillMd)) ?? dirname(skillMd)`). When `findProjectRoot`
|
|
113
|
+
* finds nothing, that per-skill fallback is each skill's OWN directory — three skills
|
|
114
|
+
* mean three different roots, and a registry rooted at the plugin answers a different
|
|
115
|
+
* question for all three. It would be crawled, compared, discarded, and re-crawled per
|
|
116
|
+
* skill: measured at 1308ms against 863ms for building nothing at all, i.e. 1.5x SLOWER
|
|
117
|
+
* than the N+1 it was meant to remove. So: no root, no provider.
|
|
118
|
+
*
|
|
119
|
+
* Returning a provider rather than a registry keeps the CLI out of the business of
|
|
120
|
+
* guessing whether the subject has any skills — a guess that would duplicate the
|
|
121
|
+
* extractor's discovery rule and drift from it. `extractClaudePluginInventory` memoizes
|
|
122
|
+
* the call, so whenever a provider IS returned the crawl happens at most once however
|
|
123
|
+
* many skills it finds. Mirrors `vat audit`'s `getOrCreateInventoryRegistry`.
|
|
124
|
+
*/
|
|
125
|
+
function linkRegistryProviderFor(subjectDir) {
|
|
126
|
+
const projectRoot = findProjectRoot(subjectDir);
|
|
127
|
+
if (projectRoot === null)
|
|
128
|
+
return undefined;
|
|
129
|
+
return () => crawlSkillLinkRegistry(projectRoot);
|
|
89
130
|
}
|
|
90
131
|
//# sourceMappingURL=inventory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EACN,kBAAkB,EAClB,yBAAyB,GAEzB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,6BAA6B,EAC7B,iCAAiC,EACjC,4BAA4B,EAC5B,2BAA2B,EAC3B,kBAAkB,GAClB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"inventory.js","sourceRoot":"","sources":["../../src/commands/inventory.ts"],"names":[],"mappings":"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"}
|