@vibe-agent-toolkit/cli 0.1.37 → 0.1.39-rc.1

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 (149) hide show
  1. package/README.md +7 -4
  2. package/dist/bin/vat +10 -5
  3. package/dist/bin/vat.js +10 -5
  4. package/dist/bin/vat.js.map +1 -1
  5. package/dist/commands/agent/build.d.ts.map +1 -1
  6. package/dist/commands/agent/build.js +3 -0
  7. package/dist/commands/agent/build.js.map +1 -1
  8. package/dist/commands/agent/index.d.ts.map +1 -1
  9. package/dist/commands/agent/index.js +25 -1
  10. package/dist/commands/agent/index.js.map +1 -1
  11. package/dist/commands/agent/run.d.ts.map +1 -1
  12. package/dist/commands/agent/run.js +5 -0
  13. package/dist/commands/agent/run.js.map +1 -1
  14. package/dist/commands/agent/validate.d.ts.map +1 -1
  15. package/dist/commands/agent/validate.js +3 -0
  16. package/dist/commands/agent/validate.js.map +1 -1
  17. package/dist/commands/audit/hierarchical-output.d.ts +2 -1
  18. package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
  19. package/dist/commands/audit/hierarchical-output.js.map +1 -1
  20. package/dist/commands/audit.d.ts.map +1 -1
  21. package/dist/commands/audit.js +20 -9
  22. package/dist/commands/audit.js.map +1 -1
  23. package/dist/commands/build.d.ts.map +1 -1
  24. package/dist/commands/build.js +9 -0
  25. package/dist/commands/build.js.map +1 -1
  26. package/dist/commands/claude/claude-config.d.ts.map +1 -1
  27. package/dist/commands/claude/claude-config.js +4 -2
  28. package/dist/commands/claude/claude-config.js.map +1 -1
  29. package/dist/commands/claude/marketplace/git-publish.d.ts +5 -12
  30. package/dist/commands/claude/marketplace/git-publish.d.ts.map +1 -1
  31. package/dist/commands/claude/marketplace/git-publish.js +7 -80
  32. package/dist/commands/claude/marketplace/git-publish.js.map +1 -1
  33. package/dist/commands/claude/marketplace/publish-tree.d.ts +12 -4
  34. package/dist/commands/claude/marketplace/publish-tree.d.ts.map +1 -1
  35. package/dist/commands/claude/marketplace/publish-tree.js +54 -24
  36. package/dist/commands/claude/marketplace/publish-tree.js.map +1 -1
  37. package/dist/commands/claude/marketplace/publish.d.ts.map +1 -1
  38. package/dist/commands/claude/marketplace/publish.js +14 -39
  39. package/dist/commands/claude/marketplace/publish.js.map +1 -1
  40. package/dist/commands/claude/marketplace/validate.js.map +1 -1
  41. package/dist/commands/claude/plugin/install.js +2 -2
  42. package/dist/commands/claude/plugin/install.js.map +1 -1
  43. package/dist/commands/corpus/index.d.ts.map +1 -1
  44. package/dist/commands/corpus/index.js +6 -0
  45. package/dist/commands/corpus/index.js.map +1 -1
  46. package/dist/commands/corpus/report.js +2 -2
  47. package/dist/commands/corpus/report.js.map +1 -1
  48. package/dist/commands/corpus/runner.js +3 -3
  49. package/dist/commands/corpus/runner.js.map +1 -1
  50. package/dist/commands/corpus/scan.d.ts.map +1 -1
  51. package/dist/commands/corpus/scan.js +4 -0
  52. package/dist/commands/corpus/scan.js.map +1 -1
  53. package/dist/commands/corpus/seed.d.ts +24 -0
  54. package/dist/commands/corpus/seed.d.ts.map +1 -1
  55. package/dist/commands/corpus/seed.js +7 -3
  56. package/dist/commands/corpus/seed.js.map +1 -1
  57. package/dist/commands/doctor.d.ts +4 -2
  58. package/dist/commands/doctor.d.ts.map +1 -1
  59. package/dist/commands/doctor.js +24 -34
  60. package/dist/commands/doctor.js.map +1 -1
  61. package/dist/commands/rag/command-helpers.d.ts +7 -2
  62. package/dist/commands/rag/command-helpers.d.ts.map +1 -1
  63. package/dist/commands/rag/command-helpers.js +10 -5
  64. package/dist/commands/rag/command-helpers.js.map +1 -1
  65. package/dist/commands/rag/index-command.d.ts.map +1 -1
  66. package/dist/commands/rag/index-command.js +11 -3
  67. package/dist/commands/rag/index-command.js.map +1 -1
  68. package/dist/commands/rag/index.d.ts.map +1 -1
  69. package/dist/commands/rag/index.js +24 -0
  70. package/dist/commands/rag/index.js.map +1 -1
  71. package/dist/commands/resources/index.d.ts.map +1 -1
  72. package/dist/commands/resources/index.js +16 -1
  73. package/dist/commands/resources/index.js.map +1 -1
  74. package/dist/commands/resources/scan.d.ts.map +1 -1
  75. package/dist/commands/resources/scan.js +4 -1
  76. package/dist/commands/resources/scan.js.map +1 -1
  77. package/dist/commands/resources/validate.d.ts.map +1 -1
  78. package/dist/commands/resources/validate.js +162 -117
  79. package/dist/commands/resources/validate.js.map +1 -1
  80. package/dist/commands/skill/review.d.ts.map +1 -1
  81. package/dist/commands/skill/review.js +14 -2
  82. package/dist/commands/skill/review.js.map +1 -1
  83. package/dist/commands/skills/build.d.ts.map +1 -1
  84. package/dist/commands/skills/build.js +12 -0
  85. package/dist/commands/skills/build.js.map +1 -1
  86. package/dist/commands/skills/index.js +6 -0
  87. package/dist/commands/skills/index.js.map +1 -1
  88. package/dist/commands/skills/package.d.ts.map +1 -1
  89. package/dist/commands/skills/package.js +10 -0
  90. package/dist/commands/skills/package.js.map +1 -1
  91. package/dist/commands/skills/skill-discovery.d.ts +9 -2
  92. package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
  93. package/dist/commands/skills/skill-discovery.js +83 -18
  94. package/dist/commands/skills/skill-discovery.js.map +1 -1
  95. package/dist/commands/skills/validate-command.d.ts.map +1 -1
  96. package/dist/commands/skills/validate-command.js +6 -0
  97. package/dist/commands/skills/validate-command.js.map +1 -1
  98. package/dist/commands/skills/validate.d.ts.map +1 -1
  99. package/dist/commands/skills/validate.js +15 -3
  100. package/dist/commands/skills/validate.js.map +1 -1
  101. package/dist/commands/verify.d.ts.map +1 -1
  102. package/dist/commands/verify.js +9 -0
  103. package/dist/commands/verify.js.map +1 -1
  104. package/dist/index.d.ts +0 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +0 -1
  107. package/dist/index.js.map +1 -1
  108. package/dist/utils/agent-discovery.d.ts.map +1 -1
  109. package/dist/utils/agent-discovery.js +2 -3
  110. package/dist/utils/agent-discovery.js.map +1 -1
  111. package/dist/utils/config-loader.d.ts +11 -24
  112. package/dist/utils/config-loader.d.ts.map +1 -1
  113. package/dist/utils/config-loader.js +34 -68
  114. package/dist/utils/config-loader.js.map +1 -1
  115. package/dist/utils/logger.d.ts +1 -0
  116. package/dist/utils/logger.d.ts.map +1 -1
  117. package/dist/utils/logger.js +3 -0
  118. package/dist/utils/logger.js.map +1 -1
  119. package/dist/utils/output.js +3 -3
  120. package/dist/utils/output.js.map +1 -1
  121. package/dist/utils/project-root-policy.d.ts +33 -0
  122. package/dist/utils/project-root-policy.d.ts.map +1 -0
  123. package/dist/utils/project-root-policy.js +49 -0
  124. package/dist/utils/project-root-policy.js.map +1 -0
  125. package/dist/utils/resource-loader.d.ts +9 -4
  126. package/dist/utils/resource-loader.d.ts.map +1 -1
  127. package/dist/utils/resource-loader.js +24 -28
  128. package/dist/utils/resource-loader.js.map +1 -1
  129. package/dist/utils/verdict-helpers.d.ts +2 -1
  130. package/dist/utils/verdict-helpers.d.ts.map +1 -1
  131. package/dist/utils/verdict-helpers.js +1 -1
  132. package/dist/utils/verdict-helpers.js.map +1 -1
  133. package/docs/agent.md +25 -0
  134. package/docs/audit.md +25 -0
  135. package/docs/doctor.md +13 -0
  136. package/docs/index.md +19 -0
  137. package/docs/mcp.md +16 -0
  138. package/docs/rag.md +18 -0
  139. package/docs/resources.md +45 -3
  140. package/docs/skills.md +61 -3
  141. package/package.json +12 -13
  142. package/dist/commands/claude/marketplace/tag-utils.d.ts +0 -11
  143. package/dist/commands/claude/marketplace/tag-utils.d.ts.map +0 -1
  144. package/dist/commands/claude/marketplace/tag-utils.js +0 -17
  145. package/dist/commands/claude/marketplace/tag-utils.js.map +0 -1
  146. package/dist/utils/project-root.d.ts +0 -30
  147. package/dist/utils/project-root.d.ts.map +0 -1
  148. package/dist/utils/project-root.js +0 -59
  149. package/dist/utils/project-root.js.map +0 -1
