@vibe-agent-toolkit/cli 0.1.41-rc.7 → 0.1.41
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/bin/vat +24 -1
- package/dist/bin/vat.js +24 -1
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +23 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/agent/list.d.ts +11 -0
- package/dist/commands/agent/list.d.ts.map +1 -1
- package/dist/commands/agent/list.js +30 -11
- package/dist/commands/agent/list.js.map +1 -1
- package/dist/commands/audit/distributed-tree.d.ts +172 -0
- package/dist/commands/audit/distributed-tree.d.ts.map +1 -0
- package/dist/commands/audit/distributed-tree.js +319 -0
- package/dist/commands/audit/distributed-tree.js.map +1 -0
- package/dist/commands/audit.d.ts +69 -1
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +525 -174
- package/dist/commands/audit.js.map +1 -1
- package/dist/commands/build.d.ts +14 -0
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +103 -26
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/git-publish.js +21 -3
- package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +125 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +251 -44
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/stubs.d.ts +9 -1
- package/dist/commands/claude/org/stubs.d.ts.map +1 -1
- package/dist/commands/claude/org/stubs.js +11 -3
- package/dist/commands/claude/org/stubs.js.map +1 -1
- package/dist/commands/claude/plugin/build.d.ts +34 -4
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +187 -16
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-files.js +6 -2
- package/dist/commands/claude/plugin/plugin-files.js.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +15 -0
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts +40 -0
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +100 -4
- package/dist/commands/claude/plugin/tree-copy.js.map +1 -1
- package/dist/commands/corpus/report.d.ts +22 -4
- package/dist/commands/corpus/report.d.ts.map +1 -1
- package/dist/commands/corpus/report.js +1 -0
- package/dist/commands/corpus/report.js.map +1 -1
- package/dist/commands/corpus/runner.d.ts +16 -1
- package/dist/commands/corpus/runner.d.ts.map +1 -1
- package/dist/commands/corpus/runner.js +40 -22
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/doctor.js +1 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/inventory.d.ts +2 -0
- package/dist/commands/inventory.d.ts.map +1 -1
- package/dist/commands/inventory.js +45 -4
- package/dist/commands/inventory.js.map +1 -1
- package/dist/commands/phase-utils.d.ts +183 -14
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +294 -29
- package/dist/commands/phase-utils.js.map +1 -1
- package/dist/commands/positional-args.d.ts +36 -0
- package/dist/commands/positional-args.d.ts.map +1 -0
- package/dist/commands/positional-args.js +52 -0
- package/dist/commands/positional-args.js.map +1 -0
- package/dist/commands/rag/query-command.d.ts +40 -0
- package/dist/commands/rag/query-command.d.ts.map +1 -1
- package/dist/commands/rag/query-command.js +47 -20
- package/dist/commands/rag/query-command.js.map +1 -1
- package/dist/commands/resources/index.d.ts.map +1 -1
- package/dist/commands/resources/index.js +27 -9
- package/dist/commands/resources/index.js.map +1 -1
- package/dist/commands/resources/scan.d.ts +37 -0
- package/dist/commands/resources/scan.d.ts.map +1 -1
- package/dist/commands/resources/scan.js +47 -32
- package/dist/commands/resources/scan.js.map +1 -1
- package/dist/commands/resources/validate.d.ts +136 -1
- package/dist/commands/resources/validate.d.ts.map +1 -1
- package/dist/commands/resources/validate.js +105 -66
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review-checklist.d.ts.map +1 -1
- package/dist/commands/skill/review-checklist.js +5 -0
- package/dist/commands/skill/review-checklist.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +7 -3
- package/dist/commands/skill/review.js.map +1 -1
- package/dist/commands/skill/test/run.d.ts +1 -1
- package/dist/commands/skill/test/run.d.ts.map +1 -1
- package/dist/commands/skill/test/run.js +8 -6
- package/dist/commands/skill/test/run.js.map +1 -1
- package/dist/commands/skills/build.d.ts +349 -11
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +901 -97
- package/dist/commands/skills/build.js.map +1 -1
- package/dist/commands/skills/command-helpers.d.ts +6 -10
- package/dist/commands/skills/command-helpers.d.ts.map +1 -1
- package/dist/commands/skills/command-helpers.js +6 -22
- package/dist/commands/skills/command-helpers.js.map +1 -1
- package/dist/commands/skills/list.d.ts +18 -0
- package/dist/commands/skills/list.d.ts.map +1 -1
- package/dist/commands/skills/list.js +41 -15
- package/dist/commands/skills/list.js.map +1 -1
- package/dist/commands/skills/package.d.ts +15 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +30 -20
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/scope-guard.d.ts +64 -0
- package/dist/commands/skills/scope-guard.d.ts.map +1 -0
- package/dist/commands/skills/scope-guard.js +86 -0
- package/dist/commands/skills/scope-guard.js.map +1 -0
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +41 -7
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +44 -3
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +217 -53
- package/dist/commands/skills/validate.js.map +1 -1
- package/dist/commands/validate.d.ts +18 -0
- package/dist/commands/validate.d.ts.map +1 -1
- package/dist/commands/validate.js +89 -68
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +113 -6
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +440 -123
- package/dist/commands/verify.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -1
- package/dist/index.js.map +1 -1
- package/dist/skill-resolution/index.d.ts +1 -1
- package/dist/skill-resolution/index.d.ts.map +1 -1
- package/dist/skill-resolution/index.js +1 -1
- package/dist/skill-resolution/index.js.map +1 -1
- package/dist/skill-resolution/packaging-config.d.ts +15 -2
- package/dist/skill-resolution/packaging-config.d.ts.map +1 -1
- package/dist/skill-resolution/packaging-config.js +39 -2
- package/dist/skill-resolution/packaging-config.js.map +1 -1
- package/dist/utils/command-error.d.ts +34 -1
- package/dist/utils/command-error.d.ts.map +1 -1
- package/dist/utils/command-error.js +32 -1
- package/dist/utils/command-error.js.map +1 -1
- package/dist/utils/help-loader.d.ts +6 -2
- package/dist/utils/help-loader.d.ts.map +1 -1
- package/dist/utils/help-loader.js +9 -16
- package/dist/utils/help-loader.js.map +1 -1
- package/dist/utils/issue-rendering.d.ts +130 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -1
- package/dist/utils/issue-rendering.js +147 -0
- package/dist/utils/issue-rendering.js.map +1 -1
- package/dist/utils/issue-severity.d.ts +51 -0
- package/dist/utils/issue-severity.d.ts.map +1 -0
- package/dist/utils/issue-severity.js +63 -0
- package/dist/utils/issue-severity.js.map +1 -0
- package/dist/utils/output.d.ts +54 -5
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +111 -17
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/relativize-paths.d.ts +45 -0
- package/dist/utils/relativize-paths.d.ts.map +1 -0
- package/dist/utils/relativize-paths.js +67 -0
- package/dist/utils/relativize-paths.js.map +1 -0
- package/dist/utils/resource-loader.d.ts +21 -2
- package/dist/utils/resource-loader.d.ts.map +1 -1
- package/dist/utils/resource-loader.js +85 -11
- package/dist/utils/resource-loader.js.map +1 -1
- package/dist/utils/skill-packaging-config.d.ts +22 -1
- package/dist/utils/skill-packaging-config.d.ts.map +1 -1
- package/dist/utils/skill-packaging-config.js +26 -0
- package/dist/utils/skill-packaging-config.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +4 -3
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +6 -13
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/dist/version.d.ts +22 -2
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +31 -2
- package/dist/version.js.map +1 -1
- package/docs/index.md +12 -0
- package/docs/rag.md +9 -4
- package/docs/resources.md +30 -14
- package/docs/skills.md +25 -7
- package/package.json +12 -12
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-json-merge.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,kBAAkB,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;
|
|
1
|
+
{"version":3,"file":"plugin-json-merge.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAEH,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC1C;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,kBAAkB,CAAC;IACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;CACjD;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;;;;OAOG;IACH,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAkID;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EACzD,UAAU,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,SAAS,EACxD,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,MAAM,GAAE,oBAA8B,GACrC,MAAM,GAAG,SAAS,CAYpB;AAcD,wBAAgB,eAAe,CAAC,IAAI,EAAE,mBAAmB,GAAG,qBAAqB,CAkBhF"}
|
|
@@ -89,6 +89,21 @@ function collectWarnings(vat, authorJson, mergedAuthor) {
|
|
|
89
89
|
return [];
|
|
90
90
|
const warnings = [];
|
|
91
91
|
if ('name' in authorJson && authorJson['name'] !== vat.name) {
|
|
92
|
+
// OPEN CONTRADICTION between two lanes, over one file — a DESIGN CALL, not a bug to
|
|
93
|
+
// patch here. This message tells the author to drop `name` from their SOURCE overlay
|
|
94
|
+
// plugin.json. `vat audit` then reads that same file, parses it with
|
|
95
|
+
// `ClaudePluginSchema` (packages/claude-marketplace/src/schemas/claude-plugin.ts,
|
|
96
|
+
// where `name` is a required `z.string()`), and emits PLUGIN_INVALID_SCHEMA /
|
|
97
|
+
// `name Required` on it — see `validatePlugin` in
|
|
98
|
+
// packages/claude-marketplace/src/validators/plugin-validator.ts. Follow either
|
|
99
|
+
// instruction and the other lane complains.
|
|
100
|
+
//
|
|
101
|
+
// Neither side sees the contradiction because the two live in different lanes and
|
|
102
|
+
// judge different artifacts: the audit rule is written for a BUILT plugin (where
|
|
103
|
+
// `name` genuinely is required), while the instruction here is for a source OVERLAY
|
|
104
|
+
// that the build merges config identity into. Resolving it means deciding whether
|
|
105
|
+
// audit should recognize the overlay shape at all — do not just soften this string
|
|
106
|
+
// or relax the schema.
|
|
92
107
|
warnings.push(`plugin.json "name" (${JSON.stringify(authorJson['name'])}) disagrees with the marketplace config, ` +
|
|
93
108
|
`which declares "${vat.name}". Using the config value. ` +
|
|
94
109
|
`Align plugin.json, or drop its "name" field — the config owns plugin identity.`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-json-merge.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAsCH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,oFAAoF;AACpF,SAAS,oBAAoB,CAC3B,UAA+C;IAE/C,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,GAAuB,EACvB,UAA+C;IAE/C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5E,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAChD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;QACrB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,WAAW;KACf,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAA+C;IAE/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,KAAK,aAAa;YAAE,SAAS;QAClC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,GAAuB,EACvB,UAA+C,EAC/C,YAAqC;IAErC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,QAAQ,CAAC,IAAI,CACX,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,2CAA2C;YAClG,mBAAmB,GAAG,CAAC,IAAI,6BAA6B;YACxD,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,UAAmC,EACnC,YAAqC;IAErC,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,yBAAyB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,oCAAoC;YACjG,yBAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC;YAC1F,8DAA8D;YAC9D,qGAAqG;YACrG,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAChE,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CACL,qGAAqG;QACrG,GAAG,cAAc,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI;QAClE,qGAAqG;QACrG,gGAAgG;QAChG,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAyD,EACzD,UAAwD,EACxD,WAA+B,EAC/B,SAA+B,OAAO;IAEtC,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC;IAEnC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,wDAAwD,MAAM,IAAI;YAChE,wBAAwB,MAAM,mBAAmB,MAAM,KAAK;YAC5D,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,IAAI,WAAW,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAuB,EACvB,iBAAqC,EACrC,UAA+C;IAE/C,MAAM,iBAAiB,GACrB,UAAU,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ;QACzD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,MAAM,GAA4B,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAE1B,gEAAgE;IAChE,iDAAiD;IACjD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
|
|
1
|
+
{"version":3,"file":"plugin-json-merge.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/plugin-json-merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AAsCH,MAAM,cAAc,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC,CAAC;AAEnF;;;;;;;GAOG;AACH,MAAM,0BAA0B,GAAwB,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAEnF,+EAA+E;AAC/E,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAED,oFAAoF;AACpF,SAAS,oBAAoB,CAC3B,UAA+C;IAE/C,OAAO,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,SAAS,iBAAiB,CACxB,GAAuB,EACvB,UAA+C;IAE/C,MAAM,WAAW,GAA4B,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QAC5E,IAAI,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAChD,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IACD,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,IAAI;QACrB,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,GAAG,WAAW;KACf,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAA+C;IAE/C,MAAM,GAAG,GAA4B,EAAE,CAAC;IACxC,IAAI,CAAC,UAAU;QAAE,OAAO,GAAG,CAAC;IAC5B,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;QAChD,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC,KAAK,aAAa;YAAE,SAAS;QAClC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CACtB,GAAuB,EACvB,UAA+C,EAC/C,YAAqC;IAErC,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,IAAI,MAAM,IAAI,UAAU,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;QAC5D,oFAAoF;QACpF,qFAAqF;QACrF,qEAAqE;QACrE,kFAAkF;QAClF,8EAA8E;QAC9E,kDAAkD;QAClD,gFAAgF;QAChF,4CAA4C;QAC5C,EAAE;QACF,kFAAkF;QAClF,iFAAiF;QACjF,oFAAoF;QACpF,kFAAkF;QAClF,mFAAmF;QACnF,uBAAuB;QACvB,QAAQ,CAAC,IAAI,CACX,uBAAuB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,2CAA2C;YAClG,mBAAmB,GAAG,CAAC,IAAI,6BAA6B;YACxD,gFAAgF,CACnF,CAAC;IACJ,CAAC;IACD,MAAM,aAAa,GAAG,kBAAkB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACnE,IAAI,aAAa;QAAE,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAChD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,SAAS,kBAAkB,CACzB,UAAmC,EACnC,YAAqC;IAErC,IAAI,CAAC,CAAC,QAAQ,IAAI,UAAU,CAAC;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,QAAQ,GAAG,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,CACL,yBAAyB,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,oCAAoC;YACjG,yBAAyB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,qCAAqC;YAC1F,8DAA8D;YAC9D,qGAAqG;YACrG,0CAA0C,CAC3C,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,CAAC,GAAG,0BAA0B,CAAC,CAAC,MAAM,CACvD,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,IAAI,QAAQ,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,YAAY,CAAC,GAAG,CAAC,CAChE,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/E,OAAO,CACL,qGAAqG;QACrG,GAAG,cAAc,iBAAiB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI;QAClE,qGAAqG;QACrG,gGAAgG;QAChG,aAAa,CACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,cAAc,CAC5B,WAAyD,EACzD,UAAwD,EACxD,WAA+B,EAC/B,SAA+B,OAAO;IAEtC,MAAM,MAAM,GAAG,WAAW,EAAE,OAAO,CAAC;IACpC,MAAM,MAAM,GAAG,UAAU,EAAE,OAAO,CAAC;IAEnC,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1C,MAAM,CAAC,IAAI,CACT,wDAAwD,MAAM,IAAI;YAChE,wBAAwB,MAAM,mBAAmB,MAAM,KAAK;YAC5D,yCAAyC,CAC5C,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,IAAI,MAAM,IAAI,WAAW,CAAC;AACzC,CAAC;AAED,SAAS,kBAAkB,CACzB,GAAuB,EACvB,iBAAqC,EACrC,UAA+C;IAE/C,MAAM,iBAAiB,GACrB,UAAU,IAAI,OAAO,UAAU,CAAC,aAAa,CAAC,KAAK,QAAQ;QACzD,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC;QAC3B,CAAC,CAAC,SAAS,CAAC;IAChB,OAAO,iBAAiB,IAAI,iBAAiB,IAAI,GAAG,GAAG,CAAC,IAAI,SAAS,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,IAAyB;IACvD,MAAM,EAAE,GAAG,EAAE,iBAAiB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEpD,MAAM,MAAM,GAA4B,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAC7E,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,IAAI,CAAC;IAE1B,gEAAgE;IAChE,iDAAiD;IACjD,IAAI,GAAG,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC;IAClC,CAAC;IAED,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC;IAC1B,MAAM,CAAC,aAAa,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAE/E,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;AACtC,CAAC"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Copies everything under <sourceDir> to <destDir>, except:
|
|
5
5
|
* - .claude-plugin/ (owned by plugin.json merge-write)
|
|
6
|
+
* - agent-instruction files at any depth, in ANY case (CLAUDE.md, Claude.md,
|
|
7
|
+
* agents.md, …) — a case-insensitive filesystem resolves every spelling to
|
|
8
|
+
* the same lookup Claude Code performs
|
|
9
|
+
* - anything the caller names in `exclude` (glob, or a bare/trailing-slash
|
|
10
|
+
* directory name; a pattern matching nothing is returned to the caller)
|
|
6
11
|
*
|
|
7
12
|
* Respects .gitignore via crawlDirectory (respectGitignore: true, the default).
|
|
8
13
|
* Returns counts keyed to the spec's YAML summary extension.
|
|
@@ -23,6 +28,30 @@ export interface TreeCopyOptions {
|
|
|
23
28
|
* would drop it from the bundle entirely.
|
|
24
29
|
*/
|
|
25
30
|
excludeSkillDirs?: string[];
|
|
31
|
+
/**
|
|
32
|
+
* Project-specific patterns (relative to `sourceDir`) to leave out of the
|
|
33
|
+
* bundle — the `exclude:` knob on the marketplace plugin entry.
|
|
34
|
+
*
|
|
35
|
+
* The escape hatch for junk the defaults below cannot know about (scratch dirs,
|
|
36
|
+
* design notes, internal fixtures). Additive to the built-in exclusions.
|
|
37
|
+
*
|
|
38
|
+
* Accepts a glob (`scratch/**`) or a bare directory name with or without a
|
|
39
|
+
* trailing slash (`scratch`, `scratch/`), which covers the whole subtree — see
|
|
40
|
+
* {@link expandExcludePattern}. A pattern that matches nothing comes back in
|
|
41
|
+
* {@link TreeCopyResult.unusedExcludePatterns}; it is never silently ignored.
|
|
42
|
+
*/
|
|
43
|
+
exclude?: string[];
|
|
44
|
+
/**
|
|
45
|
+
* Sink for notices about INPUTS this copy ignored — currently only a
|
|
46
|
+
* per-plugin `marketplace.json`, which VAT generates at the marketplace level.
|
|
47
|
+
*
|
|
48
|
+
* Deliberately NOT the channel for anything about what shipped. A `warn`
|
|
49
|
+
* string can only ever become a log line, and a file vanishing from a bundle
|
|
50
|
+
* has to reach the build's `issueCounts` or a CI consumer reads `warnings: 0`
|
|
51
|
+
* for a build that shipped less than the config asked for. Facts about the
|
|
52
|
+
* copied set are RETURNED (see {@link TreeCopyResult}) so the caller can
|
|
53
|
+
* materialize them as coded findings.
|
|
54
|
+
*/
|
|
26
55
|
warn?: (message: string) => void;
|
|
27
56
|
}
|
|
28
57
|
export interface TreeCopyResult {
|
|
@@ -31,6 +60,17 @@ export interface TreeCopyResult {
|
|
|
31
60
|
agentsCopied: number;
|
|
32
61
|
mcpCopied: number;
|
|
33
62
|
filesCopied: number;
|
|
63
|
+
/**
|
|
64
|
+
* Caller `exclude:` patterns that matched no file in this copy, in the order
|
|
65
|
+
* the author wrote them and spelled exactly as authored.
|
|
66
|
+
*
|
|
67
|
+
* Returned rather than logged: zero matches means the knob no-oped, which is a
|
|
68
|
+
* finding about the delta between the declared config and the shipped bundle —
|
|
69
|
+
* the caller turns each into a coded issue that reaches `issueCounts`. Empty
|
|
70
|
+
* (never `undefined`) when every pattern did work, so the caller never has to
|
|
71
|
+
* distinguish "no dead patterns" from "this lane doesn't report them".
|
|
72
|
+
*/
|
|
73
|
+
unusedExcludePatterns: string[];
|
|
34
74
|
}
|
|
35
75
|
export declare function treeCopyPlugin(options: TreeCopyOptions): Promise<TreeCopyResult>;
|
|
36
76
|
//# sourceMappingURL=tree-copy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-copy.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tree-copy.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAUH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;;;;OAWG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;;;;;OASG;IACH,qBAAqB,EAAE,MAAM,EAAE,CAAC;CACjC;AAwGD,wBAAsB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAuEtF"}
|
|
@@ -3,6 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Copies everything under <sourceDir> to <destDir>, except:
|
|
5
5
|
* - .claude-plugin/ (owned by plugin.json merge-write)
|
|
6
|
+
* - agent-instruction files at any depth, in ANY case (CLAUDE.md, Claude.md,
|
|
7
|
+
* agents.md, …) — a case-insensitive filesystem resolves every spelling to
|
|
8
|
+
* the same lookup Claude Code performs
|
|
9
|
+
* - anything the caller names in `exclude` (glob, or a bare/trailing-slash
|
|
10
|
+
* directory name; a pattern matching nothing is returned to the caller)
|
|
6
11
|
*
|
|
7
12
|
* Respects .gitignore via crawlDirectory (respectGitignore: true, the default).
|
|
8
13
|
* Returns counts keyed to the spec's YAML summary extension.
|
|
@@ -10,8 +15,83 @@
|
|
|
10
15
|
import { existsSync } from 'node:fs';
|
|
11
16
|
import { copyFile, mkdir } from 'node:fs/promises';
|
|
12
17
|
import { dirname } from 'node:path';
|
|
13
|
-
import {
|
|
14
|
-
|
|
18
|
+
import { AGENT_INSTRUCTION_FILE_PATTERNS, toAnyDepthGlobs } from '@vibe-agent-toolkit/agent-skills';
|
|
19
|
+
import { crawlDirectory, isGlob, safePath, toForwardSlash } from '@vibe-agent-toolkit/utils';
|
|
20
|
+
import picomatch from 'picomatch';
|
|
21
|
+
/**
|
|
22
|
+
* Built-in exclusions for the verbatim plugin copy.
|
|
23
|
+
*
|
|
24
|
+
* The agent-instruction list ONLY. `NEVER_PACKAGE_IN_SKILL_BUNDLE` also carries
|
|
25
|
+
* the navigation patterns, and importing that here would strip the front page off
|
|
26
|
+
* three in five real plugins: measured 2026-08-02, 50 of 86 installed plugins ship
|
|
27
|
+
* a plugin-root `README.md` (57 of 94 when first measured — the population moves as
|
|
28
|
+
* plugins come and go; the ratio is what carries the argument, so re-measure rather
|
|
29
|
+
* than cite this as current), and `copyDistributionFiles` copies READMEs to the marketplace root
|
|
30
|
+
* on purpose. A README is vestigial *inside a skill bundle* and load-bearing at a
|
|
31
|
+
* plugin root — that asymmetry is why the two lists must stay separate.
|
|
32
|
+
*/
|
|
33
|
+
const EXCLUDE_PATTERNS = [
|
|
34
|
+
'.claude-plugin/**',
|
|
35
|
+
...toAnyDepthGlobs(AGENT_INSTRUCTION_FILE_PATTERNS),
|
|
36
|
+
];
|
|
37
|
+
/**
|
|
38
|
+
* picomatch options for caller `exclude:` patterns.
|
|
39
|
+
*
|
|
40
|
+
* `dot: true` matches the crawler's own compilation ({@link crawlDirectory}) —
|
|
41
|
+
* without it an exclude aimed at a dot-directory silently never fires, and the
|
|
42
|
+
* two matchers in this one function would disagree about the same pattern.
|
|
43
|
+
*/
|
|
44
|
+
const PICOMATCH_OPTIONS = { dot: true };
|
|
45
|
+
/**
|
|
46
|
+
* Expand one `exclude:` pattern into the spellings that make a directory-shaped
|
|
47
|
+
* pattern mean the same thing in both crawl lanes.
|
|
48
|
+
*
|
|
49
|
+
* `crawlDirectory`'s `git ls-files` fast path only ever yields FILE paths, so a
|
|
50
|
+
* bare `scratch` (or `scratch/`) matched nothing there, while the non-git walker
|
|
51
|
+
* prunes directories and did match. Same config, opposite result, decided by
|
|
52
|
+
* whether the plugin source happens to sit in a git repo — and the git case is
|
|
53
|
+
* the one that ships. A non-glob pattern is therefore expanded to itself PLUS its
|
|
54
|
+
* subtree; a pattern that is already a glob is passed through untouched.
|
|
55
|
+
*
|
|
56
|
+
* A bare FILE name (`keep.md`) also picks up a `keep.md/**` spelling, which
|
|
57
|
+
* matches nothing — harmless, and cheaper than guessing file-vs-directory from
|
|
58
|
+
* the string.
|
|
59
|
+
*/
|
|
60
|
+
function expandExcludePattern(pattern) {
|
|
61
|
+
// Hand-rolled rather than /\/+$/ — a trailing-repetition regex on caller input
|
|
62
|
+
// is the shape sonarjs/slow-regex rejects, and this cannot backtrack.
|
|
63
|
+
let trimmed = pattern;
|
|
64
|
+
while (trimmed.endsWith('/')) {
|
|
65
|
+
trimmed = trimmed.slice(0, -1);
|
|
66
|
+
}
|
|
67
|
+
if (trimmed === '' || isGlob(trimmed)) {
|
|
68
|
+
return [pattern];
|
|
69
|
+
}
|
|
70
|
+
return [trimmed, `${trimmed}/**`];
|
|
71
|
+
}
|
|
72
|
+
/** Compile the caller's `exclude:` patterns into hit-counting matchers. */
|
|
73
|
+
function buildExcludeMatchers(patterns) {
|
|
74
|
+
return patterns.map((pattern) => ({
|
|
75
|
+
pattern,
|
|
76
|
+
isMatch: picomatch(expandExcludePattern(pattern), PICOMATCH_OPTIONS),
|
|
77
|
+
hits: 0,
|
|
78
|
+
}));
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Does any caller `exclude:` pattern claim this path? Records a hit on EVERY
|
|
82
|
+
* matching pattern (not just the first) so the zero-match warning below cannot
|
|
83
|
+
* accuse a pattern that is genuinely doing work but is shadowed by another.
|
|
84
|
+
*/
|
|
85
|
+
function isExcludedByCaller(rel, matchers) {
|
|
86
|
+
let excluded = false;
|
|
87
|
+
for (const matcher of matchers) {
|
|
88
|
+
if (matcher.isMatch(rel)) {
|
|
89
|
+
matcher.hits += 1;
|
|
90
|
+
excluded = true;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
return excluded;
|
|
94
|
+
}
|
|
15
95
|
function classifyRelative(rel) {
|
|
16
96
|
if (rel.startsWith('commands/'))
|
|
17
97
|
return 'commandsCopied';
|
|
@@ -24,13 +104,14 @@ function classifyRelative(rel) {
|
|
|
24
104
|
return undefined;
|
|
25
105
|
}
|
|
26
106
|
export async function treeCopyPlugin(options) {
|
|
27
|
-
const { sourceDir, destDir, excludeSkillDirs = [], warn } = options;
|
|
107
|
+
const { sourceDir, destDir, excludeSkillDirs = [], exclude: callerExclude = [], warn } = options;
|
|
28
108
|
const result = {
|
|
29
109
|
commandsCopied: 0,
|
|
30
110
|
hooksCopied: 0,
|
|
31
111
|
agentsCopied: 0,
|
|
32
112
|
mcpCopied: 0,
|
|
33
113
|
filesCopied: 0,
|
|
114
|
+
unusedExcludePatterns: [],
|
|
34
115
|
};
|
|
35
116
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- sourceDir resolved from config
|
|
36
117
|
if (!existsSync(sourceDir)) {
|
|
@@ -44,7 +125,7 @@ export async function treeCopyPlugin(options) {
|
|
|
44
125
|
}
|
|
45
126
|
const exclude = [
|
|
46
127
|
...EXCLUDE_PATTERNS,
|
|
47
|
-
...excludeSkillDirs.
|
|
128
|
+
...excludeSkillDirs.flatMap((name) => expandExcludePattern(`skills/${name}`)),
|
|
48
129
|
];
|
|
49
130
|
const files = await crawlDirectory({
|
|
50
131
|
baseDir: sourceDir,
|
|
@@ -54,8 +135,16 @@ export async function treeCopyPlugin(options) {
|
|
|
54
135
|
filesOnly: true,
|
|
55
136
|
respectGitignore: true,
|
|
56
137
|
});
|
|
138
|
+
// Caller `exclude:` patterns are applied HERE rather than handed to the crawl,
|
|
139
|
+
// for two reasons: the two crawl lanes disagree about directory-shaped patterns
|
|
140
|
+
// (see expandExcludePattern), and a pattern that matches nothing must be
|
|
141
|
+
// reportable — a file the crawl never returns is a drop nothing can observe.
|
|
142
|
+
const excludeMatchers = buildExcludeMatchers(callerExclude);
|
|
57
143
|
for (const absPath of files) {
|
|
58
144
|
const rel = toForwardSlash(safePath.relative(sourceDir, absPath));
|
|
145
|
+
if (isExcludedByCaller(rel, excludeMatchers)) {
|
|
146
|
+
continue;
|
|
147
|
+
}
|
|
59
148
|
const target = safePath.join(destDir, rel);
|
|
60
149
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dest resolved from sourceDir+relative
|
|
61
150
|
await mkdir(dirname(target), { recursive: true });
|
|
@@ -66,6 +155,13 @@ export async function treeCopyPlugin(options) {
|
|
|
66
155
|
result[bucket] += 1;
|
|
67
156
|
}
|
|
68
157
|
}
|
|
158
|
+
// A typo'd or wrong-shaped exclude pattern used to be perfectly silent: the
|
|
159
|
+
// knob no-oped and the junk shipped anyway. Zero matches is the only evidence
|
|
160
|
+
// the author can get, so it always leaves this function — as DATA, on the one
|
|
161
|
+
// channel the caller can count, not as a log line beside `warnings: 0`.
|
|
162
|
+
result.unusedExcludePatterns = excludeMatchers
|
|
163
|
+
.filter((matcher) => matcher.hits === 0)
|
|
164
|
+
.map((matcher) => matcher.pattern);
|
|
69
165
|
return result;
|
|
70
166
|
}
|
|
71
167
|
//# sourceMappingURL=tree-copy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree-copy.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"tree-copy.js","sourceRoot":"","sources":["../../../../src/commands/claude/plugin/tree-copy.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,12 +7,17 @@
|
|
|
7
7
|
* per-plugin rows so callers can pass raw rows and let this module
|
|
8
8
|
* compute aggregates.
|
|
9
9
|
*/
|
|
10
|
+
import type { SeverityCounts } from '@vibe-agent-toolkit/agent-schema';
|
|
10
11
|
export type AuditStatus = 'success' | 'warning' | 'error' | 'unloadable';
|
|
11
12
|
export type ReviewStatus = 'ok' | 'error' | 'skipped';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
/**
|
|
14
|
+
* Extends `SeverityCounts` rather than re-declaring `errors`/`warnings`/`info`:
|
|
15
|
+
* `runner.ts` builds this by spreading `countBySeverity()`, so the two are
|
|
16
|
+
* already the same shape by construction. Deriving makes the compiler enforce
|
|
17
|
+
* that, instead of leaving it as a fact someone has to re-verify by hand every
|
|
18
|
+
* time a severity bucket is added.
|
|
19
|
+
*/
|
|
20
|
+
export interface AuditSummary extends SeverityCounts {
|
|
16
21
|
files_scanned: number;
|
|
17
22
|
}
|
|
18
23
|
export interface AuditOutcome {
|
|
@@ -23,9 +28,21 @@ export interface AuditOutcome {
|
|
|
23
28
|
output_path?: string;
|
|
24
29
|
error?: string;
|
|
25
30
|
}
|
|
31
|
+
/**
|
|
32
|
+
* Outcome distribution for one plugin's review lane — the review-side mirror
|
|
33
|
+
* of `AuditSummary`. `skills_scanned` counts SKILLS (the denominator, like
|
|
34
|
+
* `files_scanned`); `reviewed` and `failed` bucket those skills by whether
|
|
35
|
+
* `vat skill review` ran to completion, and always sum to `skills_scanned`.
|
|
36
|
+
*/
|
|
37
|
+
export interface ReviewSummary {
|
|
38
|
+
reviewed: number;
|
|
39
|
+
failed: number;
|
|
40
|
+
skills_scanned: number;
|
|
41
|
+
}
|
|
26
42
|
export interface ReviewOutcome {
|
|
27
43
|
status: ReviewStatus;
|
|
28
44
|
duration_ms: number;
|
|
45
|
+
summary?: ReviewSummary;
|
|
29
46
|
output_path?: string;
|
|
30
47
|
error?: string;
|
|
31
48
|
}
|
|
@@ -55,6 +72,7 @@ export interface RunTotals {
|
|
|
55
72
|
audit_error: number;
|
|
56
73
|
unloadable: number;
|
|
57
74
|
reviewed?: number;
|
|
75
|
+
review_error?: number;
|
|
58
76
|
}
|
|
59
77
|
/**
|
|
60
78
|
* Compute totals over the per-plugin rows.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"report.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAIvE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,YAAY,CAAC;AACzE,MAAM,MAAM,YAAY,GAAG,IAAI,GAAG,OAAO,GAAG,SAAS,CAAC;AAEtD;;;;;;GAMG;AACH,MAAM,WAAW,YAAa,SAAQ,cAAc;IAClD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,YAAY,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,OAAO,CAAC;IAC5B,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,cAAc,EAAE,CAAC,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAChD,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,CAmC1D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,MAAM,CAG1D;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAsBvF"}
|
|
@@ -43,6 +43,7 @@ export function computeTotals(report) {
|
|
|
43
43
|
}
|
|
44
44
|
if (report.flags.with_review) {
|
|
45
45
|
totals.reviewed = report.plugins.filter((p) => p.review.status !== 'skipped').length;
|
|
46
|
+
totals.review_error = report.plugins.filter((p) => p.review.status === 'error').length;
|
|
46
47
|
}
|
|
47
48
|
return totals;
|
|
48
49
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/commands/corpus/report.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* URL handling clones via Layer 1's `withClonedRepo` helper. Validation
|
|
11
11
|
* overlay (Task 5) is added on top of this base.
|
|
12
12
|
*/
|
|
13
|
-
import type { PluginRow } from './report.js';
|
|
13
|
+
import type { PluginRow, ReviewOutcome } from './report.js';
|
|
14
14
|
import type { PluginEntry } from './seed.js';
|
|
15
15
|
export interface RunnerOptions {
|
|
16
16
|
runDir: string;
|
|
@@ -21,4 +21,19 @@ export interface RunnerOptions {
|
|
|
21
21
|
* Run audit + optional review against one plugin entry.
|
|
22
22
|
*/
|
|
23
23
|
export declare function auditOnePlugin(entry: PluginEntry, opts: RunnerOptions): Promise<PluginRow>;
|
|
24
|
+
export interface SkillReviewSection {
|
|
25
|
+
relativePath: string;
|
|
26
|
+
ok: boolean;
|
|
27
|
+
body: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Derive one plugin's `ReviewOutcome` from its per-skill sections.
|
|
31
|
+
*
|
|
32
|
+
* `status: 'ok'` requires `failed === 0` — every discovered skill reviewed to
|
|
33
|
+
* completion. A partially-failed run reports `error`, matching how the audit
|
|
34
|
+
* lane derives its status (any error finding demotes the whole row): a status
|
|
35
|
+
* must never claim more success than the counts behind it support. The counts
|
|
36
|
+
* stay on `summary` so consumers can tell 9-of-10-failed from all-failed.
|
|
37
|
+
*/
|
|
38
|
+
export declare function buildReviewOutcome(sections: readonly SkillReviewSection[], outputPath: string, durationMs: number): ReviewOutcome;
|
|
24
39
|
//# sourceMappingURL=runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EAA8B,SAAS,EAAiB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runner.d.ts","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAgBH,OAAO,KAAK,EAA8B,SAAS,EAAE,aAAa,EAAiB,MAAM,aAAa,CAAC;AACvG,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAqB7C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;CAChB;AAcD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,SAAS,CAAC,CAKpB;AAyED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,SAAS,kBAAkB,EAAE,EACvC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,aAAa,CAmBf"}
|
|
@@ -142,13 +142,46 @@ function reviewOneSkill(bin, skillDir, relativePath) {
|
|
|
142
142
|
const body = ((result.stdout ?? '') + (result.stderr ?? '')).trim();
|
|
143
143
|
return { relativePath, ok: true, body };
|
|
144
144
|
}
|
|
145
|
-
function renderAggregatedReview(entry, sections,
|
|
146
|
-
const header = `# Skill review: ${entry.name}\n\nReviewed ${
|
|
145
|
+
function renderAggregatedReview(entry, sections, summary) {
|
|
146
|
+
const header = `# Skill review: ${entry.name}\n\nReviewed ${summary.reviewed} of ${summary.skills_scanned} skills (${summary.failed} errors).\n`;
|
|
147
147
|
const rendered = sections
|
|
148
148
|
.map((s) => `\n---\n\n## ${s.relativePath}\n\n${s.body}\n`)
|
|
149
149
|
.join('');
|
|
150
150
|
return `${header}${rendered}`;
|
|
151
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Bucket the per-skill sections into the outcome distribution carried on the row.
|
|
154
|
+
*/
|
|
155
|
+
function summarizeReview(sections) {
|
|
156
|
+
const reviewed = sections.filter((s) => s.ok).length;
|
|
157
|
+
return { reviewed, failed: sections.length - reviewed, skills_scanned: sections.length };
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Derive one plugin's `ReviewOutcome` from its per-skill sections.
|
|
161
|
+
*
|
|
162
|
+
* `status: 'ok'` requires `failed === 0` — every discovered skill reviewed to
|
|
163
|
+
* completion. A partially-failed run reports `error`, matching how the audit
|
|
164
|
+
* lane derives its status (any error finding demotes the whole row): a status
|
|
165
|
+
* must never claim more success than the counts behind it support. The counts
|
|
166
|
+
* stay on `summary` so consumers can tell 9-of-10-failed from all-failed.
|
|
167
|
+
*/
|
|
168
|
+
export function buildReviewOutcome(sections, outputPath, durationMs) {
|
|
169
|
+
const summary = summarizeReview(sections);
|
|
170
|
+
if (summary.failed === 0) {
|
|
171
|
+
return { status: 'ok', duration_ms: durationMs, summary, output_path: outputPath };
|
|
172
|
+
}
|
|
173
|
+
const errors = sections
|
|
174
|
+
.filter((s) => !s.ok)
|
|
175
|
+
.map((s) => `${s.relativePath}: ${s.body.replaceAll('\n', ' ').slice(0, 200)}`)
|
|
176
|
+
.join('; ');
|
|
177
|
+
return {
|
|
178
|
+
status: 'error',
|
|
179
|
+
duration_ms: durationMs,
|
|
180
|
+
summary,
|
|
181
|
+
error: `${summary.failed} of ${summary.skills_scanned} skill reviews failed. ${errors}`,
|
|
182
|
+
output_path: outputPath,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
152
185
|
/**
|
|
153
186
|
* Discover every SKILL.md under `scanPath` (recursive, gitignore-aware) and
|
|
154
187
|
* invoke `vat skill review` once per skill directory. Concatenate the
|
|
@@ -157,8 +190,8 @@ function renderAggregatedReview(entry, sections, okCount) {
|
|
|
157
190
|
*
|
|
158
191
|
* Per-skill subprocess failures become error sections; the aggregate is
|
|
159
192
|
* still written so users can see which skills passed and which failed.
|
|
160
|
-
* Returns `status: 'error'`
|
|
161
|
-
*
|
|
193
|
+
* Returns `status: 'error'` when no skills were discovered or ANY subprocess
|
|
194
|
+
* failed — see `buildReviewOutcome`.
|
|
162
195
|
*/
|
|
163
196
|
async function runSkillReview(entry, scanPath, runDir) {
|
|
164
197
|
const start = Date.now();
|
|
@@ -170,6 +203,7 @@ async function runSkillReview(entry, scanPath, runDir) {
|
|
|
170
203
|
return {
|
|
171
204
|
status: 'error',
|
|
172
205
|
duration_ms: Date.now() - start,
|
|
206
|
+
summary: summarizeReview([]),
|
|
173
207
|
error: `No SKILL.md files found under ${scanPath}`,
|
|
174
208
|
};
|
|
175
209
|
}
|
|
@@ -178,26 +212,10 @@ async function runSkillReview(entry, scanPath, runDir) {
|
|
|
178
212
|
const skillDir = dirname(skill.path);
|
|
179
213
|
sections.push(reviewOneSkill(bin, skillDir, skill.relativePath));
|
|
180
214
|
}
|
|
181
|
-
const
|
|
182
|
-
const aggregated = renderAggregatedReview(entry, sections, okCount);
|
|
215
|
+
const aggregated = renderAggregatedReview(entry, sections, summarizeReview(sections));
|
|
183
216
|
// eslint-disable-next-line security/detect-non-literal-fs-filename -- composed under run dir
|
|
184
217
|
writeFileSync(reviewPath, aggregated, 'utf-8');
|
|
185
|
-
|
|
186
|
-
const errors = sections
|
|
187
|
-
.map((s) => `${s.relativePath}: ${s.body.replaceAll('\n', ' ').slice(0, 200)}`)
|
|
188
|
-
.join('; ');
|
|
189
|
-
return {
|
|
190
|
-
status: 'error',
|
|
191
|
-
duration_ms: Date.now() - start,
|
|
192
|
-
error: `All ${sections.length} skill reviews failed. ${errors}`,
|
|
193
|
-
output_path: `${entry.name}-review.md`,
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
return {
|
|
197
|
-
status: 'ok',
|
|
198
|
-
duration_ms: Date.now() - start,
|
|
199
|
-
output_path: `${entry.name}-review.md`,
|
|
200
|
-
};
|
|
218
|
+
return buildReviewOutcome(sections, `${entry.name}-review.md`, Date.now() - start);
|
|
201
219
|
}
|
|
202
220
|
/**
|
|
203
221
|
* Write a synthetic `vibe-agent-toolkit.config.yaml` at the audit target,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"runner.js","sourceRoot":"","sources":["../../../src/commands/corpus/runner.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -536,7 +536,7 @@ export function doctorCommand(program) {
|
|
|
536
536
|
program
|
|
537
537
|
.command('doctor')
|
|
538
538
|
.description('Diagnose vat setup and environment')
|
|
539
|
-
.option('--verbose', 'Show all checks including passing ones')
|
|
539
|
+
.option('-v, --verbose', 'Show all checks including passing ones')
|
|
540
540
|
.addHelpText('after', `
|
|
541
541
|
When to run:
|
|
542
542
|
• Before starting development (ensure environment is ready)
|