@vibe-agent-toolkit/cli 0.1.41-rc.5 → 0.1.41-rc.7

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.
Files changed (171) hide show
  1. package/README.md +4 -3
  2. package/dist/bin/vat +1 -1
  3. package/dist/bin/vat.js +1 -1
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/bin.js +2 -4
  6. package/dist/bin.js.map +1 -1
  7. package/dist/commands/agent/help.d.ts.map +1 -1
  8. package/dist/commands/agent/help.js +2 -4
  9. package/dist/commands/agent/help.js.map +1 -1
  10. package/dist/commands/audit/hierarchical-output.d.ts +6 -2
  11. package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
  12. package/dist/commands/audit/hierarchical-output.js +93 -50
  13. package/dist/commands/audit/hierarchical-output.js.map +1 -1
  14. package/dist/commands/audit-settings.d.ts +35 -0
  15. package/dist/commands/audit-settings.d.ts.map +1 -1
  16. package/dist/commands/audit-settings.js +121 -51
  17. package/dist/commands/audit-settings.js.map +1 -1
  18. package/dist/commands/audit.d.ts +63 -1
  19. package/dist/commands/audit.d.ts.map +1 -1
  20. package/dist/commands/audit.js +329 -187
  21. package/dist/commands/audit.js.map +1 -1
  22. package/dist/commands/build.d.ts.map +1 -1
  23. package/dist/commands/build.js +47 -18
  24. package/dist/commands/build.js.map +1 -1
  25. package/dist/commands/claude/marketplace/license-utils.d.ts +39 -2
  26. package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
  27. package/dist/commands/claude/marketplace/license-utils.js +114 -68
  28. package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
  29. package/dist/commands/claude/marketplace/publish.js +5 -4
  30. package/dist/commands/claude/marketplace/publish.js.map +1 -1
  31. package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
  32. package/dist/commands/claude/marketplace/validate.js +13 -19
  33. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  34. package/dist/commands/claude/org/skills.d.ts +21 -0
  35. package/dist/commands/claude/org/skills.d.ts.map +1 -1
  36. package/dist/commands/claude/org/skills.js +107 -30
  37. package/dist/commands/claude/org/skills.js.map +1 -1
  38. package/dist/commands/claude/plugin/build.d.ts +94 -1
  39. package/dist/commands/claude/plugin/build.d.ts.map +1 -1
  40. package/dist/commands/claude/plugin/build.js +307 -106
  41. package/dist/commands/claude/plugin/build.js.map +1 -1
  42. package/dist/commands/claude/plugin/install.d.ts.map +1 -1
  43. package/dist/commands/claude/plugin/install.js +7 -2
  44. package/dist/commands/claude/plugin/install.js.map +1 -1
  45. package/dist/commands/claude/plugin/marketplace-json.d.ts +36 -0
  46. package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -0
  47. package/dist/commands/claude/plugin/marketplace-json.js +34 -0
  48. package/dist/commands/claude/plugin/marketplace-json.js.map +1 -0
  49. package/dist/commands/claude/plugin/plugin-json-merge.d.ts +30 -1
  50. package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
  51. package/dist/commands/claude/plugin/plugin-json-merge.js +92 -14
  52. package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
  53. package/dist/commands/claude/plugin/tree-copy.d.ts +10 -3
  54. package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
  55. package/dist/commands/claude/plugin/tree-copy.js +0 -1
  56. package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
  57. package/dist/commands/claude/plugin/uninstall.d.ts.map +1 -1
  58. package/dist/commands/claude/plugin/uninstall.js +10 -2
  59. package/dist/commands/claude/plugin/uninstall.js.map +1 -1
  60. package/dist/commands/corpus/runner.d.ts.map +1 -1
  61. package/dist/commands/corpus/runner.js +15 -26
  62. package/dist/commands/corpus/runner.js.map +1 -1
  63. package/dist/commands/doctor.d.ts +57 -8
  64. package/dist/commands/doctor.d.ts.map +1 -1
  65. package/dist/commands/doctor.js +142 -67
  66. package/dist/commands/doctor.js.map +1 -1
  67. package/dist/commands/phase-utils.d.ts +62 -2
  68. package/dist/commands/phase-utils.d.ts.map +1 -1
  69. package/dist/commands/phase-utils.js +74 -2
  70. package/dist/commands/phase-utils.js.map +1 -1
  71. package/dist/commands/rag/help.d.ts.map +1 -1
  72. package/dist/commands/rag/help.js +2 -4
  73. package/dist/commands/rag/help.js.map +1 -1
  74. package/dist/commands/resources/help.d.ts.map +1 -1
  75. package/dist/commands/resources/help.js +2 -4
  76. package/dist/commands/resources/help.js.map +1 -1
  77. package/dist/commands/resources/index.d.ts.map +1 -1
  78. package/dist/commands/resources/index.js +13 -6
  79. package/dist/commands/resources/index.js.map +1 -1
  80. package/dist/commands/resources/validate.d.ts +19 -0
  81. package/dist/commands/resources/validate.d.ts.map +1 -1
  82. package/dist/commands/resources/validate.js +89 -24
  83. package/dist/commands/resources/validate.js.map +1 -1
  84. package/dist/commands/skill/review.d.ts.map +1 -1
  85. package/dist/commands/skill/review.js +33 -20
  86. package/dist/commands/skill/review.js.map +1 -1
  87. package/dist/commands/skill/test/configure.d.ts.map +1 -1
  88. package/dist/commands/skill/test/configure.js +1 -1
  89. package/dist/commands/skill/test/configure.js.map +1 -1
  90. package/dist/commands/skill/test/run.d.ts +29 -2
  91. package/dist/commands/skill/test/run.d.ts.map +1 -1
  92. package/dist/commands/skill/test/run.js +67 -19
  93. package/dist/commands/skill/test/run.js.map +1 -1
  94. package/dist/commands/skills/build.d.ts +51 -0
  95. package/dist/commands/skills/build.d.ts.map +1 -1
  96. package/dist/commands/skills/build.js +94 -86
  97. package/dist/commands/skills/build.js.map +1 -1
  98. package/dist/commands/skills/install.d.ts.map +1 -1
  99. package/dist/commands/skills/install.js +79 -25
  100. package/dist/commands/skills/install.js.map +1 -1
  101. package/dist/commands/skills/list.d.ts.map +1 -1
  102. package/dist/commands/skills/list.js +9 -5
  103. package/dist/commands/skills/list.js.map +1 -1
  104. package/dist/commands/skills/package.d.ts +2 -0
  105. package/dist/commands/skills/package.d.ts.map +1 -1
  106. package/dist/commands/skills/package.js +61 -42
  107. package/dist/commands/skills/package.js.map +1 -1
  108. package/dist/commands/skills/skill-discovery.d.ts +7 -0
  109. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  110. package/dist/commands/skills/skill-discovery.js +14 -4
  111. package/dist/commands/skills/skill-discovery.js.map +1 -1
  112. package/dist/commands/skills/validate.d.ts +38 -0
  113. package/dist/commands/skills/validate.d.ts.map +1 -1
  114. package/dist/commands/skills/validate.js +125 -70
  115. package/dist/commands/skills/validate.js.map +1 -1
  116. package/dist/commands/validate.d.ts.map +1 -1
  117. package/dist/commands/validate.js +11 -5
  118. package/dist/commands/validate.js.map +1 -1
  119. package/dist/commands/verify.d.ts.map +1 -1
  120. package/dist/commands/verify.js +76 -28
  121. package/dist/commands/verify.js.map +1 -1
  122. package/dist/skill-resolution/classify.d.ts +7 -2
  123. package/dist/skill-resolution/classify.d.ts.map +1 -1
  124. package/dist/skill-resolution/classify.js +7 -2
  125. package/dist/skill-resolution/classify.js.map +1 -1
  126. package/dist/skill-resolution/resolve-skill-reference.d.ts +10 -8
  127. package/dist/skill-resolution/resolve-skill-reference.d.ts.map +1 -1
  128. package/dist/skill-resolution/resolve-skill-reference.js +62 -23
  129. package/dist/skill-resolution/resolve-skill-reference.js.map +1 -1
  130. package/dist/skill-resolution/types.d.ts +3 -2
  131. package/dist/skill-resolution/types.d.ts.map +1 -1
  132. package/dist/utils/config-loader.d.ts.map +1 -1
  133. package/dist/utils/config-loader.js +0 -2
  134. package/dist/utils/config-loader.js.map +1 -1
  135. package/dist/utils/help-loader.d.ts +16 -0
  136. package/dist/utils/help-loader.d.ts.map +1 -1
  137. package/dist/utils/help-loader.js +31 -1
  138. package/dist/utils/help-loader.js.map +1 -1
  139. package/dist/utils/issue-anchor.d.ts +26 -0
  140. package/dist/utils/issue-anchor.d.ts.map +1 -0
  141. package/dist/utils/issue-anchor.js +39 -0
  142. package/dist/utils/issue-anchor.js.map +1 -0
  143. package/dist/utils/issue-rendering.d.ts +61 -0
  144. package/dist/utils/issue-rendering.d.ts.map +1 -0
  145. package/dist/utils/issue-rendering.js +135 -0
  146. package/dist/utils/issue-rendering.js.map +1 -0
  147. package/dist/utils/output.d.ts +26 -4
  148. package/dist/utils/output.d.ts.map +1 -1
  149. package/dist/utils/output.js +27 -6
  150. package/dist/utils/output.js.map +1 -1
  151. package/dist/utils/project-root-policy.d.ts +2 -2
  152. package/dist/utils/project-root-policy.js +2 -2
  153. package/dist/utils/skill-packaging-config.d.ts +15 -6
  154. package/dist/utils/skill-packaging-config.d.ts.map +1 -1
  155. package/dist/utils/skill-packaging-config.js +23 -5
  156. package/dist/utils/skill-packaging-config.js.map +1 -1
  157. package/dist/utils/validate-help-files.d.ts +3 -2
  158. package/dist/utils/validate-help-files.d.ts.map +1 -1
  159. package/dist/utils/validate-help-files.js +48 -5
  160. package/dist/utils/validate-help-files.js.map +1 -1
  161. package/dist/utils/verdict-helpers.d.ts +10 -2
  162. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  163. package/dist/utils/verdict-helpers.js +13 -3
  164. package/dist/utils/verdict-helpers.js.map +1 -1
  165. package/docs/audit.md +40 -14
  166. package/docs/doctor.md +46 -10
  167. package/docs/index.md +1 -1
  168. package/docs/resources.md +24 -8
  169. package/docs/skill-test.md +47 -3
  170. package/docs/skills.md +28 -6
  171. package/package.json +12 -12