package/docs/audit.md CHANGED
@@ -555,6 +555,31 @@ Windows users: Use forward slashes even on Windows - they work correctly in Node
555
555
 
556
556
  SKILL.md files can use any line ending (LF, CRLF) - the parser handles both.
557
557
 
558
+ ## Requirements
559
+
560
+ `vat audit` has an unusual policy because it operates on per-skill
561
+ governing context rather than a single top-level `projectRoot`:
562
+
563
+ - **`projectRoot`**: per-skill walk-up. There is no single `projectRoot` for an
564
+ audit run. Each `SKILL.md` discovered during scanning walks up to its own
565
+ nearest `vibe-agent-toolkit.config.yaml`-or-`.git/` ancestor and uses that as
566
+ *its* `projectRoot`. Skills with no governing config or git ancestor are
567
+ reported as ungoverned (an audit finding, not a fatal error). This lets `vat
568
+ audit` work on external community trees, downloaded plugin bundles, and
569
+ monorepos with multiple sub-package configs.
570
+ - **Config**: accept defaults. Per-skill `validation.severity` and
571
+ `validation.allow` overrides come from whichever
572
+ `vibe-agent-toolkit.config.yaml` each skill walks up to. The audit itself
573
+ always exits 0 (advisory) regardless of severity outcomes.
574
+
575
+ The per-skill walk-up is cached via a module-level two-layer cache and pre-warmed
576
+ during top-down descent for efficiency on large trees.
577
+
578
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
579
+ for the `projectRoot` ladder and the audit walk-up model. See
580
+ [`docs/skill-quality-and-compatibility.md`](../../../docs/skill-quality-and-compatibility.md)
581
+ for VAT's advisory-audit stance.
582
+
558
583
  ## Related Commands
