@vibe-agent-toolkit/cli 0.1.30 → 0.1.31
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/audit.d.ts +1 -0
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +256 -44
- package/dist/commands/audit.js.map +1 -1
- package/docs/audit.md +43 -2
- package/package.json +11 -11
package/dist/commands/audit.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAUL,KAAK,gBAAgB,EACtB,MAAM,kCAAkC,CAAC;AAW1C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAOlD,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAqKD;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAqH5C;AAiLD,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC,CAmDf;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,mBAAmB,EAC5B,MAAM,EAAE,UAAU,CAAC,OAAO,YAAY,CAAC,GACtC,OAAO,CAAC,gBAAgB,EAAE,CAAC,CAyC7B"}
|
package/dist/commands/audit.js
CHANGED
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Top-level command: vat audit [path]
|
|
4
4
|
*/
|
|
5
5
|
import * as fs from 'node:fs';
|
|
6
|
-
import { detectResourceFormat, validate, validateSkill, } from '@vibe-agent-toolkit/agent-skills';
|
|
6
|
+
import { detectResourceFormat, validate, validateSkill, runCompatDetectors, validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
|
|
7
7
|
import { analyzeCompatibility, checkSettingsCompatibility, readEffectiveSettings, } from '@vibe-agent-toolkit/claude-marketplace';
|
|
8
8
|
import { getClaudeUserPaths } from '@vibe-agent-toolkit/claude-marketplace';
|
|
9
9
|
import { detectFormat } from '@vibe-agent-toolkit/discovery';
|
|
10
|
-
import { safePath } from '@vibe-agent-toolkit/utils';
|
|
10
|
+
import { gitCheckIgnoredBatch, gitFindRoot, isGitIgnored, safePath } from '@vibe-agent-toolkit/utils';
|
|
11
11
|
import { Command } from 'commander';
|
|
12
12
|
import picomatch from 'picomatch';
|
|
13
13
|
import { handleCommandError } from '../utils/command-error.js';
|
|
@@ -16,6 +16,127 @@ import { createLogger } from '../utils/logger.js';
|
|
|
16
16
|
import { writeYamlOutput } from '../utils/output.js';
|
|
17
17
|
import { buildHierarchicalOutput } from './audit/hierarchical-output.js';
|
|
18
18
|
import { createAuditSettingsCommand } from './audit-settings.js';
|
|
19
|
+
import { discoverSkillsFromConfig } from './skills/skill-discovery.js';
|
|
20
|
+
/** Resource type constant for agent skills, avoiding duplicate string literals. */
|
|
21
|
+
const RESOURCE_TYPE_AGENT_SKILL = 'agent-skill';
|
|
22
|
+
/**
|
|
23
|
+
* Merge per-skill config for audit: keeps all packaging options but strips
|
|
24
|
+
* validation.allow (audit shows everything). Preserves validation.severity.
|
|
25
|
+
*
|
|
26
|
+
* Strips undefined values from the spread to satisfy exactOptionalPropertyTypes.
|
|
27
|
+
*/
|
|
28
|
+
function mergeSkillConfigForAudit(defaults, perSkillOverrides) {
|
|
29
|
+
const merged = { ...defaults, ...perSkillOverrides };
|
|
30
|
+
const packagingConfig = {};
|
|
31
|
+
for (const [key, value] of Object.entries(merged)) {
|
|
32
|
+
if (value !== undefined && key !== 'validation') {
|
|
33
|
+
packagingConfig[key] = value;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
// Keep validation.severity but strip validation.allow
|
|
37
|
+
const mergedValidation = merged['validation'];
|
|
38
|
+
if (mergedValidation?.severity !== undefined) {
|
|
39
|
+
packagingConfig['validation'] = { severity: mergedValidation.severity };
|
|
40
|
+
}
|
|
41
|
+
return packagingConfig;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build config-aware context when auditing inside a VAT project.
|
|
45
|
+
* Checks for vibe-agent-toolkit.config.yaml at the scan root only (no
|
|
46
|
+
* directory walking). Returns null if no config or no skills section found.
|
|
47
|
+
*/
|
|
48
|
+
async function buildVATProjectContext(scanRoot, logger) {
|
|
49
|
+
const config = loadConfig(scanRoot);
|
|
50
|
+
if (config?.skills === undefined) {
|
|
51
|
+
return null;
|
|
52
|
+
}
|
|
53
|
+
const configRoot = scanRoot;
|
|
54
|
+
try {
|
|
55
|
+
const discovered = await discoverSkillsFromConfig(config.skills, configRoot);
|
|
56
|
+
if (discovered.length === 0) {
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
const { defaults, config: perSkillConfig } = config.skills;
|
|
60
|
+
const skillConfigs = new Map();
|
|
61
|
+
for (const skill of discovered) {
|
|
62
|
+
const packagingConfig = mergeSkillConfigForAudit(defaults, perSkillConfig?.[skill.name]);
|
|
63
|
+
skillConfigs.set(safePath.resolve(skill.sourcePath), packagingConfig);
|
|
64
|
+
}
|
|
65
|
+
logger.debug(`Config-aware audit: found ${skillConfigs.size} skill(s) in VAT project`);
|
|
66
|
+
return { skillConfigs };
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
logger.debug(`Config-aware audit: failed to discover skills: ${String(error)}`);
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Convert PackagingValidationResult to ValidationResult for consistent audit output.
|
|
75
|
+
* In audit mode, we merge allErrors (which includes both errors and warnings after
|
|
76
|
+
* severity resolution but WITHOUT allow suppression) into the standard issues array.
|
|
77
|
+
*/
|
|
78
|
+
function packagingResultToValidationResult(skillPath, result, extraIssues) {
|
|
79
|
+
// allErrors contains all emitted issues (errors + warnings) after severity resolution
|
|
80
|
+
// but without allow suppression — exactly what audit wants.
|
|
81
|
+
// extraIssues (e.g., compat detectors) are merged in since the packaging validator
|
|
82
|
+
// doesn't run them.
|
|
83
|
+
const issues = extraIssues !== undefined && extraIssues.length > 0
|
|
84
|
+
? [...result.allErrors, ...extraIssues]
|
|
85
|
+
: result.allErrors;
|
|
86
|
+
const errorCount = issues.filter(i => i.severity === 'error').length;
|
|
87
|
+
const warningCount = issues.filter(i => i.severity === 'warning').length;
|
|
88
|
+
const infoCount = issues.filter(i => i.severity === 'info').length;
|
|
89
|
+
let status;
|
|
90
|
+
if (errorCount > 0) {
|
|
91
|
+
status = 'error';
|
|
92
|
+
}
|
|
93
|
+
else if (warningCount > 0) {
|
|
94
|
+
status = 'warning';
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
status = 'success';
|
|
98
|
+
}
|
|
99
|
+
return {
|
|
100
|
+
path: skillPath,
|
|
101
|
+
type: RESOURCE_TYPE_AGENT_SKILL,
|
|
102
|
+
status,
|
|
103
|
+
summary: `${errorCount} errors, ${warningCount} warnings, ${infoCount} info`,
|
|
104
|
+
issues,
|
|
105
|
+
metadata: {
|
|
106
|
+
lineCount: result.metadata.skillLines,
|
|
107
|
+
name: result.skillName,
|
|
108
|
+
},
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Validate a single SKILL.md file, using config-aware validation if available.
|
|
113
|
+
* Used for direct SKILL.md and vat-agent paths passed to `vat audit`.
|
|
114
|
+
*/
|
|
115
|
+
async function validateSingleSkill(skillPath, options, logger, isVATGenerated) {
|
|
116
|
+
// Try config-aware validation: find git root → check for config at git root
|
|
117
|
+
const gitRoot = resolveGitRootForScan(safePath.resolve(skillPath), undefined);
|
|
118
|
+
if (gitRoot !== null) {
|
|
119
|
+
const vatContext = await buildVATProjectContext(gitRoot, logger);
|
|
120
|
+
const skillConfig = vatContext?.skillConfigs.get(safePath.resolve(skillPath));
|
|
121
|
+
if (skillConfig !== undefined) {
|
|
122
|
+
logger.debug(` Using config-aware validation for: ${skillPath}`);
|
|
123
|
+
const packagingResult = await validateSkillForPackaging(skillPath, skillConfig);
|
|
124
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- skillPath is validated user input
|
|
125
|
+
const skillContent = fs.readFileSync(skillPath, 'utf-8');
|
|
126
|
+
const compatIssues = runCompatDetectors(skillContent, skillPath);
|
|
127
|
+
return packagingResultToValidationResult(skillPath, packagingResult, compatIssues);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Fallback: basic validation
|
|
131
|
+
const validateOptions = { skillPath };
|
|
132
|
+
if (options.warnUnreferencedFiles) {
|
|
133
|
+
validateOptions.checkUnreferencedFiles = true;
|
|
134
|
+
}
|
|
135
|
+
if (isVATGenerated === true) {
|
|
136
|
+
validateOptions.isVATGenerated = true;
|
|
137
|
+
}
|
|
138
|
+
return validateSkill(validateOptions);
|
|
139
|
+
}
|
|
19
140
|
/**
|
|
20
141
|
* Collect repeated option values into an array (used for --exclude)
|
|
21
142
|
*/
|
|
@@ -33,7 +154,8 @@ export function createAuditCommand() {
|
|
|
33
154
|
.argument('[path]', 'Path to audit (default: current directory)')
|
|
34
155
|
.option('--no-recursive', 'Disable recursive directory scanning (scans top level only)')
|
|
35
156
|
.option('--exclude <glob>', 'Exclude paths matching glob pattern (repeatable)', collect, [])
|
|
36
|
-
.option('--
|
|
157
|
+
.option('--include-artifacts', 'Include gitignored paths (build artifacts, dependencies) that are excluded by default')
|
|
158
|
+
.option('--user', 'Audit user-level Claude resources (default: $CLAUDE_CONFIG_DIR or ~/.claude — scans plugins/, skills/, marketplaces/)')
|
|
37
159
|
.option('--verbose', 'Show all scanned resources, including those without issues')
|
|
38
160
|
.option('--warn-unreferenced-files', 'Warn about files not referenced in skill markdown')
|
|
39
161
|
.option('--compat', 'Run compatibility analysis for each plugin (shows claude-code, cowork, claude-desktop support)')
|
|
@@ -59,15 +181,19 @@ Description:
|
|
|
59
181
|
Default: current directory
|
|
60
182
|
Use --user to audit user-level installation automatically
|
|
61
183
|
|
|
62
|
-
--user
|
|
63
|
-
- ~/.claude
|
|
64
|
-
-
|
|
65
|
-
|
|
184
|
+
--user scope:
|
|
185
|
+
- By default, scans $CLAUDE_CONFIG_DIR if set, otherwise ~/.claude.
|
|
186
|
+
- Inside the chosen directory, scans:
|
|
187
|
+
- plugins/ (installed plugins)
|
|
188
|
+
- skills/ (standalone skills)
|
|
189
|
+
- marketplaces/ (marketplace plugins)
|
|
190
|
+
- Skips: projects/, logs/, cache/
|
|
66
191
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
192
|
+
Multi-dir workflows:
|
|
193
|
+
for dir in ~/.claude ~/.claude-personal; do
|
|
194
|
+
CLAUDE_CONFIG_DIR="$dir" vat audit --user --verbose
|
|
195
|
+
done
|
|
196
|
+
(See packages/cli/docs/audit.md for details.)
|
|
71
197
|
|
|
72
198
|
Validation Behavior:
|
|
73
199
|
Advisory only: audit surfaces all validation issues for inspection.
|
|
@@ -93,18 +219,43 @@ Validation Checks:
|
|
|
93
219
|
|
|
94
220
|
Warnings (should fix):
|
|
95
221
|
- Skill exceeds recommended length (>5000 lines)
|
|
96
|
-
-
|
|
222
|
+
- Compat smells — requires browser auth, local shell, or external CLI
|
|
223
|
+
(COMPAT_REQUIRES_BROWSER_AUTH, COMPAT_REQUIRES_LOCAL_SHELL,
|
|
224
|
+
COMPAT_REQUIRES_EXTERNAL_CLI). See docs/validation-codes.md.
|
|
97
225
|
- Unreferenced files detected (with --warn-unreferenced-files)
|
|
98
226
|
|
|
227
|
+
Gitignore-Aware Scanning:
|
|
228
|
+
When scanning inside a git repository, paths matched by .gitignore are
|
|
229
|
+
skipped by default. This excludes build artifacts (dist/), dependencies
|
|
230
|
+
(node_modules/), and any other project-specific ignored paths without
|
|
231
|
+
requiring a hardcoded list.
|
|
232
|
+
|
|
233
|
+
Use --include-artifacts to scan gitignored paths (e.g., to audit a
|
|
234
|
+
bundled marketplace plugin in dist/).
|
|
235
|
+
|
|
236
|
+
User-supplied --exclude patterns are always applied on top.
|
|
237
|
+
Outside a git repository, no automatic exclusions apply.
|
|
238
|
+
|
|
239
|
+
Config-Aware Validation:
|
|
240
|
+
When a vibe-agent-toolkit.config.yaml is found at the git root, audit
|
|
241
|
+
uses the project's build settings (linkFollowDepth, files,
|
|
242
|
+
excludeReferencesFromBundle) to validate skills. This prevents false
|
|
243
|
+
warnings for links that the build pipeline resolves.
|
|
244
|
+
|
|
245
|
+
Config-aware mode never applies validation.allow — audit always shows
|
|
246
|
+
all issues. validation.severity is respected for display grouping.
|
|
247
|
+
|
|
99
248
|
Exit Codes:
|
|
100
249
|
0 - Always (even when validation errors are surfaced)
|
|
101
250
|
2 - System error (config invalid, directory not found)
|
|
102
251
|
|
|
103
252
|
Examples:
|
|
104
253
|
$ vat audit ./plugins/ # Audit recursively (default)
|
|
105
|
-
$ vat audit --user # Audit
|
|
254
|
+
$ vat audit --user # Audit default ~/.claude (or $CLAUDE_CONFIG_DIR)
|
|
255
|
+
$ CLAUDE_CONFIG_DIR=~/.claude-work vat audit --user # Scan a custom Claude config dir
|
|
106
256
|
$ vat audit --no-recursive ./dir/ # Top level only, no subdirectories
|
|
107
|
-
$ vat audit --
|
|
257
|
+
$ vat audit --include-artifacts ./repo/ # Include gitignored paths
|
|
258
|
+
$ vat audit --exclude "vendor/**" ./repo/ # Add extra exclusions
|
|
108
259
|
$ vat audit --compat ./plugin/ # Include per-surface compatibility analysis
|
|
109
260
|
`);
|
|
110
261
|
return audit;
|
|
@@ -169,7 +320,7 @@ async function auditUserDirectories(recursive, options, startTime, logger) {
|
|
|
169
320
|
* @returns New results array with ignored codes removed from issues
|
|
170
321
|
*/
|
|
171
322
|
/** Skill resource types that can have per-skill validation config. */
|
|
172
|
-
const SKILL_RESULT_TYPES = new Set([
|
|
323
|
+
const SKILL_RESULT_TYPES = new Set([RESOURCE_TYPE_AGENT_SKILL, 'vat-agent']);
|
|
173
324
|
/**
|
|
174
325
|
* Derive the project root directory for config loading.
|
|
175
326
|
*
|
|
@@ -303,25 +454,15 @@ export async function auditCommand(targetPath, options) {
|
|
|
303
454
|
export async function getValidationResults(scanPath, recursive, options, logger) {
|
|
304
455
|
const format = detectFormat(scanPath);
|
|
305
456
|
// Special handling for direct SKILL.md file
|
|
306
|
-
if (format ===
|
|
457
|
+
if (format === RESOURCE_TYPE_AGENT_SKILL) {
|
|
307
458
|
logger.debug('Detected single Agent Skill');
|
|
308
|
-
|
|
309
|
-
if (options.warnUnreferencedFiles) {
|
|
310
|
-
validateOptions.checkUnreferencedFiles = true;
|
|
311
|
-
}
|
|
312
|
-
const result = await validateSkill(validateOptions);
|
|
313
|
-
return [result];
|
|
459
|
+
return [await validateSingleSkill(scanPath, options, logger)];
|
|
314
460
|
}
|
|
315
461
|
// Special handling for VAT agent: validate its SKILL.md
|
|
316
462
|
if (format === 'vat-agent') {
|
|
317
463
|
const skillPath = safePath.join(scanPath, 'SKILL.md');
|
|
318
464
|
logger.debug('Detected VAT agent, validating SKILL.md');
|
|
319
|
-
|
|
320
|
-
if (options.warnUnreferencedFiles) {
|
|
321
|
-
validateOptions.checkUnreferencedFiles = true;
|
|
322
|
-
}
|
|
323
|
-
const result = await validateSkill(validateOptions);
|
|
324
|
-
return [result];
|
|
465
|
+
return [await validateSingleSkill(skillPath, options, logger, true)];
|
|
325
466
|
}
|
|
326
467
|
// For plugin/marketplace directories or registry files, use unified validator
|
|
327
468
|
const resourceFormat = await detectResourceFormat(scanPath);
|
|
@@ -489,7 +630,7 @@ function isExcludedPath(isMatch, relativePath, isDirectory) {
|
|
|
489
630
|
/**
|
|
490
631
|
* Handle file entry during directory scan
|
|
491
632
|
*/
|
|
492
|
-
async function handleFileEntry(entry, fullPath, options, logger) {
|
|
633
|
+
async function handleFileEntry(entry, fullPath, options, logger, vatContext) {
|
|
493
634
|
// Check for registry files
|
|
494
635
|
if (entry.name === 'installed_plugins.json' || entry.name === 'known_marketplaces.json') {
|
|
495
636
|
logger.debug(`Validating registry: ${fullPath}`);
|
|
@@ -498,6 +639,18 @@ async function handleFileEntry(entry, fullPath, options, logger) {
|
|
|
498
639
|
// Check for SKILL.md
|
|
499
640
|
if (entry.name === 'SKILL.md') {
|
|
500
641
|
logger.debug(`Validating Agent Skill: ${fullPath}`);
|
|
642
|
+
// Config-aware: use packaging validator with build settings
|
|
643
|
+
const skillConfig = vatContext?.skillConfigs.get(safePath.resolve(fullPath));
|
|
644
|
+
if (skillConfig !== undefined) {
|
|
645
|
+
logger.debug(` Using config-aware validation for: ${fullPath}`);
|
|
646
|
+
const packagingResult = await validateSkillForPackaging(fullPath, skillConfig);
|
|
647
|
+
// Packaging validator doesn't run compat detectors — add them here.
|
|
648
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- fullPath from directory scan
|
|
649
|
+
const skillContent = fs.readFileSync(fullPath, 'utf-8');
|
|
650
|
+
const compatIssues = runCompatDetectors(skillContent, fullPath);
|
|
651
|
+
return packagingResultToValidationResult(fullPath, packagingResult, compatIssues);
|
|
652
|
+
}
|
|
653
|
+
// Wild mode: basic validation
|
|
501
654
|
const validateOptions = { skillPath: fullPath };
|
|
502
655
|
if (options.warnUnreferencedFiles) {
|
|
503
656
|
validateOptions.checkUnreferencedFiles = true;
|
|
@@ -509,7 +662,7 @@ async function handleFileEntry(entry, fullPath, options, logger) {
|
|
|
509
662
|
/**
|
|
510
663
|
* Handle directory entry during directory scan
|
|
511
664
|
*/
|
|
512
|
-
async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDir) {
|
|
665
|
+
async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDir, gitRoot, vatContext) {
|
|
513
666
|
const fs = await import('node:fs/promises');
|
|
514
667
|
const results = [];
|
|
515
668
|
// Check if directory contains a plugin or marketplace
|
|
@@ -522,37 +675,96 @@ async function handleDirectoryEntry(fullPath, recursive, options, logger, baseDi
|
|
|
522
675
|
}
|
|
523
676
|
// Recurse into subdirectories (both plugin/marketplace dirs and regular dirs)
|
|
524
677
|
if (recursive) {
|
|
525
|
-
const subResults = await scanDirectory(fullPath, recursive, options, logger, baseDir);
|
|
678
|
+
const subResults = await scanDirectory(fullPath, recursive, options, logger, baseDir, gitRoot, vatContext);
|
|
526
679
|
results.push(...subResults);
|
|
527
680
|
}
|
|
528
681
|
return results;
|
|
529
682
|
}
|
|
530
|
-
|
|
683
|
+
/**
|
|
684
|
+
* Resolve the effective git root for gitignore-aware scanning.
|
|
685
|
+
*
|
|
686
|
+
* On the first call (gitRoot is undefined), detects the git root from dirPath.
|
|
687
|
+
* If the scan root itself is gitignored (e.g., user explicitly targeted dist/),
|
|
688
|
+
* returns null to disable gitignore filtering — the user's explicit intent to
|
|
689
|
+
* scan that path takes precedence over .gitignore rules.
|
|
690
|
+
*
|
|
691
|
+
* On recursive calls, the already-resolved value is passed through unchanged.
|
|
692
|
+
*/
|
|
693
|
+
function resolveGitRootForScan(dirPath, gitRoot) {
|
|
694
|
+
if (gitRoot === undefined) {
|
|
695
|
+
const detectedRoot = gitFindRoot(dirPath);
|
|
696
|
+
if (detectedRoot !== null && isGitIgnored(dirPath, detectedRoot)) {
|
|
697
|
+
return null;
|
|
698
|
+
}
|
|
699
|
+
return detectedRoot;
|
|
700
|
+
}
|
|
701
|
+
return gitRoot;
|
|
702
|
+
}
|
|
703
|
+
/**
|
|
704
|
+
* Build the gitignore exclusion map for a set of entry paths.
|
|
705
|
+
* Returns null when gitignore filtering is not applicable (no git root,
|
|
706
|
+
* --include-artifacts, or outside a git repo).
|
|
707
|
+
*/
|
|
708
|
+
function buildGitIgnoreMap(entryPaths, gitRoot, includeArtifacts) {
|
|
709
|
+
if (gitRoot === null || includeArtifacts) {
|
|
710
|
+
return null;
|
|
711
|
+
}
|
|
712
|
+
return gitCheckIgnoredBatch(entryPaths, gitRoot);
|
|
713
|
+
}
|
|
714
|
+
/**
|
|
715
|
+
* Check whether a directory entry should be skipped during scanning.
|
|
716
|
+
* Returns a reason string for debug logging, or null if the entry should be kept.
|
|
717
|
+
*/
|
|
718
|
+
function getSkipReason(entry, fullPath, resolvedBaseDir, gitIgnoredMap, isMatch) {
|
|
719
|
+
// Always skip .git directory (not reported by git check-ignore)
|
|
720
|
+
if (entry.isDirectory() && entry.name === '.git') {
|
|
721
|
+
return '.git';
|
|
722
|
+
}
|
|
723
|
+
// Skip gitignored paths
|
|
724
|
+
if (gitIgnoredMap !== null && gitIgnoredMap.get(fullPath) === true) {
|
|
725
|
+
return `gitignored: ${entry.name}`;
|
|
726
|
+
}
|
|
727
|
+
// Check user-supplied --exclude patterns
|
|
728
|
+
if (isMatch !== null) {
|
|
729
|
+
const relativePath = safePath.relative(resolvedBaseDir, fullPath).replaceAll('\\', '/');
|
|
730
|
+
if (isExcludedPath(isMatch, relativePath, entry.isDirectory())) {
|
|
731
|
+
return `excluded: ${relativePath}`;
|
|
732
|
+
}
|
|
733
|
+
}
|
|
734
|
+
return null;
|
|
735
|
+
}
|
|
736
|
+
async function scanDirectory(dirPath, recursive, options, logger, baseDir, gitRoot, vatContext) {
|
|
531
737
|
const fs = await import('node:fs/promises');
|
|
532
738
|
const results = [];
|
|
533
|
-
const
|
|
739
|
+
const userExcludes = options.exclude ?? [];
|
|
534
740
|
const resolvedBaseDir = baseDir ?? dirPath;
|
|
535
|
-
|
|
536
|
-
|
|
741
|
+
const resolvedGitRoot = resolveGitRootForScan(dirPath, gitRoot);
|
|
742
|
+
// Build config-aware context on first call in a VAT project.
|
|
743
|
+
// Checks for config at the scan root only (the directory the user pointed at).
|
|
744
|
+
const resolvedVatContext = vatContext === undefined && resolvedGitRoot !== null
|
|
745
|
+
? await buildVATProjectContext(resolvedBaseDir, logger)
|
|
746
|
+
: (vatContext ?? null);
|
|
747
|
+
// Compile picomatch for user-supplied --exclude patterns
|
|
748
|
+
const isMatch = userExcludes.length > 0 ? picomatch(userExcludes) : null;
|
|
537
749
|
const entries = await fs.readdir(dirPath, { withFileTypes: true });
|
|
750
|
+
// Build full paths and batch-check gitignore status
|
|
751
|
+
const entryPaths = entries.map(e => safePath.join(dirPath, e.name));
|
|
752
|
+
const gitIgnoredMap = buildGitIgnoreMap(entryPaths, resolvedGitRoot, options.includeArtifacts ?? false);
|
|
538
753
|
for (const entry of entries) {
|
|
539
754
|
const fullPath = safePath.join(dirPath, entry.name);
|
|
540
|
-
|
|
541
|
-
if (
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
logger.debug(`Excluding path: ${relativePath}`);
|
|
545
|
-
continue;
|
|
546
|
-
}
|
|
755
|
+
const skipReason = getSkipReason(entry, fullPath, resolvedBaseDir, gitIgnoredMap, isMatch);
|
|
756
|
+
if (skipReason !== null) {
|
|
757
|
+
logger.debug(`Excluding path: ${skipReason}`);
|
|
758
|
+
continue;
|
|
547
759
|
}
|
|
548
760
|
if (entry.isFile()) {
|
|
549
|
-
const result = await handleFileEntry(entry, fullPath, options, logger);
|
|
761
|
+
const result = await handleFileEntry(entry, fullPath, options, logger, resolvedVatContext);
|
|
550
762
|
if (result !== null) {
|
|
551
763
|
results.push(result);
|
|
552
764
|
}
|
|
553
765
|
}
|
|
554
766
|
else if (entry.isDirectory()) {
|
|
555
|
-
const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger, resolvedBaseDir);
|
|
767
|
+
const dirResults = await handleDirectoryEntry(fullPath, recursive, options, logger, resolvedBaseDir, resolvedGitRoot, resolvedVatContext);
|
|
556
768
|
results.push(...dirResults);
|
|
557
769
|
}
|
|
558
770
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../src/commands/audit.ts"],"names":[],"mappings":"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"}
|
package/docs/audit.md
CHANGED
|
@@ -30,6 +30,27 @@ vat audit [path] [options]
|
|
|
30
30
|
- `-r, --recursive` - Scan directories recursively for all resource types
|
|
31
31
|
- `--debug` - Enable debug logging (outputs to stderr)
|
|
32
32
|
|
|
33
|
+
### Gitignore-aware scanning
|
|
34
|
+
|
|
35
|
+
When scanning inside a git repository, `vat audit` skips paths that match
|
|
36
|
+
the project's `.gitignore` rules. This automatically excludes build
|
|
37
|
+
artifacts (`dist/`), dependencies (`node_modules/`), and any other
|
|
38
|
+
project-specific ignored directories without maintaining a hardcoded list.
|
|
39
|
+
|
|
40
|
+
To opt back into scanning gitignored paths (for example, to audit a
|
|
41
|
+
bundled marketplace plugin in `dist/`), use `--include-artifacts`.
|
|
42
|
+
|
|
43
|
+
User-supplied `--exclude` patterns are always applied on top of gitignore
|
|
44
|
+
filtering. Outside a git repository, no automatic exclusions apply.
|
|
45
|
+
|
|
46
|
+
Examples:
|
|
47
|
+
|
|
48
|
+
vat audit . # Gitignored paths skipped
|
|
49
|
+
vat audit --include-artifacts . # Scan everything
|
|
50
|
+
vat audit --exclude "vendor/**" . # Gitignore + extra exclusion
|
|
51
|
+
vat audit --include-artifacts --exclude "**/node_modules/**" .
|
|
52
|
+
# Override gitignore, re-exclude node_modules
|
|
53
|
+
|
|
33
54
|
## Supported Resource Types
|
|
34
55
|
|
|
35
56
|
### 1. Plugin Directories
|
|
@@ -132,6 +153,24 @@ vat audit --user
|
|
|
132
153
|
- Cache status for each plugin
|
|
133
154
|
- Issue counts at each level
|
|
134
155
|
|
|
156
|
+
### Multi-dir Workflows
|
|
157
|
+
|
|
158
|
+
`--user` is singular — one Claude config dir per invocation. The target
|
|
159
|
+
directory is resolved from `$CLAUDE_CONFIG_DIR` if set, otherwise defaults
|
|
160
|
+
to `~/.claude`. For users with multiple Claude config dirs (for example,
|
|
161
|
+
`~/.claude` for work and `~/.claude-personal` for personal projects), loop
|
|
162
|
+
in the shell:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
for dir in ~/.claude ~/.claude-personal; do
|
|
166
|
+
CLAUDE_CONFIG_DIR="$dir" vat audit --user --verbose
|
|
167
|
+
done
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
This pattern matches Claude Code's own `CLAUDE_CONFIG_DIR` convention and
|
|
171
|
+
scales naturally to community smell-scanning (see the VAT skill-smell
|
|
172
|
+
detection strategy doc, workstream B).
|
|
173
|
+
|
|
135
174
|
**Example output**:
|
|
136
175
|
```yaml
|
|
137
176
|
status: success
|
|
@@ -200,7 +239,7 @@ Errors prevent the resource from being used correctly:
|
|
|
200
239
|
Warnings indicate potential issues but don't prevent usage:
|
|
201
240
|
|
|
202
241
|
- **Skill exceeds recommended length**: Over 5000 lines (Skills only)
|
|
203
|
-
- **
|
|
242
|
+
- **Compat smells**: Skill requires a runtime capability that isn't available on every surface (browser auth, local shell, external CLI) — see `COMPAT_*` codes in `docs/validation-codes.md`.
|
|
204
243
|
|
|
205
244
|
## Error Codes Reference
|
|
206
245
|
|
|
@@ -250,7 +289,9 @@ Warnings indicate potential issues but don't prevent usage:
|
|
|
250
289
|
| Code | Severity | Description | Fix |
|
|
251
290
|
|------|----------|-------------|-----|
|
|
252
291
|
| `SKILL_TOO_LONG` | warning | Skill exceeds 5000 lines | Consider splitting into multiple skills |
|
|
253
|
-
| `
|
|
292
|
+
| `COMPAT_REQUIRES_BROWSER_AUTH` | warning | Skill needs browser login (MSAL, SSO, OAuth) | See `docs/validation-codes.md#compat_requires_browser_auth` |
|
|
293
|
+
| `COMPAT_REQUIRES_LOCAL_SHELL` | warning | Skill needs local shell/environment tools (Bash, Edit, Write, NotebookEdit) | See `docs/validation-codes.md#compat_requires_local_shell` |
|
|
294
|
+
| `COMPAT_REQUIRES_EXTERNAL_CLI` | warning | Skill invokes unbundled CLI (az, aws, gcloud, etc.) | See `docs/validation-codes.md#compat_requires_external_cli` |
|
|
254
295
|
|
|
255
296
|
### Format Detection Errors
|
|
256
297
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.31",
|
|
4
4
|
"description": "Command-line interface for vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
"//dependencies-note": "DO NOT add example agent packages or adopter packages here. Adopter packages (like vat-development-agents) depend on the CLI binary at build time — declaring them as deps creates a circular build dependency. They are built in a second turbo pass via package#task overrides in turbo.json.",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
44
|
-
"@vibe-agent-toolkit/agent-config": "0.1.
|
|
45
|
-
"@vibe-agent-toolkit/agent-schema": "0.1.
|
|
46
|
-
"@vibe-agent-toolkit/agent-skills": "0.1.
|
|
47
|
-
"@vibe-agent-toolkit/claude-marketplace": "0.1.
|
|
48
|
-
"@vibe-agent-toolkit/discovery": "0.1.
|
|
49
|
-
"@vibe-agent-toolkit/gateway-mcp": "0.1.
|
|
50
|
-
"@vibe-agent-toolkit/rag": "0.1.
|
|
51
|
-
"@vibe-agent-toolkit/rag-lancedb": "0.1.
|
|
52
|
-
"@vibe-agent-toolkit/resources": "0.1.
|
|
53
|
-
"@vibe-agent-toolkit/utils": "0.1.
|
|
44
|
+
"@vibe-agent-toolkit/agent-config": "0.1.31",
|
|
45
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.31",
|
|
46
|
+
"@vibe-agent-toolkit/agent-skills": "0.1.31",
|
|
47
|
+
"@vibe-agent-toolkit/claude-marketplace": "0.1.31",
|
|
48
|
+
"@vibe-agent-toolkit/discovery": "0.1.31",
|
|
49
|
+
"@vibe-agent-toolkit/gateway-mcp": "0.1.31",
|
|
50
|
+
"@vibe-agent-toolkit/rag": "0.1.31",
|
|
51
|
+
"@vibe-agent-toolkit/rag-lancedb": "0.1.31",
|
|
52
|
+
"@vibe-agent-toolkit/resources": "0.1.31",
|
|
53
|
+
"@vibe-agent-toolkit/utils": "0.1.31",
|
|
54
54
|
"adm-zip": "^0.5.16",
|
|
55
55
|
"commander": "^12.1.0",
|
|
56
56
|
"js-yaml": "^4.1.0",
|