@@ -4,12 +4,14 @@
4
4
  * Discovers skills from config yaml skills.include/exclude, validates each
5
5
  * using validateSkillForPackaging with merged packaging config.
6
6
  */
7
+ import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
7
8
  import { validateSkillForPackaging, } from '@vibe-agent-toolkit/agent-skills';
8
9
  import { ResourceRegistry } from '@vibe-agent-toolkit/resources';
9
10
  import { findProjectRoot, gitFindRoot, GitTracker, safePath } from '@vibe-agent-toolkit/utils';
10
11
  import * as yaml from 'yaml';
11
12
  import { loadConfig } from '../../utils/config-loader.js';
12
13
  import { formatDurationSecs } from '../../utils/duration.js';
14
+ import { formatIssueLines, formatIssueSetHeading, formatSeverityBreakdown, } from '../../utils/issue-rendering.js';
13
15
  import { requireProjectRoot } from '../../utils/project-root-policy.js';
14
16
  import { mergeSkillPackagingConfig } from '../../utils/skill-packaging-config.js';
15
17
  import { renderSkillQualityFooter } from '../../utils/skill-quality-footer.js';
@@ -17,74 +19,125 @@ import { applyConfigVerdicts } from '../../utils/verdict-helpers.js';
17
19
  import { filterSkillsByName, handleCommandError, setupCommandContext, } from './command-helpers.js';