559
584
 
560
585
  - `vat agent audit <path>` - Legacy skill-only audit (deprecated)
package/docs/doctor.md CHANGED
@@ -260,6 +260,19 @@ fi
260
260
  - **Skipped:** When running installed VAT globally
261
261
  - **Fix:** Run `bun run build` in VAT source directory
262
262
 
263
+ ## Requirements
264
+
265
+ - **`projectRoot`**: optional. `vat doctor` tolerates a missing `projectRoot`
266
+ and reports its absence as a diagnostic finding rather than refusing to run.
267
+ This is by design: doctor is the command users invoke when they suspect their
268
+ setup is wrong, so it must run anywhere.
269
+ - **Config**: not used as input. Doctor checks whether a config file *exists*
270
+ and parses as a finding, but it does not consume config fields to drive its
271
+ behavior.
272
+
273
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
274
+ for terminology.
275
+
263
276
  ## Tips
264
277
 
265
278
  - Run `vat doctor` before reporting issues to verify environment
package/docs/index.md CHANGED
@@ -332,6 +332,25 @@ The `vat` wrapper automatically detects your execution context:
332
332
  When running global `vat` from within the toolkit repository, it automatically
333
333
  switches to dev mode and shows the `-dev` suffix.
334
334
 
335
+ ## Requirements
336
+
337
+ Every VAT command declares a `projectRoot` policy and a config policy. The
338
+ short version:
339
+
340
+ - **`projectRoot` = the VAT authoring boundary.** Discovered as: nearest
341
+ `vibe-agent-toolkit.config.yaml` → else nearest `.git/` → else `null`.
342
+ - **Per-command policy varies.** Some commands require it (`vat skills build`,
343
+ `vat agent build`, `vat build`, `vat verify`). Some tolerate its absence
344
+ (`vat skills validate --user`, `vat agent list`, `vat rag *` with `--db`).
345
+ Some have a **loud-cwd fallback** that warns to stderr and continues
346
+ (`vat resources scan`, `vat resources validate`).
347
+ - **`vat audit` is special:** there is no single `projectRoot`; each scanned
348
+ skill walks up to its own governing context.
349
+
350
+ Every command's `--help` output includes a `Requirements:` section declaring
351
+ its policy. The full matrix and rationale live in
352
+ [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md).
353
+
335
354
  ## Configuration
