@vibe-agent-toolkit/cli 0.1.41-rc.6 → 0.1.41-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -3
- package/dist/bin/vat +25 -2
- package/dist/bin/vat.js +25 -2
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +12 -1
- 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/hierarchical-output.d.ts +6 -2
- package/dist/commands/audit/hierarchical-output.d.ts.map +1 -1
- package/dist/commands/audit/hierarchical-output.js +93 -50
- package/dist/commands/audit/hierarchical-output.js.map +1 -1
- package/dist/commands/audit-settings.d.ts +35 -0
- package/dist/commands/audit-settings.d.ts.map +1 -1
- package/dist/commands/audit-settings.js +121 -51
- package/dist/commands/audit-settings.js.map +1 -1
- package/dist/commands/audit.d.ts +97 -2
- package/dist/commands/audit.d.ts.map +1 -1
- package/dist/commands/audit.js +505 -231
- 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 +126 -32
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.d.ts +39 -2
- package/dist/commands/claude/marketplace/license-utils.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/license-utils.js +114 -68
- package/dist/commands/claude/marketplace/license-utils.js.map +1 -1
- package/dist/commands/claude/marketplace/publish.js +5 -4
- package/dist/commands/claude/marketplace/publish.js.map +1 -1
- package/dist/commands/claude/marketplace/validate.d.ts +97 -0
- package/dist/commands/claude/marketplace/validate.d.ts.map +1 -1
- package/dist/commands/claude/marketplace/validate.js +157 -49
- package/dist/commands/claude/marketplace/validate.js.map +1 -1
- package/dist/commands/claude/org/skills.d.ts +11 -3
- package/dist/commands/claude/org/skills.d.ts.map +1 -1
- package/dist/commands/claude/org/skills.js +70 -20
- package/dist/commands/claude/org/skills.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 +116 -0
- package/dist/commands/claude/plugin/build.d.ts.map +1 -1
- package/dist/commands/claude/plugin/build.js +173 -40
- package/dist/commands/claude/plugin/build.js.map +1 -1
- package/dist/commands/claude/plugin/marketplace-json.d.ts +36 -0
- package/dist/commands/claude/plugin/marketplace-json.d.ts.map +1 -0
- package/dist/commands/claude/plugin/marketplace-json.js +34 -0
- package/dist/commands/claude/plugin/marketplace-json.js.map +1 -0
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts +30 -1
- package/dist/commands/claude/plugin/plugin-json-merge.d.ts.map +1 -1
- package/dist/commands/claude/plugin/plugin-json-merge.js +107 -14
- package/dist/commands/claude/plugin/plugin-json-merge.js.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.d.ts.map +1 -1
- package/dist/commands/claude/plugin/tree-copy.js +0 -1
- 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 +55 -48
- package/dist/commands/corpus/runner.js.map +1 -1
- package/dist/commands/doctor.d.ts +57 -8
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +142 -67
- 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 +240 -11
- package/dist/commands/phase-utils.d.ts.map +1 -1
- package/dist/commands/phase-utils.js +352 -15
- package/dist/commands/phase-utils.js.map +1 -1
- 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 +38 -13
- 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 +121 -68
- package/dist/commands/resources/validate.js.map +1 -1
- package/dist/commands/skill/review.d.ts.map +1 -1
- package/dist/commands/skill/review.js +40 -23
- 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 +140 -0
- package/dist/commands/skills/build.d.ts.map +1 -1
- package/dist/commands/skills/build.js +348 -94
- 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 +17 -0
- package/dist/commands/skills/package.d.ts.map +1 -1
- package/dist/commands/skills/package.js +72 -43
- package/dist/commands/skills/package.js.map +1 -1
- package/dist/commands/skills/skill-discovery.d.ts.map +1 -1
- package/dist/commands/skills/skill-discovery.js +9 -1
- package/dist/commands/skills/skill-discovery.js.map +1 -1
- package/dist/commands/skills/validate-command.d.ts.map +1 -1
- package/dist/commands/skills/validate-command.js +22 -6
- package/dist/commands/skills/validate-command.js.map +1 -1
- package/dist/commands/skills/validate.d.ts +79 -0
- package/dist/commands/skills/validate.d.ts.map +1 -1
- package/dist/commands/skills/validate.js +268 -79
- 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 +79 -66
- package/dist/commands/validate.js.map +1 -1
- package/dist/commands/verify.d.ts +38 -1
- package/dist/commands/verify.d.ts.map +1 -1
- package/dist/commands/verify.js +247 -84
- 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/config-loader.d.ts.map +1 -1
- package/dist/utils/config-loader.js +0 -2
- package/dist/utils/config-loader.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-anchor.d.ts +26 -0
- package/dist/utils/issue-anchor.d.ts.map +1 -0
- package/dist/utils/issue-anchor.js +39 -0
- package/dist/utils/issue-anchor.js.map +1 -0
- package/dist/utils/issue-rendering.d.ts +149 -0
- package/dist/utils/issue-rendering.d.ts.map +1 -0
- package/dist/utils/issue-rendering.js +229 -0
- package/dist/utils/issue-rendering.js.map +1 -0
- package/dist/utils/output.d.ts +80 -9
- package/dist/utils/output.d.ts.map +1 -1
- package/dist/utils/output.js +138 -23
- package/dist/utils/output.js.map +1 -1
- package/dist/utils/project-root-policy.d.ts +2 -2
- package/dist/utils/project-root-policy.js +2 -2
- 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/validate-help-files.d.ts +3 -2
- package/dist/utils/validate-help-files.d.ts.map +1 -1
- package/dist/utils/validate-help-files.js +48 -5
- package/dist/utils/validate-help-files.js.map +1 -1
- package/dist/utils/verdict-helpers.d.ts +14 -5
- package/dist/utils/verdict-helpers.d.ts.map +1 -1
- package/dist/utils/verdict-helpers.js +19 -16
- package/dist/utils/verdict-helpers.js.map +1 -1
- package/docs/audit.md +40 -14
- package/docs/doctor.md +46 -10
- package/docs/index.md +1 -1
- package/docs/rag.md +9 -4
- package/docs/resources.md +54 -22
- package/docs/skills.md +11 -7
- package/package.json +12 -12
package/docs/audit.md
CHANGED
|
@@ -183,9 +183,9 @@ detection strategy doc, workstream B).
|
|
|
183
183
|
status: success
|
|
184
184
|
summary:
|
|
185
185
|
filesScanned: 42
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
186
|
+
filesPassed: 40
|
|
187
|
+
filesWithWarnings: 2
|
|
188
|
+
filesWithErrors: 0
|
|
189
189
|
marketplaces: 2
|
|
190
190
|
standalonePlugins: 3
|
|
191
191
|
standaloneSkills: 5
|
|
@@ -313,31 +313,57 @@ Warnings indicate potential issues but don't prevent usage:
|
|
|
313
313
|
Structured YAML report for programmatic parsing:
|
|
314
314
|
|
|
315
315
|
```yaml
|
|
316
|
+
root: /abs/path/to/scan/root # The ONE absolute path in the document
|
|
316
317
|
status: success | warning | error
|
|
317
318
|
summary:
|
|
318
319
|
filesScanned: number
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
errors: number
|
|
324
|
-
warnings: number
|
|
325
|
-
info: number
|
|
320
|
+
filesPassed: number # Files with no ACTIONABLE issues (info-only counts as passed)
|
|
321
|
+
filesWithWarnings: number # Files whose worst actionable severity is warning
|
|
322
|
+
filesWithErrors: number # Files carrying at least one error
|
|
323
|
+
issueCounts: # FINDINGS, not files — same field name and meaning
|
|
324
|
+
errors: number # as the `issueCounts` on each entry below
|
|
325
|
+
warnings: number
|
|
326
|
+
info: number
|
|
326
327
|
duration: "123ms"
|
|
327
328
|
files:
|
|
328
|
-
- path: /
|
|
329
|
+
- path: plugins/my-plugin # relative to `root`
|
|
329
330
|
status: success | warning | error
|
|
330
331
|
type: plugin | marketplace | registry | skill
|
|
331
|
-
issues:
|
|
332
|
+
issues:
|
|
333
|
+
- location: plugins/my-plugin/.claude-plugin/plugin.json # relative to `root`
|
|
332
334
|
```
|
|
333
335
|
|
|
336
|
+
#### One stated root, and everything relative to it
|
|
337
|
+
|
|
338
|
+
`root` is the invocation scan root and the only absolute path a report contains.
|
|
339
|
+
Every `path` and every issue `location` beneath it is forward-slashed and
|
|
340
|
+
relative to that root, so:
|
|
341
|
+
|
|
342
|
+
- `join(root, path)` and `join(root, location)` name real files — a consumer
|
|
343
|
+
never has to guess, or reimplement, the base a value was written against.
|
|
344
|
+
- A `location` identifies a file uniquely across the whole document, even when a
|
|
345
|
+
run spans several projects that share internal layout (two `plugins/plugin-a`
|
|
346
|
+
directories under different parents cannot collapse to one string).
|
|
347
|
+
- Nothing but `root` can leak the developer's or CI runner's home directory.
|
|
348
|
+
|
|
349
|
+
The scan root is an ANCHOR, not a validation-policy boundary. Per-skill
|
|
350
|
+
packaging rules still come from each skill's nearest-ancestor
|
|
351
|
+
`vibe-agent-toolkit.config.yaml` (configs do not compose); that discovery has no
|
|
352
|
+
say in how a path is spelled.
|
|
353
|
+
|
|
354
|
+
`--user` scans three sibling directories (`plugins/`, `skills/`,
|
|
355
|
+
`marketplaces/`), so its `root` is their shared Claude config dir
|
|
356
|
+
(`$CLAUDE_CONFIG_DIR`, else `~/.claude`). A URL audit omits `root`: the clone
|
|
357
|
+
lives in a random tempdir that nothing downstream can resolve, so the provenance
|
|
358
|
+
header states the base instead and paths are relative to the cloned repo.
|
|
359
|
+
|
|
334
360
|
### Standard Error (stderr)
|
|
335
361
|
|
|
336
|
-
Human-readable error messages and logs:
|
|
362
|
+
Human-readable error messages and logs. Paths are root-relative here too:
|
|
337
363
|
|
|
338
364
|
```
|
|
339
365
|
ERROR: Audit failed: 2 file(s) with errors
|
|
340
|
-
ERROR: /
|
|
366
|
+
ERROR: skills/my-skill/SKILL.md:
|
|
341
367
|
ERROR: [SKILL_MISSING_NAME] name field is required in frontmatter
|
|
342
368
|
ERROR: at: line 1
|
|
343
369
|
ERROR: fix: Add 'name: skill-name' to frontmatter
|
package/docs/doctor.md
CHANGED
|
@@ -21,13 +21,24 @@ providing actionable suggestions for any problems found.
|
|
|
21
21
|
7. CLI build status (when running from VAT source tree)
|
|
22
22
|
|
|
23
23
|
**Options:**
|
|
24
|
-
- `--verbose` - Show all checks (including passing ones)
|
|
24
|
+
- `--verbose` - Show all checks (including passing and skipped ones)
|
|
25
|
+
|
|
26
|
+
**Check outcomes:**
|
|
27
|
+
|
|
28
|
+
| Icon | Outcome | Meaning |
|
|
29
|
+
|------|---------|---------|
|
|
30
|
+
| ✅ | `pass` | The check ran and the thing is fine |
|
|
31
|
+
| ❌ | `fail` | The check ran and the thing is wrong — the only outcome that affects the exit code |
|
|
32
|
+
| ❓ | `undetermined` | The check could not reach an answer (registry unreachable, file unreadable). **Nothing was verified** — this is not a pass |
|
|
33
|
+
| ⏭️ | `skipped` | The check does not apply here (e.g. a VAT-source-tree-only check outside the source tree) |
|
|
25
34
|
|
|
26
35
|
**Exit Codes:**
|
|
27
|
-
- `0` -
|
|
36
|
+
- `0` - No check failed (an undetermined check is reported in the output, not fatal)
|
|
28
37
|
- `1` - One or more checks failed
|
|
29
38
|
|
|
30
|
-
**Output:** Human-friendly formatted text with emojis
|
|
39
|
+
**Output:** Human-friendly formatted text with emojis. The summary always prints the
|
|
40
|
+
full outcome distribution and, when the concise view hides checks, how many it hid —
|
|
41
|
+
so the counts can never contradict the list above them.
|
|
31
42
|
|
|
32
43
|
## Usage Examples
|
|
33
44
|
|
|
@@ -39,17 +50,34 @@ Check all diagnostic items and show only failures:
|
|
|
39
50
|
vat doctor
|
|
40
51
|
```
|
|
41
52
|
|
|
42
|
-
Output when all checks pass:
|
|
53
|
+
Output when all checks pass (the concise view prints no check blocks, and says so):
|
|
43
54
|
```
|
|
44
55
|
🩺 vat doctor
|
|
45
56
|
|
|
46
57
|
Running diagnostic checks...
|
|
47
58
|
|
|
48
|
-
📊 Results: 7
|
|
59
|
+
📊 Results: 7 checks — 7 passed, 0 failed, 0 undetermined, 0 skipped
|
|
60
|
+
7 not shown (nothing to report) — re-run with --verbose to see every check.
|
|
49
61
|
|
|
50
62
|
✨ All checks passed! Your vat setup looks healthy.
|
|
51
63
|
```
|
|
52
64
|
|
|
65
|
+
Output when a check could not be determined (here: the npm registry was unreachable):
|
|
66
|
+
```
|
|
67
|
+
🩺 vat doctor
|
|
68
|
+
|
|
69
|
+
Running diagnostic checks...
|
|
70
|
+
|
|
71
|
+
❓ vat version
|
|
72
|
+
Unable to check for updates: not found: npm
|
|
73
|
+
|
|
74
|
+
📊 Results: 7 checks — 6 passed, 0 failed, 1 undetermined, 0 skipped
|
|
75
|
+
6 not shown (nothing to report) — re-run with --verbose to see every check.
|
|
76
|
+
|
|
77
|
+
❓ Nothing failed, but 1 check(s) could not be determined — that is not the same as healthy.
|
|
78
|
+
```
|
|
79
|
+
Exit code is still `0` — nothing failed — but the run is *not* reported as healthy.
|
|
80
|
+
|
|
53
81
|
### Verbose Mode
|
|
54
82
|
|
|
55
83
|
Show all checks including passing ones:
|
|
@@ -85,7 +113,7 @@ Running diagnostic checks...
|
|
|
85
113
|
✅ CLI build status
|
|
86
114
|
Build is up to date (v0.1.0)
|
|
87
115
|
|
|
88
|
-
📊 Results: 7
|
|
116
|
+
📊 Results: 7 checks — 7 passed, 0 failed, 0 undetermined, 0 skipped
|
|
89
117
|
|
|
90
118
|
✨ All checks passed! Your vat setup looks healthy.
|
|
91
119
|
```
|
|
@@ -110,7 +138,8 @@ Output:
|
|
|
110
138
|
|
|
111
139
|
Running diagnostic checks...
|
|
112
140
|
|
|
113
|
-
📊 Results: 7
|
|
141
|
+
📊 Results: 7 checks — 7 passed, 0 failed, 0 undetermined, 0 skipped
|
|
142
|
+
7 not shown (nothing to report) — re-run with --verbose to see every check.
|
|
114
143
|
|
|
115
144
|
✨ All checks passed! Your vat setup looks healthy.
|
|
116
145
|
```
|
|
@@ -250,14 +279,20 @@ fi
|
|
|
250
279
|
### VAT Version Check
|
|
251
280
|
|
|
252
281
|
- **Purpose:** Inform about available updates (advisory only)
|
|
253
|
-
- **
|
|
282
|
+
- **Never fails:** an available update is a `pass` with a suggestion
|
|
283
|
+
- **Undetermined:** if the npm registry cannot be reached, the outcome is
|
|
284
|
+
`undetermined` (❓), not `pass` — doctor did not verify that you are current
|
|
254
285
|
- **Suggestion:** Shows upgrade command if update available
|
|
255
286
|
|
|
256
287
|
### CLI Build Status Check
|
|
257
288
|
|
|
258
289
|
- **When:** Only runs when in VAT source tree
|
|
259
290
|
- **Purpose:** Ensure CLI build matches source version (for VAT developers)
|
|
260
|
-
- **Skipped:** When running installed VAT globally
|
|
291
|
+
- **Skipped (⏭️):** When running installed VAT globally, or when no project root
|
|
292
|
+
was detected — the check does not apply
|
|
293
|
+
- **Undetermined (❓):** When the version files exist but cannot be read or
|
|
294
|
+
parsed. Doctor cannot tell whether the build is stale, which is different from
|
|
295
|
+
the check not applying
|
|
261
296
|
- **Fix:** Run `bun run build` in VAT source directory
|
|
262
297
|
|
|
263
298
|
## Requirements
|
|
@@ -278,4 +313,5 @@ for terminology.
|
|
|
278
313
|
- Run `vat doctor` before reporting issues to verify environment
|
|
279
314
|
- Use `--verbose` flag when debugging to see all check details
|
|
280
315
|
- Doctor checks can be run from any subdirectory in your project
|
|
281
|
-
- Exit code 0 means
|
|
316
|
+
- Exit code 0 means no check *failed*; read the counts line to see whether any
|
|
317
|
+
check was undetermined (useful for scripts)
|
package/docs/index.md
CHANGED
|
@@ -102,7 +102,7 @@ Diagnose vat setup and environment health
|
|
|
102
102
|
|
|
103
103
|
**Exit codes:**
|
|
104
104
|
|
|
105
|
-
- `0` -
|
|
105
|
+
- `0` - No check failed (a check that could not be determined is reported as ❓, not fatal)
|
|
106
106
|
- `1` - One or more checks failed
|
|
107
107
|
|
|
108
108
|
**Creates/modifies:** None (read-only diagnostics)
|
package/docs/rag.md
CHANGED
|
@@ -36,10 +36,15 @@ vat rag clear
|
|
|
36
36
|
5. Supports incremental updates (skips files with unchanged content)
|
|
37
37
|
|
|
38
38
|
**Path Argument Behavior:**
|
|
39
|
-
- `[path]`
|
|
40
|
-
- Recursively finds all `*.md` files under that directory
|
|
41
|
-
-
|
|
42
|
-
-
|
|
39
|
+
- `[path]` restricts the crawl to that subtree of the project
|
|
40
|
+
- Recursively finds all `*.md` / `*.html` files under that directory
|
|
41
|
+
- The path **replaces** the config's `resources.include` patterns
|
|
42
|
+
- The config's `resources.exclude` patterns **still apply**, so a path run never
|
|
43
|
+
indexes build output or vendored trees the project excluded
|
|
44
|
+
- If the path lies outside the project root the config's patterns cannot apply;
|
|
45
|
+
they are dropped and a warning is printed
|
|
46
|
+
- To index the project's full configured set, run without a path argument:
|
|
47
|
+
`vat rag index`
|
|
43
48
|
|
|
44
49
|
**Options:**
|
|
45
50
|
- `[path]` - Base directory to crawl (defaults to current directory)
|
package/docs/resources.md
CHANGED
|
@@ -18,14 +18,19 @@ including link integrity checking and anchor validation.
|
|
|
18
18
|
4. Exits 0 always (informational only)
|
|
19
19
|
|
|
20
20
|
**Path Argument:**
|
|
21
|
-
- `[path]`
|
|
22
|
-
- Recursively finds all `*.md` files under that directory
|
|
23
|
-
-
|
|
24
|
-
-
|
|
21
|
+
- `[path]` restricts the scan to that subtree of the project
|
|
22
|
+
- Recursively finds all `*.md` / `*.html` files under that directory
|
|
23
|
+
- The path **replaces** the config's `resources.include` patterns
|
|
24
|
+
- The config's `resources.exclude` patterns **still apply** — a path run never
|
|
25
|
+
scans build output, vendored trees, or test fixtures the project excluded
|
|
26
|
+
- To scan the project's full configured set, run without a path argument:
|
|
27
|
+
`vat resources scan`
|
|
25
28
|
|
|
26
29
|
**Options:**
|
|
27
30
|
- `[path]` - Base directory to crawl (defaults to current directory)
|
|
28
31
|
- `--debug` - Enable debug logging
|
|
32
|
+
- `--verbose` - Add a `files:` list with per-file link/anchor counts and checksums
|
|
33
|
+
- `--collection <id>` - Only report files in the named collection (config mode — no path argument)
|
|
29
34
|
|
|
30
35
|
**Exit Codes:**
|
|
31
36
|
- `0` - Always (scan is informational)
|
|
@@ -33,23 +38,28 @@ including link integrity checking and anchor validation.
|
|
|
33
38
|
|
|
34
39
|
**Output:** YAML on stdout, logs on stderr
|
|
35
40
|
|
|
41
|
+
`root` is stated once and is the only absolute path in the document; every
|
|
42
|
+
`path` beneath it is relative to it.
|
|
43
|
+
|
|
36
44
|
**Example:**
|
|
37
45
|
```bash
|
|
38
46
|
# Recursively scan all *.md files under docs/
|
|
39
|
-
vat resources scan docs/
|
|
47
|
+
vat resources scan docs/ --verbose
|
|
40
48
|
# Equivalent to: find all files matching docs/**/*.md pattern
|
|
41
49
|
|
|
42
50
|
# Output:
|
|
43
51
|
# ---
|
|
44
52
|
# status: success
|
|
53
|
+
# root: /home/you/my-project
|
|
45
54
|
# filesScanned: 12
|
|
46
55
|
# linksFound: 47
|
|
47
56
|
# anchorsFound: 23
|
|
57
|
+
# durationSecs: 0.234
|
|
48
58
|
# files:
|
|
49
59
|
# - path: docs/README.md
|
|
50
60
|
# links: 5
|
|
51
61
|
# anchors: 3
|
|
52
|
-
#
|
|
62
|
+
# checksum: 47dd7b50af765df240fe2514f029fc697c907fc37a3267e22060f2f9f611975c
|
|
53
63
|
# ---
|
|
54
64
|
```
|
|
55
65
|
|
|
@@ -78,14 +88,21 @@ for the loud-cwd fallback policy and the projectRoot discovery ladder.
|
|
|
78
88
|
4. Exits 0 if valid, 1 if errors found
|
|
79
89
|
|
|
80
90
|
**Path Argument:**
|
|
81
|
-
- `[path]`
|
|
82
|
-
- Recursively finds all `*.md` files under that directory
|
|
83
|
-
-
|
|
84
|
-
-
|
|
91
|
+
- `[path]` restricts the scan to that subtree of the project
|
|
92
|
+
- Recursively finds all `*.md` / `*.html` files under that directory
|
|
93
|
+
- The path **replaces** the config's `resources.include` patterns
|
|
94
|
+
- The config's `resources.exclude` patterns **still apply** — a path run never
|
|
95
|
+
scans build output, vendored trees, or test fixtures the project excluded
|
|
96
|
+
- To scan the project's full configured set, run without a path argument:
|
|
97
|
+
`vat resources validate`
|
|
85
98
|
|
|
86
99
|
**Options:**
|
|
87
100
|
- `[path]` - Base directory to crawl (defaults to current directory)
|
|
88
101
|
- `--debug` - Enable debug logging
|
|
102
|
+
- `-v, --verbose` - Show all scanned resources, including those without issues. By
|
|
103
|
+
default `issues` carries one counts-only row per file with findings
|
|
104
|
+
(`{file, errors?, warnings?, info?, codes}`); `--verbose` replaces each row with
|
|
105
|
+
its per-issue detail. Every other output field is identical in both modes.
|
|
89
106
|
- `--no-check-frontmatter-links` - Skip frontmatter URI-reference link validation across all collections (default: enabled)
|
|
90
107
|
|
|
91
108
|
**Exit Codes:**
|
|
@@ -108,8 +125,7 @@ vat resources validate docs/
|
|
|
108
125
|
# status: success
|
|
109
126
|
# filesScanned: 12
|
|
110
127
|
# linksChecked: 47
|
|
111
|
-
#
|
|
112
|
-
# duration: 456ms
|
|
128
|
+
# durationSecs: 0.456
|
|
113
129
|
# ---
|
|
114
130
|
```
|
|
115
131
|
|
|
@@ -117,21 +133,26 @@ vat resources validate docs/
|
|
|
117
133
|
```bash
|
|
118
134
|
vat resources validate docs/
|
|
119
135
|
|
|
120
|
-
# stderr:
|
|
121
|
-
# docs/README.md:15:25: Link target not found: ./missing.md
|
|
122
|
-
# docs/guide.md:42:10: Broken anchor: #non-existent-section
|
|
136
|
+
# stderr: (file:line:column: severity: message — only `error` fails the run)
|
|
137
|
+
# docs/README.md:15:25: error: Link target not found: ./missing.md
|
|
138
|
+
# docs/guide.md:42:10: error: Broken anchor: #non-existent-section
|
|
123
139
|
|
|
124
140
|
# stdout:
|
|
125
141
|
# ---
|
|
126
|
-
# status:
|
|
142
|
+
# status: error
|
|
127
143
|
# errorsFound: 2
|
|
128
|
-
#
|
|
144
|
+
# filesWithErrors: 2
|
|
145
|
+
# issueCounts: { errors: 2, warnings: 0, info: 0 }
|
|
146
|
+
# issueSummary: { LINK_BROKEN_FILE: 1, LINK_BROKEN_ANCHOR: 1 }
|
|
147
|
+
# issues:
|
|
129
148
|
# - file: docs/README.md
|
|
130
|
-
#
|
|
131
|
-
#
|
|
132
|
-
#
|
|
133
|
-
#
|
|
134
|
-
#
|
|
149
|
+
# issues:
|
|
150
|
+
# - line: 15
|
|
151
|
+
# column: 25
|
|
152
|
+
# code: LINK_BROKEN_FILE
|
|
153
|
+
# severity: error
|
|
154
|
+
# message: Link target not found: ./missing.md
|
|
155
|
+
# durationSecs: 0.456
|
|
135
156
|
# ---
|
|
136
157
|
```
|
|
137
158
|
|
|
@@ -182,6 +203,17 @@ resources:
|
|
|
182
203
|
FRONTMATTER_SCHEMA_ERROR: error
|
|
183
204
|
```
|
|
184
205
|
|
|
206
|
+
**Dot-directories are scanned.** `**` traverses path segments beginning with a
|
|
207
|
+
dot, so the default `**/*.md` reaches `.claude/`, `.github/` and the like — as do
|
|
208
|
+
your own patterns. Visibility is decided by git and by `exclude`, never by a
|
|
209
|
+
leading dot. To keep a dotted tree out of the scan, exclude it by name:
|
|
210
|
+
|
|
211
|
+
```yaml
|
|
212
|
+
resources:
|
|
213
|
+
exclude:
|
|
214
|
+
- ".claude/worktrees/**"
|
|
215
|
+
```
|
|
216
|
+
|
|
185
217
|
## Integration with vibe-validate
|
|
186
218
|
|
|
187
219
|
The test-format error output (stderr) integrates seamlessly with vibe-validate:
|
package/docs/skills.md
CHANGED
|
@@ -22,9 +22,9 @@ skills:
|
|
|
22
22
|
LINK_TO_NAVIGATION_FILE: ignore # this skill links to READMEs on purpose
|
|
23
23
|
ALLOW_EXPIRED: error # zero-tolerance expiry
|
|
24
24
|
allow:
|
|
25
|
-
|
|
25
|
+
LINK_TO_GITIGNORED_FILE:
|
|
26
26
|
- paths: ["templates/runtime.json"]
|
|
27
|
-
reason: "
|
|
27
|
+
reason: "generated at install time, deliberately untracked"
|
|
28
28
|
expires: "2026-09-30"
|
|
29
29
|
SKILL_LENGTH_EXCEEDS_RECOMMENDED:
|
|
30
30
|
- reason: "whole-skill concern; paths defaults to ['**/*']"
|
|
@@ -362,11 +362,14 @@ to override (single-skill sources only).
|
|
|
362
362
|
| `windsurf` | `~/.codeium/windsurf/skills/` | `.windsurf/skills/` |
|
|
363
363
|
| `agents` | `~/.agents/skills/` | `.agents/skills/` |
|
|
364
364
|
|
|
365
|
-
These paths were last reviewed against
|
|
366
|
-
not verified at build or test time
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
365
|
+
These paths were last reviewed against each platform's own published docs on
|
|
366
|
+
2026-07-30 (all fourteen unchanged) and are not verified at build or test time.
|
|
367
|
+
The tests derive their expectations from the table and assert invariants of it —
|
|
368
|
+
every target present, both scopes relative and forward-slash only, and that the
|
|
369
|
+
resolver composes base + relative path. No test can check that a path is where a
|
|
370
|
+
platform actually looks. If a vendor moves its convention, installs land
|
|
371
|
+
somewhere unread and every VAT check still passes. Re-check the vendor's
|
|
372
|
+
documentation before relying on a non-`claude` target.
|
|
370
373
|
|
|
371
374
|
**Visibility:** VAT's own inspection commands are Claude-scoped — `vat skills
|
|
372
375
|
list --user` and `vat audit --user` read `~/.claude` only. A skill installed to
|
|
@@ -495,6 +498,7 @@ only when the `SKILL.md` declares none.
|
|
|
495
498
|
**Output Format:**
|
|
496
499
|
```yaml
|
|
497
500
|
status: success
|
|
501
|
+
root: /abs/path/to/project
|
|
498
502
|
context: project | user
|
|
499
503
|
skillsFound: 3
|
|
500
504
|
skills:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/cli",
|
|
3
|
-
"version": "0.1.41-rc.
|
|
3
|
+
"version": "0.1.41-rc.8",
|
|
4
4
|
"description": "Command-line interface for vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -41,16 +41,16 @@
|
|
|
41
41
|
"//dependencies-note": "DO NOT add example agent packages or adopter packages here. Adopter packages (like vat-development-agents) depend on the CLI binary at build time — declaring them as deps creates a circular build dependency. They are built in a second turbo pass via package#task overrides in turbo.json.",
|
|
42
42
|
"dependencies": {
|
|
43
43
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
44
|
-
"@vibe-agent-toolkit/agent-config": "0.1.41-rc.
|
|
45
|
-
"@vibe-agent-toolkit/agent-schema": "0.1.41-rc.
|
|
46
|
-
"@vibe-agent-toolkit/agent-skills": "0.1.41-rc.
|
|
47
|
-
"@vibe-agent-toolkit/claude-marketplace": "0.1.41-rc.
|
|
48
|
-
"@vibe-agent-toolkit/discovery": "0.1.41-rc.
|
|
49
|
-
"@vibe-agent-toolkit/gateway-mcp": "0.1.41-rc.
|
|
50
|
-
"@vibe-agent-toolkit/rag": "0.1.41-rc.
|
|
51
|
-
"@vibe-agent-toolkit/rag-lancedb": "0.1.41-rc.
|
|
52
|
-
"@vibe-agent-toolkit/resources": "0.1.41-rc.
|
|
53
|
-
"@vibe-agent-toolkit/utils": "0.1.41-rc.
|
|
44
|
+
"@vibe-agent-toolkit/agent-config": "0.1.41-rc.8",
|
|
45
|
+
"@vibe-agent-toolkit/agent-schema": "0.1.41-rc.8",
|
|
46
|
+
"@vibe-agent-toolkit/agent-skills": "0.1.41-rc.8",
|
|
47
|
+
"@vibe-agent-toolkit/claude-marketplace": "0.1.41-rc.8",
|
|
48
|
+
"@vibe-agent-toolkit/discovery": "0.1.41-rc.8",
|
|
49
|
+
"@vibe-agent-toolkit/gateway-mcp": "0.1.41-rc.8",
|
|
50
|
+
"@vibe-agent-toolkit/rag": "0.1.41-rc.8",
|
|
51
|
+
"@vibe-agent-toolkit/rag-lancedb": "0.1.41-rc.8",
|
|
52
|
+
"@vibe-agent-toolkit/resources": "0.1.41-rc.8",
|
|
53
|
+
"@vibe-agent-toolkit/utils": "0.1.41-rc.8",
|
|
54
54
|
"adm-zip": "^0.6.0",
|
|
55
55
|
"commander": "^12.1.0",
|
|
56
56
|
"picomatch": "^4.0.3",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@types/picomatch": "^4.0.2",
|
|
66
66
|
"@types/semver": "^7.7.1",
|
|
67
67
|
"@types/tar": "^6.1.13",
|
|
68
|
-
"@vibe-agent-toolkit/dev-tools": "0.1.41-rc.
|
|
68
|
+
"@vibe-agent-toolkit/dev-tools": "0.1.41-rc.8",
|
|
69
69
|
"rimraf": "^6.0.1",
|
|
70
70
|
"typescript": "^5.7.3",
|
|
71
71
|
"vitest": "^3.2.4"
|