@vibe-agent-toolkit/cli 0.1.38 → 0.1.39-rc.2
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 +6 -3
- package/dist/commands/audit/hierarchical-output.d.ts +2 -1
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts +5 -12
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +7 -80
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.d.ts +12 -4
- package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish-tree.js +54 -24
- package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +14 -39
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/corpus/seed.d.ts +24 -0
- package/dist/commands/corpus/seed.d.ts.map +1 -1
- package/dist/commands/corpus/seed.js +5 -0
- package/dist/commands/corpus/seed.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +4 -1
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +155 -112
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts +9 -2
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +83 -18
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +2 -1
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +1 -1
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/resources.md +7 -3
- package/package.json +11 -11
- package/dist/commands/claude/marketplace/tag-utils.d.ts +0 -11
- package/dist/commands/claude/marketplace/tag-utils.d.ts.map +0 -1
- package/dist/commands/claude/marketplace/tag-utils.js +0 -17
- package/dist/commands/claude/marketplace/tag-utils.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { readFile } from 'node:fs/promises';
|
|
5
5
|
import * as path from 'node:path';
|
|
6
|
-
import { resolveAssetReference } from '@vibe-agent-toolkit/utils';
|
|
6
|
+
import { resolveAssetReference, safePath } from '@vibe-agent-toolkit/utils';
|
|
7
7
|
import * as yaml from 'yaml';
|
|
8
8
|
import { formatDurationSecs } from '../../utils/duration.js';
|
|
9
9
|
import { createLogger } from '../../utils/logger.js';
|
|
@@ -47,25 +47,19 @@ function writeStructuredOutput(data, format) {
|
|
|
47
47
|
function groupErrorsByFile(errors) {
|
|
48
48
|
const fileMap = new Map();
|
|
49
49
|
for (const error of errors) {
|
|
50
|
+
const entry = {
|
|
51
|
+
line: error.line,
|
|
52
|
+
column: error.column,
|
|
53
|
+
code: error.code,
|
|
54
|
+
severity: error.severity,
|
|
55
|
+
message: error.message,
|
|
56
|
+
};
|
|
50
57
|
const existing = fileMap.get(error.file);
|
|
51
58
|
if (existing) {
|
|
52
|
-
existing.errors.push(
|
|
53
|
-
line: error.line,
|
|
54
|
-
column: error.column,
|
|
55
|
-
type: error.type,
|
|
56
|
-
message: error.message,
|
|
57
|
-
});
|
|
59
|
+
existing.errors.push(entry);
|
|
58
60
|
}
|
|
59
61
|
else {
|
|
60
|
-
fileMap.set(error.file, {
|
|
61
|
-
file: error.file,
|
|
62
|
-
errors: [{
|
|
63
|
-
line: error.line,
|
|
64
|
-
column: error.column,
|
|
65
|
-
type: error.type,
|
|
66
|
-
message: error.message,
|
|
67
|
-
}],
|
|
68
|
-
});
|
|
62
|
+
fileMap.set(error.file, { file: error.file, errors: [entry] });
|
|
69
63
|
}
|
|
70
64
|
}
|
|
71
65
|
return [...fileMap.values()];
|
|
@@ -80,36 +74,48 @@ function logGitTrackerStats(gitTracker, logger) {
|
|
|
80
74
|
}
|
|
81
75
|
}
|
|
82
76
|
/**
|
|
83
|
-
*
|
|
77
|
+
* Merge per-collection error stats into the base collection stats for output.
|
|
78
|
+
*/
|
|
79
|
+
function buildCollectionsWithErrors(collectionStats, collectionErrorStats) {
|
|
80
|
+
const collectionsWithErrors = {};
|
|
81
|
+
if (!collectionStats) {
|
|
82
|
+
return collectionsWithErrors;
|
|
83
|
+
}
|
|
84
|
+
for (const [id, baseStat] of Object.entries(collectionStats.collections)) {
|
|
85
|
+
const errorStat = collectionErrorStats.get(id);
|
|
86
|
+
collectionsWithErrors[id] = {
|
|
87
|
+
...baseStat,
|
|
88
|
+
...(errorStat ? {
|
|
89
|
+
filesWithErrors: errorStat.filesWithErrors,
|
|
90
|
+
errorCount: errorStat.errorCount,
|
|
91
|
+
} : {}),
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
return collectionsWithErrors;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Output validation results when one or more issues fired.
|
|
98
|
+
*
|
|
99
|
+
* Surfaces ALL severity-resolved issues (errors AND warnings/info) so users see
|
|
100
|
+
* them, but the `failed` flag — derived from the library's `hasErrors` — controls
|
|
101
|
+
* the reported `status`. The caller, not this function, owns the exit code.
|
|
84
102
|
*/
|
|
85
|
-
function
|
|
103
|
+
function outputIssues(issueData, outputFormat, context, registry, failed) {
|
|
86
104
|
if (outputFormat === 'text') {
|
|
87
|
-
// Text format: test-format
|
|
88
|
-
for (const
|
|
89
|
-
writeTestFormatError(
|
|
105
|
+
// Text format: test-format issues to stderr
|
|
106
|
+
for (const issue of issueData) {
|
|
107
|
+
writeTestFormatError(issue.file, issue.line, issue.column, issue.message);
|
|
90
108
|
}
|
|
91
109
|
}
|
|
92
110
|
else {
|
|
93
|
-
// Calculate
|
|
94
|
-
const summary = buildErrorSummary(
|
|
111
|
+
// Calculate issue summary (keyed by code)
|
|
112
|
+
const summary = buildErrorSummary(issueData, registry);
|
|
95
113
|
// Build collection stats with error info
|
|
96
|
-
const collectionsWithErrors =
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
const errorStat = summary.collectionErrorStats.get(id);
|
|
100
|
-
collectionsWithErrors[id] = {
|
|
101
|
-
...baseStat,
|
|
102
|
-
...(errorStat ? {
|
|
103
|
-
filesWithErrors: errorStat.filesWithErrors,
|
|
104
|
-
errorCount: errorStat.errorCount,
|
|
105
|
-
} : {}),
|
|
106
|
-
};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
// Group errors by file
|
|
110
|
-
const groupedErrors = groupErrorsByFile(errorData);
|
|
114
|
+
const collectionsWithErrors = buildCollectionsWithErrors(context.collectionStats, summary.collectionErrorStats);
|
|
115
|
+
// Group issues by file
|
|
116
|
+
const groupedErrors = groupErrorsByFile(issueData);
|
|
111
117
|
const outputData = {
|
|
112
|
-
status: 'failed',
|
|
118
|
+
status: failed ? 'failed' : 'success',
|
|
113
119
|
filesScanned: context.stats.totalResources,
|
|
114
120
|
filesWithErrors: summary.filesWithErrors,
|
|
115
121
|
errorsFound: context.errorCount,
|
|
@@ -158,22 +164,23 @@ function outputSuccess(outputFormat, context) {
|
|
|
158
164
|
* - Unique files with errors
|
|
159
165
|
* - Per-collection error statistics
|
|
160
166
|
*
|
|
161
|
-
* @param issues -
|
|
162
|
-
* @param registry - Resource registry for collection lookups
|
|
167
|
+
* @param issues - Flattened validation issues (relative `file`, absolute `absPath`, `code`)
|
|
168
|
+
* @param registry - Resource registry for collection lookups (keyed by ABSOLUTE path)
|
|
163
169
|
* @returns Error summary statistics
|
|
164
170
|
*/
|
|
165
171
|
function buildErrorSummary(issues, registry) {
|
|
166
|
-
// 1. Count by
|
|
172
|
+
// 1. Count by code
|
|
167
173
|
const errorSummary = {};
|
|
168
174
|
for (const issue of issues) {
|
|
169
|
-
errorSummary[issue.
|
|
175
|
+
errorSummary[issue.code] = (errorSummary[issue.code] ?? 0) + 1;
|
|
170
176
|
}
|
|
171
177
|
// 2. Count unique files with errors
|
|
172
178
|
const filesWithErrorsSet = new Set(issues.map(i => i.file));
|
|
173
|
-
// 3. Map files to collections and count errors per collection
|
|
179
|
+
// 3. Map files to collections and count errors per collection.
|
|
180
|
+
// registry.getResource keys on the ABSOLUTE path, so look up via absPath.
|
|
174
181
|
const collectionErrors = new Map();
|
|
175
182
|
for (const issue of issues) {
|
|
176
|
-
const resource = registry.getResource(issue.
|
|
183
|
+
const resource = registry.getResource(issue.absPath);
|
|
177
184
|
const collections = resource?.collections;
|
|
178
185
|
if (collections) {
|
|
179
186
|
for (const collectionId of collections) {
|
|
@@ -201,6 +208,49 @@ function buildErrorSummary(issues, registry) {
|
|
|
201
208
|
collectionErrorStats: collectionStats,
|
|
202
209
|
};
|
|
203
210
|
}
|
|
211
|
+
/**
|
|
212
|
+
* Restrict issues and stats to a single collection.
|
|
213
|
+
*
|
|
214
|
+
* Issue locations are RELATIVE to projectRoot, but `resource.filePath` is
|
|
215
|
+
* ABSOLUTE — convert the collection's resource paths to the same relative basis
|
|
216
|
+
* before comparing, so the filter actually matches.
|
|
217
|
+
*/
|
|
218
|
+
function filterByCollection(registry, validationResult, collection, projectRoot) {
|
|
219
|
+
const collectionResources = registry
|
|
220
|
+
.getAllResources()
|
|
221
|
+
.filter(r => r.collections?.includes(collection) ?? false);
|
|
222
|
+
const collectionPaths = new Set(collectionResources.map(r => safePath.relative(projectRoot, r.filePath)));
|
|
223
|
+
const filteredIssues = validationResult.issues.filter(issue => issue.location !== undefined && collectionPaths.has(issue.location));
|
|
224
|
+
const totalLinks = collectionResources.reduce((sum, r) => sum + r.links.length, 0);
|
|
225
|
+
return {
|
|
226
|
+
filteredIssues,
|
|
227
|
+
filteredStats: {
|
|
228
|
+
totalResources: collectionResources.length,
|
|
229
|
+
totalLinks,
|
|
230
|
+
linksByType: validationResult.linksByType, // Keep all link types
|
|
231
|
+
},
|
|
232
|
+
};
|
|
233
|
+
}
|
|
234
|
+
/**
|
|
235
|
+
* Flatten severity-resolved issues for display.
|
|
236
|
+
*
|
|
237
|
+
* `file` is RELATIVE to projectRoot (matches `issue.location`, used for display);
|
|
238
|
+
* `absPath` is ABSOLUTE (for registry/collection lookups via getResource).
|
|
239
|
+
*/
|
|
240
|
+
function flattenIssuesForDisplay(issues, projectRoot) {
|
|
241
|
+
return issues.map(issue => {
|
|
242
|
+
const file = issue.location ?? '';
|
|
243
|
+
return {
|
|
244
|
+
file,
|
|
245
|
+
absPath: file ? safePath.resolve(projectRoot, file) : '',
|
|
246
|
+
line: issue.line ?? 1,
|
|
247
|
+
column: 1,
|
|
248
|
+
code: issue.code,
|
|
249
|
+
severity: issue.severity,
|
|
250
|
+
message: issue.message,
|
|
251
|
+
};
|
|
252
|
+
});
|
|
253
|
+
}
|
|
204
254
|
/**
|
|
205
255
|
* Apply the --no-check-frontmatter-links CLI flag to the loaded config.
|
|
206
256
|
*
|
|
@@ -242,84 +292,77 @@ export async function validateCommand(pathArg, options) {
|
|
|
242
292
|
validationMode,
|
|
243
293
|
checkExternalUrls: options.checkExternalUrls ?? false,
|
|
244
294
|
noCache: options.noCache ?? false,
|
|
295
|
+
// Thread the project's resources.validation config in. The CLI does NOT
|
|
296
|
+
// resolve severity itself — ResourceRegistry.validate() runs the framework.
|
|
297
|
+
validationConfig: config?.resources?.validation ?? {},
|
|
245
298
|
});
|
|
246
299
|
// Filter by collection if specified
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
// Get resources in the specified collection
|
|
251
|
-
const { collection } = options;
|
|
252
|
-
const collectionResources = registry
|
|
253
|
-
.getAllResources()
|
|
254
|
-
.filter(r => (collection ? r.collections?.includes(collection) ?? false : false));
|
|
255
|
-
const collectionPaths = new Set(collectionResources.map(r => r.filePath));
|
|
256
|
-
// Only show issues from files in this collection
|
|
257
|
-
filteredIssues = validationResult.issues.filter(issue => collectionPaths.has(issue.resourcePath));
|
|
258
|
-
// Calculate filtered stats
|
|
259
|
-
const totalLinks = collectionResources.reduce((sum, r) => sum + r.links.length, 0);
|
|
260
|
-
filteredStats = {
|
|
261
|
-
totalResources: collectionResources.length,
|
|
262
|
-
totalLinks,
|
|
263
|
-
linksByType: validationResult.linksByType, // Keep all link types
|
|
264
|
-
};
|
|
265
|
-
}
|
|
266
|
-
else {
|
|
267
|
-
filteredStats = registry.getStats();
|
|
268
|
-
}
|
|
300
|
+
const { filteredIssues, filteredStats } = options.collection
|
|
301
|
+
? filterByCollection(registry, validationResult, options.collection, projectRoot)
|
|
302
|
+
: { filteredIssues: validationResult.issues, filteredStats: registry.getStats() };
|
|
269
303
|
const duration = Date.now() - startTime;
|
|
270
304
|
// Build validation metadata
|
|
271
305
|
const validationMetadata = {
|
|
272
306
|
validationMode,
|
|
273
307
|
...(options.frontmatterSchema ? { frontmatterSchema: options.frontmatterSchema } : {}),
|
|
274
308
|
};
|
|
275
|
-
// Get collection stats (
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
line: issue.line ?? 1,
|
|
298
|
-
column: 1,
|
|
299
|
-
type: issue.type,
|
|
300
|
-
message: issue.message,
|
|
301
|
-
}));
|
|
302
|
-
const context = {
|
|
303
|
-
stats: filteredStats,
|
|
304
|
-
errorCount: validationResult.errorCount,
|
|
305
|
-
validationMetadata,
|
|
306
|
-
collectionStats,
|
|
307
|
-
duration,
|
|
308
|
-
};
|
|
309
|
-
outputFailure(errorData, outputFormat, context, registry);
|
|
310
|
-
logGitTrackerStats(gitTracker, logger);
|
|
311
|
-
process.exit(1);
|
|
312
|
-
}
|
|
313
|
-
else {
|
|
314
|
-
// Success path
|
|
315
|
-
const context = { stats: filteredStats, validationMetadata, collectionStats, duration };
|
|
316
|
-
outputSuccess(outputFormat, context);
|
|
317
|
-
logGitTrackerStats(gitTracker, logger);
|
|
318
|
-
process.exit(0);
|
|
319
|
-
}
|
|
309
|
+
// Get collection stats (narrowed to the requested collection, if any).
|
|
310
|
+
const collectionStats = narrowCollectionStats(registry.getCollectionStats(), options.collection);
|
|
311
|
+
// The library already severity-resolved every issue (allow-filtered, ignored
|
|
312
|
+
// dropped) and decided pass/fail. The CLI is a dumb orchestrator: the failure
|
|
313
|
+
// decision is exactly the framework's severity-based `hasErrors`. Warning- and
|
|
314
|
+
// info-severity issues are surfaced below but DO NOT flip the exit code.
|
|
315
|
+
const { hasErrors } = validationResult;
|
|
316
|
+
// Flatten issues for display (relative `file` + absolute `absPath`).
|
|
317
|
+
const issueData = flattenIssuesForDisplay(filteredIssues, projectRoot);
|
|
318
|
+
// The count shown to the user as "errors" counts only error-severity issues.
|
|
319
|
+
const errorSeverityCount = issueData.filter(i => i.severity === 'error').length;
|
|
320
|
+
const context = {
|
|
321
|
+
stats: filteredStats,
|
|
322
|
+
errorCount: errorSeverityCount,
|
|
323
|
+
validationMetadata,
|
|
324
|
+
collectionStats,
|
|
325
|
+
duration,
|
|
326
|
+
};
|
|
327
|
+
emitResult(issueData, context, registry, hasErrors, options.format ?? 'yaml');
|
|
328
|
+
logGitTrackerStats(gitTracker, logger);
|
|
329
|
+
// Exit decision is purely the library's severity-based `hasErrors`.
|
|
330
|
+
process.exit(hasErrors ? 1 : 0);
|
|
320
331
|
}
|
|
321
332
|
catch (error) {
|
|
322
333
|
handleCommandError(error, logger, startTime, 'Validation');
|
|
323
334
|
}
|
|
324
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Narrow collection stats to a single requested collection (no-op when no
|
|
338
|
+
* collection filter is active or the collection has no stats).
|
|
339
|
+
*/
|
|
340
|
+
function narrowCollectionStats(collectionStats, collection) {
|
|
341
|
+
if (!collection || !collectionStats) {
|
|
342
|
+
return collectionStats;
|
|
343
|
+
}
|
|
344
|
+
const collectionStat = collectionStats.collections[collection];
|
|
345
|
+
if (!collectionStat) {
|
|
346
|
+
return collectionStats;
|
|
347
|
+
}
|
|
348
|
+
return {
|
|
349
|
+
totalCollections: 1,
|
|
350
|
+
resourcesInCollections: collectionStat.resourceCount,
|
|
351
|
+
collections: { [collection]: collectionStat },
|
|
352
|
+
};
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* Emit the result to stdout. Surfaces all issues when any fired; otherwise emits
|
|
356
|
+
* a clean success. Does NOT decide the exit code — the caller owns that.
|
|
357
|
+
*/
|
|
358
|
+
function emitResult(issueData, context, registry, hasErrors, outputFormat) {
|
|
359
|
+
if (issueData.length > 0) {
|
|
360
|
+
// Issues to surface (errors and/or warnings/info). Reported status follows
|
|
361
|
+
// the exit decision: 'failed' iff the framework flagged errors.
|
|
362
|
+
outputIssues(issueData, outputFormat, context, registry, hasErrors);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
outputSuccess(outputFormat, context);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
325
368
|
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/resources/validate.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/resources/validate.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/commands/skill/review.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,15 @@ import type { DiscoveredSkill } from './command-helpers.js';
|
|
|
9
9
|
/**
|
|
10
10
|
* Discover skills from config yaml skills section.
|
|
11
11
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
12
|
+
* Each include pattern is resolved against `projectRoot` and may step out of
|
|
13
|
+
* the package via `..` (e.g. `"../../docs/skills/*\/SKILL.md"` in a monorepo
|
|
14
|
+
* where SKILL.md files live alongside, not inside, the package). Patterns are
|
|
15
|
+
* grouped by their effective scan root so `crawlDirectory` is invoked once per
|
|
16
|
+
* root rather than blindly walking from `projectRoot`.
|
|
17
|
+
*
|
|
18
|
+
* User-supplied excludes are matched against paths relative to `projectRoot`
|
|
19
|
+
* so anchored excludes like `docs/private/**` keep their original meaning
|
|
20
|
+
* regardless of which scan root produced the candidate file.
|
|
14
21
|
*
|
|
15
22
|
* @param skillsConfig - The skills section from vibe-agent-toolkit.config.yaml
|
|
16
23
|
* @param projectRoot - Absolute path to project root (where config yaml lives)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"skill-discovery.d.ts","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAIlE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AA2F5D;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,wBAAwB,CAC5C,YAAY,EAAE,YAAY,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,EAAE,CAAC,CA0B5B"}
|
|
@@ -4,10 +4,12 @@
|
|
|
4
4
|
* Reads skills.include/exclude glob patterns from vibe-agent-toolkit.config.yaml,
|
|
5
5
|
* finds matching SKILL.md files, and extracts skill names from frontmatter.
|
|
6
6
|
*/
|
|
7
|
+
import { existsSync } from 'node:fs';
|
|
7
8
|
import { readFile } from 'node:fs/promises';
|
|
8
9
|
import { basename } from 'node:path';
|
|
9
10
|
import { parseMarkdown } from '@vibe-agent-toolkit/resources';
|
|
10
|
-
import { crawlDirectory } from '@vibe-agent-toolkit/utils';
|
|
11
|
+
import { crawlDirectory, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
12
|
+
import picomatch from 'picomatch';
|
|
11
13
|
/**
|
|
12
14
|
* Directories that should always be excluded from skill discovery for performance.
|
|
13
15
|
*/
|
|
@@ -37,11 +39,70 @@ async function readSkillName(skillPath) {
|
|
|
37
39
|
}
|
|
38
40
|
return basename(skillPath, '.md');
|
|
39
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Split an include pattern into its literal base directory and its glob
|
|
44
|
+
* remainder. `picomatch.scan` already does the heavy lifting for proper
|
|
45
|
+
* glob patterns; the manual split handles pure-literal paths so a single
|
|
46
|
+
* SKILL.md file is still crawlable from its parent directory.
|
|
47
|
+
*/
|
|
48
|
+
function splitIncludePattern(pattern) {
|
|
49
|
+
const scanned = picomatch.scan(pattern);
|
|
50
|
+
if (scanned.isGlob) {
|
|
51
|
+
return { base: scanned.base, glob: scanned.glob };
|
|
52
|
+
}
|
|
53
|
+
// Literal path (no glob metachars): match the file from its parent.
|
|
54
|
+
const slash = pattern.lastIndexOf('/');
|
|
55
|
+
if (slash === -1) {
|
|
56
|
+
return { base: '', glob: pattern };
|
|
57
|
+
}
|
|
58
|
+
return { base: pattern.slice(0, slash), glob: pattern.slice(slash + 1) };
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Group include patterns by their effective scan root. Each pattern's literal
|
|
62
|
+
* prefix (resolved against `projectRoot`) becomes the absolute scan root for
|
|
63
|
+
* its glob remainder, which is what lets `..` segments escape `projectRoot`.
|
|
64
|
+
*/
|
|
65
|
+
function groupIncludePatternsByBase(include, projectRoot) {
|
|
66
|
+
const patternsByBase = new Map();
|
|
67
|
+
for (const pattern of include) {
|
|
68
|
+
const { base, glob } = splitIncludePattern(pattern);
|
|
69
|
+
const absBase = safePath.resolve(projectRoot, base || '.');
|
|
70
|
+
const effectiveGlob = glob.length > 0 ? glob : '**/*';
|
|
71
|
+
const existing = patternsByBase.get(absBase) ?? [];
|
|
72
|
+
existing.push(effectiveGlob);
|
|
73
|
+
patternsByBase.set(absBase, existing);
|
|
74
|
+
}
|
|
75
|
+
return patternsByBase;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Crawl one effective scan root. Returns absolute paths, or an empty array if
|
|
79
|
+
* the root does not exist (mirrors audit's filesystem-first tolerance for
|
|
80
|
+
* patterns pointing at nothing).
|
|
81
|
+
*/
|
|
82
|
+
async function crawlOneBase(base, globs) {
|
|
83
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- base derived from validated config
|
|
84
|
+
if (!existsSync(base)) {
|
|
85
|
+
return [];
|
|
86
|
+
}
|
|
87
|
+
return crawlDirectory({
|
|
88
|
+
baseDir: base,
|
|
89
|
+
include: globs,
|
|
90
|
+
exclude: DISCOVERY_EXCLUDE,
|
|
91
|
+
dot: true,
|
|
92
|
+
});
|
|
93
|
+
}
|
|
40
94
|
/**
|
|
41
95
|
* Discover skills from config yaml skills section.
|
|
42
96
|
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
97
|
+
* Each include pattern is resolved against `projectRoot` and may step out of
|
|
98
|
+
* the package via `..` (e.g. `"../../docs/skills/*\/SKILL.md"` in a monorepo
|
|
99
|
+
* where SKILL.md files live alongside, not inside, the package). Patterns are
|
|
100
|
+
* grouped by their effective scan root so `crawlDirectory` is invoked once per
|
|
101
|
+
* root rather than blindly walking from `projectRoot`.
|
|
102
|
+
*
|
|
103
|
+
* User-supplied excludes are matched against paths relative to `projectRoot`
|
|
104
|
+
* so anchored excludes like `docs/private/**` keep their original meaning
|
|
105
|
+
* regardless of which scan root produced the candidate file.
|
|
45
106
|
*
|
|
46
107
|
* @param skillsConfig - The skills section from vibe-agent-toolkit.config.yaml
|
|
47
108
|
* @param projectRoot - Absolute path to project root (where config yaml lives)
|
|
@@ -49,23 +110,27 @@ async function readSkillName(skillPath) {
|
|
|
49
110
|
*/
|
|
50
111
|
export async function discoverSkillsFromConfig(skillsConfig, projectRoot) {
|
|
51
112
|
const { include, exclude } = skillsConfig;
|
|
52
|
-
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
113
|
+
const patternsByBase = groupIncludePatternsByBase(include, projectRoot);
|
|
114
|
+
const userExcludeMatcher = exclude && exclude.length > 0
|
|
115
|
+
? picomatch(exclude, { dot: true })
|
|
116
|
+
: null;
|
|
117
|
+
const foundAbsPaths = new Set();
|
|
118
|
+
for (const [base, globs] of patternsByBase) {
|
|
119
|
+
const crawled = await crawlOneBase(base, globs);
|
|
120
|
+
for (const absPath of crawled) {
|
|
121
|
+
if (userExcludeMatcher) {
|
|
122
|
+
const relFromProject = toForwardSlash(safePath.relative(projectRoot, absPath));
|
|
123
|
+
if (userExcludeMatcher(relFromProject))
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
foundAbsPaths.add(safePath.resolve(absPath));
|
|
127
|
+
}
|
|
128
|
+
}
|
|
62
129
|
const discovered = [];
|
|
63
|
-
for (const skillPath of
|
|
130
|
+
for (const skillPath of foundAbsPaths) {
|
|
64
131
|
const name = await readSkillName(skillPath);
|
|
65
|
-
if (
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
discovered.push({ name, sourcePath: skillPath });
|
|
132
|
+
if (name)
|
|
133
|
+
discovered.push({ name, sourcePath: skillPath });
|
|
69
134
|
}
|
|
70
135
|
return discovered;
|
|
71
136
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"skill-discovery.js","sourceRoot":"","sources":["../../../src/commands/skills/skill-discovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* nor in marketplace (which knows nothing about config-level packaging
|
|
13
13
|
* options).
|
|
14
14
|
*/
|
|
15
|
-
import { type
|
|
15
|
+
import { type ValidationIssue } from '@vibe-agent-toolkit/agent-schema';
|
|
16
|
+
import { type Observation, type PackagingValidationResult } from '@vibe-agent-toolkit/agent-skills';
|
|
16
17
|
import { type Target, type Verdict } from '@vibe-agent-toolkit/claude-marketplace';
|
|
17
18
|
/**
|
|
18
19
|
* Convert a verdict into a ValidationIssue using CODE_REGISTRY for severity,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"verdict-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/verdict-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"verdict-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/verdict-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACvF,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,yBAAyB,EAC/B,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAGL,KAAK,MAAM,EACX,KAAK,OAAO,EACb,MAAM,wCAAwC,CAAC;AAEhD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAUlF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,SAAS,WAAW,EAAE,EACpC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EAChD,QAAQ,EAAE,MAAM,GACf,eAAe,EAAE,CAiBnB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,yBAAyB,EACjC,aAAa,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,EAChD,eAAe,EAAE,MAAM,GACtB,IAAI,CAgBN"}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
* nor in marketplace (which knows nothing about config-level packaging
|
|
13
13
|
* options).
|
|
14
14
|
*/
|
|
15
|
-
import { CODE_REGISTRY
|
|
15
|
+
import { CODE_REGISTRY } from '@vibe-agent-toolkit/agent-schema';
|
|
16
16
|
import { computeVerdicts, resolveEffectiveTargets, } from '@vibe-agent-toolkit/claude-marketplace';
|
|
17
17
|
/**
|
|
18
18
|
* Convert a verdict into a ValidationIssue using CODE_REGISTRY for severity,
|