336
355
 
337
356
  Place `vibe-agent-toolkit.config.yaml` at project root:
package/docs/mcp.md CHANGED
@@ -310,6 +310,22 @@ All implementations must:
310
310
 
311
311
  See [MCP Gateway README](../../gateway-mcp/README.md) for planned features.
312
312
 
313
+ ## Requirements
314
+
315
+ Both MCP subcommands run as server / discovery operations and do not consume a
316
+ VAT authoring context:
317
+
318
+ - **`vat mcp list-collections`**
319
+ - **`projectRoot`**: N/A.
320
+ - **Config**: not used.
321
+ - **`vat mcp serve <package>`**
322
+ - **`projectRoot`**: N/A. The server resolves `<package>` from `node_modules`
323
+ or an explicit path; project context is not needed.
324
+ - **Config**: not used.
325
+
326
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
327
+ for terminology.
328
+
313
329
  ## See Also
314
330
 
315
331
  - [MCP Gateway README](../../gateway-mcp/README.md)
package/docs/rag.md CHANGED
@@ -441,6 +441,24 @@ vat rag index docs/
441
441
  2. Query too broad/vague → Be more specific
442
442
  3. Chunk boundaries split relevant content → Adjust chunk size (future feature)
443
443
 
444
+ ## Requirements
445
+
446
+ | Subcommand | `projectRoot` | Config |
447
+ |---|---|---|
448
+ | `vat rag index [path]` | optional (tolerates absence — `--db` supplies the path directly) | required fields (`rag.*`) when `--db` is not supplied; otherwise unused |
449
+ | `vat rag query <text>` | optional (`--db` overrides) | required file with `rag.*` for default db lookup |
450
+ | `vat rag stats` | optional (`--db` overrides) | required file with `rag.*` for default db lookup |
451
+ | `vat rag clear` | optional (`--db` overrides) | required file with `rag.*` for default db lookup |
452
+
453
+ RAG commands are unusual: they tolerate a missing `projectRoot` because the
454
+ caller can always specify `--db <path>` explicitly. But when `--db` is omitted,
455
+ VAT needs `rag.*` config fields to locate the configured store. The two
456
+ mechanisms are complementary — `--db` is for one-off use, `rag.*` config is for
457
+ project-default behavior.
458
+
459
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
460
+ for terminology.
461
+
444
462
  ## More Information
445
463
 
446
464
  - **GitHub:** https://github.com/jdutton/vibe-agent-toolkit
package/docs/resources.md CHANGED
@@ -53,6 +53,20 @@ vat resources scan docs/
53
53
  # ---