18
20
  import { discoverSkillsFromConfig } from './skill-discovery.js';
19
21
  /**
20
- * Strip excludedReferences from results metadata for non-verbose YAML output.
22
+ * Every issue emitted across the batch, after severity resolution.
23
+ *
24
+ * `allErrors` is the full emitted set INCLUDING info despite the name (see the
25
+ * doc comment on `PackagingValidationResult`), and excluding issues suppressed
26
+ * by `validation.allow` — those live in `ignoredErrors`.
21
27
  */
22
- function stripExcludedReferencePaths(results) {
23
- return results.map((result) => {
24
- const { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount } = result.metadata;
25
- return {
26
- ...result,
27
- metadata: { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount },
28
- };
29
- });
28
+ function batchIssues(results) {
29
+ return results.flatMap((r) => r.allErrors);
30
30
  }
31
31
  /**
32
- * Output YAML summary to stdout
32
+ * One skill's YAML entry: the result plus the per-severity counts its two-valued
33
+ * `status` cannot express.
34
+ *
35
+ * The per-skill `status` stays the gate verdict (`error` iff an active error) —
36
+ * that is what the exit code is derived from. `issueCounts` beside it is what
37
+ * makes `success` readable: "nothing you must act on", not "nothing was found".
33
38
  */
34
- function outputYamlSummary(results, duration, verbose) {
35
- const outputResults = verbose ? results : stripExcludedReferencePaths(results);
36
- const output = {
37
- status: results.some((r) => r.status === 'error') ? 'error' : 'success',
38
- skillsValidated: results.length,
39
- results: outputResults,
40
- durationSecs: formatDurationSecs(duration),
39
+ function toYamlResult(result, verbose) {
40
+ const withCounts = { ...result, issueCounts: countBySeverity(result.allErrors) };
41
+ if (verbose) {
42
+ return withCounts;
43
+ }
44
+ const { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount } = result.metadata;
45
+ return {
46
+ ...withCounts,
47
+ metadata: { skillLines, totalLines, fileCount, directFileCount, maxLinkDepth, excludedReferenceCount },
41
48
  };
42
- console.log(yaml.stringify(output, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
43
49
  }
44
50
  /**
45
- * Output a single validation error
51
+ * Build the YAML summary object.
52
+ *
53
+ * `status` is the shared `issues → status` collapse over the WHOLE batch, so it
54
+ * can say `warning`. It previously read
55
+ * `results.some(r => r.status === 'error') ? 'error' : 'success'` — a two-value
56
+ * collapse that could never report the warning case, and so reported 33 active
57
+ * warnings as `success`.
46
58
  */
47
- function outputSingleError(error) {
48
- console.error(` [${String(error.code)}] ${String(error.message)}`);
49
- if (error.location) {
50
- console.error(` Location: ${String(error.location)}`);
51
- }
52
- if (error.fix) {
53
- console.error(` Fix: ${String(error.fix)}`);
54
- }
59
+ export function buildValidateSummary(results, duration, verbose) {
60
+ const issues = batchIssues(results);
61
+ return {
62
+ status: calculateValidationStatus(issues),
63
+ issueCounts: countBySeverity(issues),
64
+ skillsValidated: results.length,
65
+ results: results.map((r) => toYamlResult(r, verbose)),
66
+ durationSecs: formatDurationSecs(duration),
67
+ };
55
68
  }
56
69
  /**
57
- * Output detailed errors for a skill
70
+ * Output YAML summary to stdout
58
71
  */
59
- function outputSkillErrors(result) {
60
- console.error(`Skill: ${result.skillName}`);
61
- if (result.activeErrors.length > 0) {
62
- console.error(` Active errors (${result.activeErrors.length}):`);
63
- for (const error of result.activeErrors) {
64
- outputSingleError(error);
72
+ function outputYamlSummary(results, duration, verbose) {
73
+ const output = buildValidateSummary(results, duration, verbose);
74
+ console.log(yaml.stringify(output, { indent: 2, lineWidth: 0, aliasDuplicateObjects: false }));
75
+ }
76
+ /** Lines for one skill's findings: every emitted issue, plus the allowed ones. */
77
+ function skillFindingLines(result) {
78
+ const lines = [`Skill: ${result.skillName}`];
79
+ if (result.allErrors.length > 0) {
80
+ lines.push(` ${formatIssueSetHeading(result.allErrors)}:`);
81
+ for (const issue of result.allErrors) {
82
+ lines.push(...formatIssueLines(issue, ' '));
65
83
  }
66
84
  }
67
85
  if (result.ignoredErrors.length > 0) {
68
- console.error(` Allowed issues (${result.ignoredErrors.length}):`);
86
+ lines.push(` Allowed issues (${result.ignoredErrors.length}):`);
69
87
  for (const record of result.ignoredErrors) {
70
- console.error(` [${String(record.code)}] ${String(record.location)} (allowed: ${record.reason})`);
88
+ lines.push(` [${String(record.code)}] ${String(record.location)} (allowed: ${record.reason})`);
71
89
  }
72
90
  }
73
- const expiredWarnings = result.activeWarnings.filter(w => w.code === 'ALLOW_EXPIRED');
74
- if (expiredWarnings.length > 0) {
75
- console.error(` Expired allow entries (${expiredWarnings.length}):`);
76
- for (const warn of expiredWarnings) {
77
- console.error(` ${String(warn.message)}`);
78
- }
91
+ lines.push('');
92
+ return lines;
93
+ }
94
+ /**
95
+ * One glyph per status value — total, so a status this renderer has not thought
96
+ * about cannot fall through to the reassuring `✅`.
97
+ */
98
+ const STATUS_GLYPHS = {
99
+ error: '❌',
100
+ warning: '⚠️ ',
101
+ success: '✅',
102
+ };
103
+ /** Banner naming what the run actually found. */
104
+ function reportBanner(status, counts) {
105
+ if (status === 'error') {
106
+ return `\n❌ Validation failed — ${formatSeverityBreakdown(counts)}:\n`;
107
+ }
108
+ if (status === 'warning') {
109
+ // Non-blocking (exit 0), which is exactly why this used to print
110
+ // "All validations passed" over the warnings.
111
+ return `\n⚠️ Validation passed with findings — ${formatSeverityBreakdown(counts)}:\n`;
112
+ }
113
+ return counts.info > 0
114
+ ? `\n✅ All validations passed — ${formatSeverityBreakdown(counts)}, nothing to act on:\n`
115
+ : '\n✅ All validations passed';
116
+ }
117
+ /**
118
+ * Human-readable report lines for the whole batch.
119
+ *
120
+ * Renders every skill with ANY emitted finding, not just the ones that failed
121
+ * the gate: a warning-only or info-only run used to print the success banner and
122
+ * nothing else, so the findings existed only in the YAML on stdout.
123
+ */
124
+ export function formatValidationReportLines(results) {
125
+ const issues = batchIssues(results);
126
+ const counts = countBySeverity(issues);
127
+ const status = calculateValidationStatus(issues);
128
+ const lines = [reportBanner(status, counts)];
129
+ for (const result of results) {
130
+ if (result.allErrors.length === 0 && result.ignoredErrors.length === 0)
131
+ continue;
132
+ lines.push(...skillFindingLines(result));
79
133
  }
80
- console.error('');
134
+ return lines;
81
135
  }
82
136
  /**
83
137
  * Output validation report to stdout (YAML) and stderr (human-readable)
84
138
  */
85
139
  function outputValidationReport(results, duration, logger, verbose) {
86
140
  outputYamlSummary(results, duration, verbose);
87
- const failedSkills = results.filter((r) => r.status === 'error');
88
141
  // Collect all emitted codes across skills (both errors and warnings) to drive the footer
89
142
  const emittedCodes = new Set();
90
143
  for (const r of results) {
@@ -93,38 +146,37 @@ function outputValidationReport(results, duration, logger, verbose) {
93
146
  }
94
147
  }
95
148
  const hasSkillFindings = results.some((r) => r.activeErrors.length > 0 || r.activeWarnings.length > 0);
96
- if (failedSkills.length === 0) {
97
- logger.info('\n✅ All validations passed');
98
- renderSkillQualityFooter(logger, hasSkillFindings, emittedCodes);
99
- return;
100
- }
101
- console.error('\n❌ Validation errors:\n');
102
- for (const result of failedSkills) {
103
- outputSkillErrors(result);
149
+ for (const line of formatValidationReportLines(results)) {
150
+ logger.info(line);
104
151
  }
105
152
  renderSkillQualityFooter(logger, hasSkillFindings, emittedCodes);
106
153
  }
107
154
  /**
108
- * Log validation progress for a single skill
155
+ * Log validation progress for a single skill.
156
+ *
157
+ * The per-skill glyph follows the shared collapse (`⚠️` for a warning-only
158
+ * skill), and the severity breakdown is always spelled out. A skill with
159
+ * warnings used to print a bare `✅ <name>`, which is the same reassuring
160
+ * collapse as the batch banner, one line earlier.
109
161
  */
110
- function logSkillProgress(skillName, result, logger) {
111
- if (result.status === 'error') {
112
- const activeCount = result.activeErrors.length;
113
- const allowedCount = result.ignoredErrors.length;
114
- const expiredCount = result.activeWarnings.filter(w => w.code === 'ALLOW_EXPIRED').length;
115
- logger.error(` ❌ ${skillName}: ${activeCount} error${activeCount === 1 ? '' : 's'}`);
116
- if (allowedCount > 0) {
117
- logger.info(` (${allowedCount} allowed by config)`);
118
- }
119
- if (expiredCount > 0) {
120
- logger.error(` (${expiredCount} expired allow entr${expiredCount === 1 ? 'y' : 'ies'})`);
121
- }
162
+ export function formatSkillProgressLine(skillName, result) {
163
+ const counts = countBySeverity(result.allErrors);
164
+ const status = calculateValidationStatus(result.allErrors);
165
+ const glyph = STATUS_GLYPHS[status];
166
+ const detail = result.allErrors.length > 0 ? `: ${formatSeverityBreakdown(counts)}` : '';
167
+ const lines = [` ${glyph} ${skillName}${detail}`];
168
+ if (result.ignoredErrors.length > 0) {
169
+ lines.push(` (${result.ignoredErrors.length} allowed by config)`);
122
170
  }
123
- else if (result.ignoredErrors.length > 0) {
124
- logger.info(` ✅ ${skillName} (${result.ignoredErrors.length} allowed by config)`);
171
+ const expiredCount = result.activeWarnings.filter(w => w.code === 'ALLOW_EXPIRED').length;
172
+ if (expiredCount > 0) {
173
+ lines.push(` (${expiredCount} expired allow entr${expiredCount === 1 ? 'y' : 'ies'})`);
125
174
  }
126
- else {
127
- logger.info(` ✅ ${skillName}`);
175
+ return lines;
176
+ }
177
+ function logSkillProgress(skillName, result, logger) {
178
+ for (const line of formatSkillProgressLine(skillName, result)) {
179
+ logger.info(line);
128
180
  }
129
181
  }
130
182
  /**
@@ -239,7 +291,10 @@ export async function validateCommand(pathArg, options) {
239
291
  logger.info(` Validating: ${skill.name}`);
240
292
  logger.debug(` Source: ${skill.sourcePath}`);
241
293
  const result = await validateSkillForPackaging(skill.sourcePath, skill.packagingConfig, 'source', sharedContext);
242
- applyConfigVerdicts(result, skill.packagingConfig.targets, skill.sourcePath);
294
+ // `cwd` is the anchor root: config is read from it and discovery globs
295
+ // resolve against it, so every other location in this report is already
296
+ // relative to it.
297
+ applyConfigVerdicts(result, skill.packagingConfig.targets, skill.sourcePath, cwd);
243
298
  logSkillProgress(skill.name, result, logger);
244
299
  results.push(result);
245
300
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/commands/skills/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAgDvD"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,MAAM,WAAW,sBAAsB;IACrC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,6BAA6B,IAAI,OAAO,CAoDvD"}
@@ -28,7 +28,7 @@ import { loadConfig } from '../utils/config-loader.js';
28
28
  import { createLogger } from '../utils/logger.js';
29
29
  import { writeYamlOutput } from '../utils/output.js';
30
30
  import { requireProjectRoot } from '../utils/project-root-policy.js';
31
- import { resolveBinPath, runPhase } from './phase-utils.js';
31
+ import { aggregatePhaseStatus, exitCodeForPhases, resolveBinPath, runPhase, } from './phase-utils.js';
32
32
  /** Surfaces `vat validate` knows how to run, in stable execution order. */
33
33
  const VALID_SURFACES = ['resources', 'skills'];
34
34
  export function createValidateTopLevelCommand() {
@@ -56,12 +56,16 @@ Description:
56
56
 
57
57
  Output:
58
58
  YAML summary for each surface → stdout
59
+ per surface: status (success | error | system-error) plus the child's
60
+ exitCode, signal, or spawn error — a surface that could not run is never
61
+ reported as a surface that failed validation.
59
62
  Validation errors → stderr
60
63
 
61
64
  Exit Codes:
62
65
  0 - All configured validators passed (or nothing configured to validate)
63
66
  1 - Validation errors found, or --only named a surface that is unrecognized or unconfigured
64
- 2 - System error
67
+ 2 - System error (this command's own, or propagated from a validator that
68
+ could not run: exited 2, was killed by a signal, or never spawned)
65
69
 
66
70
  Requirements:
67
71
  projectRoot: required (errors if no vibe-agent-toolkit.config.yaml or .git/ ancestor)
@@ -148,13 +152,15 @@ async function validateTopLevelCommand(options) {
148
152
  logger.info(`\n▶ Surface: ${phase.name}`);
149
153
  phaseResults.push(runPhase(binPath, phase));
150
154
  }
151
- const hasErrors = phaseResults.some((r) => r.status === 'failed');
155
+ // A surface whose validator could not RUN (exit 2, killed, never spawned)
156
+ // is not a surface that failed validation: it exits 2, so a CI gate can
157
+ // tell a broken config from a broken link.
152
158
  writeYamlOutput({
153
- status: hasErrors ? 'error' : 'success',
159
+ status: aggregatePhaseStatus(phaseResults),
154
160
  phases: phaseResults,
155
161
  duration: `${Date.now() - startTime}ms`,
156
162
  });
157
- process.exit(hasErrors ? 1 : 0);
163
+ process.exit(exitCodeForPhases(phaseResults));
158
164
  }
159
165
  catch (error) {
160
166
  handleCommandError(error, logger, startTime, 'Validate');
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CA+CrD;AAED,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAwCD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,EAAE,CA8CzE"}
1
+ {"version":3,"file":"verify.d.ts","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuBpC,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,wBAAgB,2BAA2B,IAAI,OAAO,CAqDrD;AAED,iFAAiF;AACjF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,kFAAkF;IAClF,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAwCD;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkDzE"}
@@ -8,6 +8,8 @@
8
8
  * 4. consistency check (skill distribution integrity — package.json, plugin assignment)
9
9
  */
10
10
  import { existsSync } from 'node:fs';
11
+ import { basename } from 'node:path';
12
+ import { calculateValidationStatus, countBySeverity, } from '@vibe-agent-toolkit/agent-schema';
11
13
  import { computeTreeCopiedSkillLocations, mergeFilesConfig } from '@vibe-agent-toolkit/agent-skills';
12
14
  import { safePath } from '@vibe-agent-toolkit/utils';
13
15
  import { Command } from 'commander';
@@ -16,8 +18,8 @@ import { loadConfig } from '../utils/config-loader.js';
16
18
  import { createLogger } from '../utils/logger.js';
17
19
  import { writeYamlOutput } from '../utils/output.js';
18
20
  import { requireProjectRoot } from '../utils/project-root-policy.js';
19
- import { runConsistencyChecks } from './consistency-check.js';
20
- import { resolveBinPath, runPhase } from './phase-utils.js';
21
+ import { runConsistencyChecks, } from './consistency-check.js';
22
+ import { aggregatePhaseStatus, exitCodeForPhases, resolveBinPath, runPhase, } from './phase-utils.js';
21
23
  import { discoverSkillsFromConfig } from './skills/skill-discovery.js';
22
24
  export function createVerifyTopLevelCommand() {
23
25
  const command = new Command('verify');
@@ -42,12 +44,18 @@ Description:
42
44
 
43
45
  Output:
44
46
  YAML summary for each phase → stdout
47
+ per phase: status (success | warning | error | system-error). In-process
48
+ phases (consistency, files-config-dests) also publish issueCounts
49
+ {errors, warnings, info} and the findings themselves, so the archived YAML
50
+ is the artifact of record rather than a summary of what stderr said.
45
51
  Validation errors → stderr
46
52
 
47
53
  Exit Codes:
48
- 0 - All phases passed
49
- 1 - Validation errors found
50
- 2 - System error
54
+ 0 - All phases passed (a warning does not fail the run — read status/issueCounts)
55
+ 1 - Validation errors found, or '--only consistency' in a project with no
56
+ skills: block (an explicit request for a phase that cannot run)
57
+ 2 - System error (this command's own, or propagated from a phase that could
58
+ not run: exited 2, was killed by a signal, or never spawned)
51
59
 
52
60
  Requirements:
53
61
  projectRoot: required (errors if no vibe-agent-toolkit.config.yaml or .git/ ancestor)
@@ -118,9 +126,13 @@ export function checkFilesConfigDests(cwd) {
118
126
  }
119
127
  // --- Tree-copy skills: candidate dirs are plugin output skill dirs ---
120
128
  for (const loc of computeTreeCopiedSkillLocations(config, cwd)) {
121
- const perSkill = skillsConfig?.config?.[loc.skillDirName];
129
+ // Per-skill config is keyed by the skill's declared NAME. `skillDirPath` is a
130
+ // path (`group/nested-skill` for a nested skill), so try its trailing segment
131
+ // too — the spelling that matches for every skill whose dir is named after it.
132
+ const dirLeaf = basename(loc.skillDirPath);
133
+ const perSkill = skillsConfig?.config?.[loc.skillDirPath] ?? skillsConfig?.config?.[dirLeaf];
122
134
  const mergedFiles = mergeFilesConfig(defaults?.files, perSkill?.files);
123
- tryAddCheckEntry(checks, loc.skillDirName, loc.skillOutputDir, mergedFiles);
135
+ tryAddCheckEntry(checks, loc.skillDirPath, loc.skillOutputDir, mergedFiles);
124
136
  }
125
137
  // --- Run each pending check and collect results ---
126
138
  const results = [];
@@ -214,25 +226,59 @@ function buildPhaseList(options) {
214
226
  return phases;
215
227
  }
216
228
  /**
217
- * Run the consistency check phase and return whether errors were found.
229
+ * `ConsistencyIssue` speaks the same severity vocabulary as `ValidationIssue`
230
+ * but carries a free-form `code`, so it is counted through this projection —
231
+ * there must be exactly ONE issues→status/counts collapse in the codebase, and
232
+ * it lives in `@vibe-agent-toolkit/agent-schema`.
218
233
  */
219
- async function runConsistencyPhase(logger, phaseResults) {
234
+ function asValidationIssues(issues) {
235
+ return issues.map((issue) => ({
236
+ code: issue.code,
237
+ severity: issue.severity,
238
+ message: issue.message,
239
+ fix: issue.fix,
240
+ }));
241
+ }
242
+ /**
243
+ * Run the in-process consistency check phase and record its outcome.
244
+ *
245
+ * The findings are published INTO the phase result, not merely logged: they used
246
+ * to go to stderr only, so the archived YAML — the artifact of record — said
247
+ * nothing happened. And a warning-only run reported `passed`, which is the
248
+ * reassuring answer to a question it could not represent.
249
+ */
250
+ async function runConsistencyPhase(logger, phaseResults, explicitlyRequested) {
220
251
  const config = loadConfig(process.cwd());
221
252
  if (!config?.skills) {
222
- return false;
253
+ // Nothing to cross-reference. Inside a full `vat verify` that is a genuine
254
+ // no-op; but `--only consistency` asked for THIS phase specifically, and
255
+ // answering an explicit request with an empty phase list and `success` is
256
+ // the same silent pass `vat validate --only <unconfigured surface>`
257
+ // deliberately refuses to give.
258
+ if (explicitlyRequested) {
259
+ logger.error("Phase 'consistency' needs a skills: block in vibe-agent-toolkit.config.yaml — there is nothing to cross-reference.");
260
+ phaseResults.push({
261
+ name: 'consistency',
262
+ status: 'error',
263
+ error: "No skills: block in vibe-agent-toolkit.config.yaml — 'consistency' has nothing to check.",
264
+ });
265
+ }
266
+ return;
223
267
  }
224
268
  const discoveredSkills = await discoverSkillsFromConfig(config.skills, process.cwd());
225
269
  const consistencyResult = runConsistencyChecks(discoveredSkills, config, process.cwd());
226
- if (consistencyResult.summary.errors > 0) {
227
- reportConsistencyIssues(consistencyResult.issues, logger);
228
- phaseResults.push({ name: 'consistency', status: 'failed' });
229
- return true;
270
+ const issues = consistencyResult.issues;
271
+ if (issues.length > 0) {
272
+ reportConsistencyIssues(issues, logger);
230
273
  }
231
- if (consistencyResult.summary.warnings > 0 || consistencyResult.summary.infos > 0) {
232
- reportConsistencyIssues(consistencyResult.issues, logger);
233
- }
234
- phaseResults.push({ name: 'consistency', status: 'passed' });
235
- return false;
274
+ const asValidation = asValidationIssues(issues);
275
+ const result = {
276
+ name: 'consistency',
277
+ status: calculateValidationStatus(asValidation),
278
+ issueCounts: countBySeverity(asValidation),
279
+ issues: issues.map(({ severity, code, message, fix }) => ({ severity, code, message, fix })),
280
+ };
281
+ phaseResults.push(result);
236
282
  }
237
283
  async function verifyTopLevelCommand(options) {
238
284
  // Spec §7: `vat verify` requires a projectRoot.
@@ -253,30 +299,32 @@ async function verifyTopLevelCommand(options) {
253
299
  logger.info(`\n▶ Phase: ${phase.name}`);
254
300
  phaseResults.push(runPhase(binPath, phase));
255
301
  }
256
- let hasErrors = phaseResults.some((r) => r.status === 'failed');
257
302
  // Post-build files config check: verify all dest paths exist in built output
258
303
  if (!options.only || options.only === 'skills') {
259
304
  const filesDestResults = checkFilesConfigDests(process.cwd());
260
305
  if (filesDestResults.length > 0) {
261
- hasErrors = true;
262
306
  reportFilesDestErrors(filesDestResults, logger);
263
- phaseResults.push({ name: 'files-config-dests', status: 'failed' });
307
+ phaseResults.push({
308
+ name: 'files-config-dests',
309
+ status: 'error',
310
+ issueCounts: { errors: filesDestResults.length, warnings: 0, info: 0 },
311
+ });
264
312
  }
265
313
  }
266
314
  // Consistency check: cross-reference discovered skills vs package.json and plugin assignments
267
315
  if (!options.only || options.only === 'consistency' || options.only === 'skills') {
268
- const consistencyHasErrors = await runConsistencyPhase(logger, phaseResults);
269
- if (consistencyHasErrors) {
270
- hasErrors = true;
271
- }
316
+ await runConsistencyPhase(logger, phaseResults, options.only === 'consistency');
272
317
  }
273
318
  const duration = Date.now() - startTime;
319
+ // Worst-wins across phases, with `system-error` outranking `error`: a phase
320
+ // that could not run exits 2, so a CI script can tell a broken config from
321
+ // a broken artifact.
274
322
  writeYamlOutput({
275
- status: hasErrors ? 'error' : 'success',
323
+ status: aggregatePhaseStatus(phaseResults),
276
324
  phases: phaseResults,
277
325
  duration: `${duration}ms`,
278
326
  });
279
- process.exit(hasErrors ? 1 : 0);
327
+ process.exit(exitCodeForPhases(phaseResults));
280
328
  }
281
329
  catch (error) {
282
330
  handleCommandError(error, logger, startTime, 'Verify');
@@ -1 +1 @@
1
- {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verify.js","sourceRoot":"","sources":["../../src/commands/verify.ts"],"names":[],"mappings":"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"}