54
54
  ```
55
55
 
56
+ **Requirements:**
57
+
58
+ - **`projectRoot`**: optional with **loud-cwd fallback**. When invoked with an
59
+ explicit `[path]`, that path is the effective base. Without a path, VAT walks
60
+ up from `cwd` for `vibe-agent-toolkit.config.yaml` then `.git/`; if neither is
61
+ found, the command falls back to `cwd` and emits a single stderr warning
62
+ identifying the fallback. The scan still completes — the warning is the
63
+ contract that prevents silent surprise.
64
+ - **Config**: optional. Uses built-in include/exclude defaults if no config file
65
+ is present.
66
+
67
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
68
+ for the loud-cwd fallback policy and the projectRoot discovery ladder.
69
+
56
70
  ### vat resources validate [path]
57
71
 
58
72
  **Purpose:** Validate markdown resources with strict error reporting
@@ -121,6 +135,30 @@ vat resources validate docs/
121
135
  # ---
122
136
  ```
123
137
 
138
+ **Requirements:**
139
+
140
+ - **`projectRoot`**: optional with **loud-cwd fallback**. With an explicit
141
+ `[path]` the path is used as the base directory; without it VAT walks for a
142
+ `vibe-agent-toolkit.config.yaml` then `.git/` ancestor, and falls back to
143
+ `cwd` with a stderr warning if neither is found.
144
+ - **Config**: optional. Defaults are applied when no config file is present;
145
+ `--frontmatter-schema` is independent of config.
146
+
147
+ **Leading-`/` URI-reference resolution.** Markdown body links and frontmatter
148
+ URI-references whose path component starts with `/` (e.g.
149
+ `[See](/docs/foo.md)`, `parent_spec: /docs/foo.md`) are RFC 3986 §4.2
150
+ absolute-path references and are resolved against the discovered `projectRoot`.
151
+ Once cwd-fallback has fired, the effective `projectRoot` is `cwd` and leading-`/`
152
+ links resolve against `cwd` — consistent with the loud-cwd contract. The
153
+ `absolute_no_root` failure mode fires only when `projectRoot` is genuinely
154
+ undefined (e.g. a programmatic embedder that did not supply one); leading-`/`
155
+ links that escape `projectRoot` via path traversal surface as
156
+ `absolute_escapes_root`. Both surface as `broken_file` issues.
157
+
158
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
159
+ for the projectRoot ladder, the loud-cwd fallback policy, and the rationale
160
+ behind RFC-3986-compliant leading-`/` resolution.
161
+
124
162
  ## Configuration
125
163
 
126
164
  Place `vibe-agent-toolkit.config.yaml` at project root:
@@ -134,10 +172,14 @@ resources:
134
172
  exclude:
135
173
  - "node_modules/**"
136
174
  - "**/test/fixtures/**"
175
+ # Optional: per-code severity overrides (keys are validation codes,
176
+ # values are error | warning | info | ignore). External-URL findings
177
+ # default to `warning` (non-fatal), so a dead external link won't fail
178
+ # the build unless you raise its severity here.
137
179
  validation:
138
- checkLinks: true
139
- checkAnchors: true
140
- allowExternal: true
180
+ severity:
181
+ EXTERNAL_URL_DEAD: ignore # don't fail the build on dead external links
182
+ FRONTMATTER_SCHEMA_ERROR: error
141
183
  ```
142
184
 
143
185
  ## Integration with vibe-validate
package/docs/skills.md CHANGED
@@ -128,6 +128,19 @@ vat skills validate --user
128
128
  vat skills validate packages/my-agent/resources/skills
129
129
  ```
130
130
 
131
+ **Requirements:**
132
+
133
+ - **`projectRoot`**: required. `vat skills validate` refuses to run if no
134
+ `vibe-agent-toolkit.config.yaml` or `.git/` ancestor is found. Source-mode
135
+ validation always runs against a real authoring boundary.
136
+ - **Config**: optional. Falls back to built-in defaults if no config file is
137
+ present, but a `projectRoot` is still required to anchor link resolution and
138
+ the gitignore-safety gate.
139
+
140
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
141
+ for the discovery ladder, the loud-cwd fallback policy, and the CLI-boundary
142
+ discovery rule that this command participates in.
143
+
131
144
  ---
132
145
 
133
146
  ### vat skills build
@@ -203,6 +216,18 @@ vat skills build --skill my-skill
203
216
  vat skills build --dry-run
204
217
  ```
205
218
 
219
+ **Requirements:**
220
+
221
+ - **`projectRoot`**: required. `vat skills build` refuses to run if no
222
+ `vibe-agent-toolkit.config.yaml` or `.git/` ancestor is found. This guards
223
+ against accidental builds outside a VAT project.
224
+ - **Config**: required file with `skills.*` fields populated. The build
225
+ pipeline reads `skills.discovery` and `skills.config.*` directly — there are
226
+ no useful defaults for these.
227
+
228
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
229
+ for terminology.
230
+
206
231
  ---
207
232
 
208
233
  ### vat skills package <skill-path>
@@ -270,6 +295,18 @@ vat skills package SKILL.md -o dist --no-rewrite-links
270
295
  vat skills package SKILL.md -o dist -b /custom/base
271
296
  ```
272
297
 
298
+ **Requirements:**
299
+
300
+ - **`projectRoot`**: required. Packaging is an explicit-adoption operation and
301
+ is refused outside a discovered VAT project (no `vibe-agent-toolkit.config.yaml`
302
+ or `.git/` ancestor).
303
+ - **Config**: required file with `skills.*` fields populated. Per-skill packaging
304
+ options (`skills.config.<name>`) drive link rewriting, bundle inclusion, and
305
+ validation overrides.
306
+
307
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
308
+ for terminology.
309
+
273
310
  ---
274
311
 
275
312
  ### vat skills install \<source\>
@@ -378,7 +415,17 @@ vat skills install ./dist/skills/my-skill --target claude --scope project
378
415
  **Post-Installation:**
379
416
  After installation, you need to:
380
417
  1. Restart Claude Code (or the target agent), or
381
- 2. Run `/reload-skills` in Claude Code to load the new skill
418
+ 2. Run `/reload-plugins` in Claude Code to load the new skill
419
+
420
+ **Requirements:**
421
+
422
+ - **`projectRoot`**: N/A. `vat skills install` is a user-level operation that
423
+ installs into platform target directories (`~/.claude/skills/`,
424
+ `.claude/skills/`, etc.) regardless of where it is invoked.
425
+ - **Config**: not used.
426
+
427
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
428
+ for terminology.
382
429
 
383
430
  ---
384
431
 
@@ -453,6 +500,17 @@ vat skills list packages/my-agent
453
500
  vat skills list --verbose
454
501
  ```
455
502
 
503
+ **Requirements:**
504
+
505
+ - **`projectRoot`**: optional. `vat skills list` tolerates a missing
506
+ `projectRoot`. With `--user` it scans user installation directories directly
507
+ and skips project-root discovery entirely.
508
+ - **Config**: optional. Project mode honors config-defined include/exclude
509
+ patterns when present; defaults are used otherwise.
510
+
511
+ See [Roots and Config — Canonical Concepts](../../../docs/concepts/roots-and-config.md)
512
+ for terminology.
513
+
456
514
  ---
457
515
 
458
516
  ## Distribution Workflow
@@ -580,7 +638,7 @@ User: /my-skill
580
638
  - Use `--dry-run` to preview what will be installed before committing
581
639
  - Use `--force` flag carefully (overwrites existing skills)
582
640
  - Verify installation: `vat skills list --user`
583
- - Remember to restart the target agent or run `/reload-skills` in Claude Code
641
+ - Remember to restart the target agent or run `/reload-plugins` in Claude Code
584
642
 
585
643
  ---
586
644
 
@@ -660,7 +718,7 @@ name: my-help # Instead of "help"
660
718
  **Solution:**
661
719
  1. Verify installation: `vat skills list --user`
662
720
  2. Check location: Should be in `~/.claude/skills/` not `~/.claude/plugins/`
663
- 3. Restart Claude Code or run `/reload-skills`
721
+ 3. Restart Claude Code or run `/reload-plugins`
664
722
 
665
723
  ### "Windows-style backslashes"
666
724
  **Problem:** Links use backslashes: `resources\SKILL.md`
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibe-agent-toolkit/cli",
3
- "version": "0.1.37",
3
+ "version": "0.1.39-rc.1",
4
4
  "description": "Command-line interface for vibe-agent-toolkit",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,27 +41,26 @@
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.37",
45
- "@vibe-agent-toolkit/agent-schema": "0.1.37",
46
- "@vibe-agent-toolkit/agent-skills": "0.1.37",
47
- "@vibe-agent-toolkit/claude-marketplace": "0.1.37",
48
- "@vibe-agent-toolkit/discovery": "0.1.37",
49
- "@vibe-agent-toolkit/gateway-mcp": "0.1.37",
50
- "@vibe-agent-toolkit/rag": "0.1.37",
51
- "@vibe-agent-toolkit/rag-lancedb": "0.1.37",
52
- "@vibe-agent-toolkit/resources": "0.1.37",
53
- "@vibe-agent-toolkit/utils": "0.1.37",
44
+ "@vibe-agent-toolkit/agent-config": "0.1.39-rc.1",
45
+ "@vibe-agent-toolkit/agent-schema": "0.1.39-rc.1",
46
+ "@vibe-agent-toolkit/agent-skills": "0.1.39-rc.1",
47
+ "@vibe-agent-toolkit/claude-marketplace": "0.1.39-rc.1",
48
+ "@vibe-agent-toolkit/discovery": "0.1.39-rc.1",
49
+ "@vibe-agent-toolkit/gateway-mcp": "0.1.39-rc.1",
50
+ "@vibe-agent-toolkit/rag": "0.1.39-rc.1",
51
+ "@vibe-agent-toolkit/rag-lancedb": "0.1.39-rc.1",
52
+ "@vibe-agent-toolkit/resources": "0.1.39-rc.1",
53
+ "@vibe-agent-toolkit/utils": "0.1.39-rc.1",
54
54
  "adm-zip": "^0.5.16",
55
55
  "commander": "^12.1.0",
56
- "js-yaml": "^4.1.0",
57
56
  "picomatch": "^4.0.3",
58
57
  "semver": "^7.7.3",
59
58
  "tar": "^7.5.7",
59
+ "yaml": "^2.6.1",
60
60
  "zod": "^3.24.1"
61
61
  },
62
62
  "devDependencies": {
63
63
  "@types/adm-zip": "^0.5.7",
64
- "@types/js-yaml": "^4.0.9",
65
64
  "@types/node": "^22.10.5",
66
65
  "@types/picomatch": "^4.0.2",
67
66
  "@types/semver": "^7.7.1",
@@ -1,11 +0,0 @@
1
- /**
2
- * Format a per-plugin source-repo tag name for the multi-plugin marketplace
3
- * publish flow.
4
- *
5
- * Plugin-name validation (`/^[a-z0-9][a-z0-9-]*$/`) is enforced upstream by
6
- * `ClaudeMarketplacePluginEntrySchema`; semver validation is enforced upstream
7
- * by the schema's `version` refine. This formatter only enforces non-empty
8
- * inputs.
9
- */
10
- export declare function pluginTagName(name: string, version: string): string;
11
- //# sourceMappingURL=tag-utils.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag-utils.d.ts","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/tag-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAInE"}
@@ -1,17 +0,0 @@
1
- /**
2
- * Format a per-plugin source-repo tag name for the multi-plugin marketplace
3
- * publish flow.
4
- *
5
- * Plugin-name validation (`/^[a-z0-9][a-z0-9-]*$/`) is enforced upstream by
6
- * `ClaudeMarketplacePluginEntrySchema`; semver validation is enforced upstream
7
- * by the schema's `version` refine. This formatter only enforces non-empty
8
- * inputs.
9
- */
10
- export function pluginTagName(name, version) {
11
- if (!name)
12
- throw new Error('Plugin name is required for tag naming');
13
- if (!version)
14
- throw new Error('Version is required for tag naming');
15
- return `${name}-v${version}`;
16
- }
17
- //# sourceMappingURL=tag-utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tag-utils.js","sourceRoot":"","sources":["../../../../src/commands/claude/marketplace/tag-utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,IAAY,EAAE,OAAe;IACzD,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IACrE,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpE,OAAO,GAAG,IAAI,KAAK,OAAO,EAAE,CAAC;AAC/B,CAAC"}
@@ -1,30 +0,0 @@
1
- /**
2
- * Project root detection utility
3
- * Walks up directory tree to find .git or vibe-agent-toolkit.config.yaml
4
- *
5
- * Environment Variables:
6
- * - VAT_TEST_ROOT: Override project root for testing (bypasses detection)
7
- */
8
- /**
9
- * Find project root by walking up directory tree
10
- *
11
- * @param startDir - Directory to start search from
12
- * @returns Project root path or null if not found
13
- *
14
- * @remarks
15
- * Can be overridden with VAT_TEST_ROOT environment variable for testing.
16
- * This allows tests to specify an exact project root without relying on
17
- * directory structure (.git or config file presence).
18
- *
19
- * @example
20
- * ```typescript
21
- * // Normal usage
22
- * const root = findProjectRoot(process.cwd());
23
- *
24
- * // Test usage with override
25
- * process.env.VAT_TEST_ROOT = '/path/to/test/fixtures';
26
- * const root = findProjectRoot(process.cwd()); // Returns /path/to/test/fixtures
27
- * ```
28
- */
29
- export declare function findProjectRoot(startDir: string): string | null;
30
- //# sourceMappingURL=project-root.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-root.d.ts","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA+B/D"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Project root detection utility
3
- * Walks up directory tree to find .git or vibe-agent-toolkit.config.yaml
4
- *
5
- * Environment Variables:
6
- * - VAT_TEST_ROOT: Override project root for testing (bypasses detection)
7
- */
8
- import * as fs from 'node:fs';
9
- import * as path from 'node:path';
10
- import { safePath } from '@vibe-agent-toolkit/utils';
11
- /**
12
- * Find project root by walking up directory tree
13
- *
14
- * @param startDir - Directory to start search from
15
- * @returns Project root path or null if not found
16
- *
17
- * @remarks
18
- * Can be overridden with VAT_TEST_ROOT environment variable for testing.
19
- * This allows tests to specify an exact project root without relying on
20
- * directory structure (.git or config file presence).
21
- *
22
- * @example
23
- * ```typescript
24
- * // Normal usage
25
- * const root = findProjectRoot(process.cwd());
26
- *
27
- * // Test usage with override
28
- * process.env.VAT_TEST_ROOT = '/path/to/test/fixtures';
29
- * const root = findProjectRoot(process.cwd()); // Returns /path/to/test/fixtures
30
- * ```
31
- */
32
- export function findProjectRoot(startDir) {
33
- // Override for testing: VAT_TEST_ROOT bypasses detection
34
- if (process.env['VAT_TEST_ROOT']) {
35
- return process.env['VAT_TEST_ROOT'];
36
- }
37
- let current = safePath.resolve(startDir);
38
- const root = path.parse(current).root;
39
- while (current !== root) {
40
- // Check for .git directory
41
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- path walking is intentional
42
- if (fs.existsSync(safePath.join(current, '.git'))) {
43
- return current;
44
- }
45
- // Check for config file
46
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- path walking is intentional
47
- if (fs.existsSync(safePath.join(current, 'vibe-agent-toolkit.config.yaml'))) {
48
- return current;
49
- }
50
- // Move up one directory
51
- const parent = path.dirname(current);
52
- if (parent === current) {
53
- break; // Reached root
54
- }
55
- current = parent;
56
- }
57
- return null;
58
- }
59
- //# sourceMappingURL=project-root.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-root.js","sourceRoot":"","sources":["../../src/utils/project-root.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAErD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,eAAe,CAAC,QAAgB;IAC9C,yDAAyD;IACzD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACjC,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC;IAEtC,OAAO,OAAO,KAAK,IAAI,EAAE,CAAC;QACxB,2BAA2B;QAC3B,kGAAkG;QAClG,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;YAClD,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,wBAAwB;QACxB,kGAAkG;QAClG,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC,EAAE,CAAC;YAC5E,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,wBAAwB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,MAAM,CAAC,eAAe;QACxB,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}