@vibe-agent-toolkit/cli 0.1.0-rc.9 → 0.1.0
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.d.ts +13 -2
- package/dist/bin/vat.d.ts.map +1 -1
- package/dist/bin/vat.js +147 -25
- package/dist/bin/vat.js.map +1 -1
- package/dist/bin.js +7 -2
- package/dist/bin.js.map +1 -1
- package/dist/commands/resources/index.js +1 -1
- package/dist/commands/resources/index.js.map +1 -1
- package/docs/index.md +270 -26
- package/package.json +8 -8
package/dist/bin/vat.d.ts
CHANGED
|
@@ -1,7 +1,18 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Smart wrapper
|
|
4
|
-
*
|
|
3
|
+
* Smart vat wrapper with context-aware execution
|
|
4
|
+
*
|
|
5
|
+
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - Developer mode: Inside vibe-agent-toolkit repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
|
+
* - Local install: Project has vibe-agent-toolkit → node_modules version (packaged)
|
|
8
|
+
* - Global install: Fallback → globally installed version (packaged)
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Version detection and comparison
|
|
12
|
+
* - Debug mode (VAT_DEBUG=1) shows resolution details
|
|
13
|
+
* - Works from any subdirectory within the repo
|
|
14
|
+
*
|
|
15
|
+
* Works in both git and non-git directories.
|
|
5
16
|
*/
|
|
6
17
|
export {};
|
|
7
18
|
//# sourceMappingURL=vat.d.ts.map
|
package/dist/bin/vat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat.d.ts","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"vat.d.ts","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG"}
|
package/dist/bin/vat.js
CHANGED
|
@@ -1,10 +1,21 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
/**
|
|
3
|
-
* Smart wrapper
|
|
4
|
-
*
|
|
3
|
+
* Smart vat wrapper with context-aware execution
|
|
4
|
+
*
|
|
5
|
+
* Automatically detects execution context and delegates to appropriate binary:
|
|
6
|
+
* - Developer mode: Inside vibe-agent-toolkit repo → packages/cli/dist/bin.js (unpackaged dev build)
|
|
7
|
+
* - Local install: Project has vibe-agent-toolkit → node_modules version (packaged)
|
|
8
|
+
* - Global install: Fallback → globally installed version (packaged)
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - Version detection and comparison
|
|
12
|
+
* - Debug mode (VAT_DEBUG=1) shows resolution details
|
|
13
|
+
* - Works from any subdirectory within the repo
|
|
14
|
+
*
|
|
15
|
+
* Works in both git and non-git directories.
|
|
5
16
|
*/
|
|
6
17
|
import { spawnSync } from 'node:child_process';
|
|
7
|
-
import { existsSync } from 'node:fs';
|
|
18
|
+
import { existsSync, readFileSync } from 'node:fs';
|
|
8
19
|
import { resolve, dirname, join } from 'node:path';
|
|
9
20
|
import { fileURLToPath } from 'node:url';
|
|
10
21
|
import { findProjectRoot } from '../utils/project-root.js';
|
|
@@ -22,31 +33,142 @@ function spawnCli(binPath, context, contextPath) {
|
|
|
22
33
|
});
|
|
23
34
|
process.exit(result.status ?? 1);
|
|
24
35
|
}
|
|
25
|
-
|
|
26
|
-
if (
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
36
|
+
/**
|
|
37
|
+
* Check if we're in vibe-agent-toolkit repo (developer mode)
|
|
38
|
+
* Simple detection: both wrapper and bin.js must exist in project structure
|
|
39
|
+
*
|
|
40
|
+
* @param projectRoot - Root directory of the project
|
|
41
|
+
* @returns Path to bin.js if detected, null otherwise
|
|
42
|
+
*/
|
|
43
|
+
function getDevModeBinary(projectRoot) {
|
|
44
|
+
const wrapperPath = join(projectRoot, 'packages/cli/dist/bin/vat.js');
|
|
45
|
+
const binPath = join(projectRoot, 'packages/cli/dist/bin.js');
|
|
46
|
+
if (process.env['VAT_DEBUG'] === '1') {
|
|
47
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
48
|
+
console.error(`[vat debug] Dev check - wrapper: ${wrapperPath} (${existsSync(wrapperPath)})`);
|
|
49
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files for debug
|
|
50
|
+
console.error(`[vat debug] Dev check - bin: ${binPath} (${existsSync(binPath)})`);
|
|
51
|
+
}
|
|
52
|
+
// Both files must exist to confirm we're in vibe-agent-toolkit repo
|
|
53
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking project structure files
|
|
54
|
+
if (existsSync(wrapperPath) && existsSync(binPath)) {
|
|
55
|
+
return binPath;
|
|
31
56
|
}
|
|
57
|
+
return null;
|
|
32
58
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
59
|
+
/**
|
|
60
|
+
* Find local vibe-agent-toolkit installation in node_modules
|
|
61
|
+
* Walks up directory tree from project root
|
|
62
|
+
*
|
|
63
|
+
* @param projectRoot - Root directory to start searching from
|
|
64
|
+
* @returns Path to local bin.js if found, null otherwise
|
|
65
|
+
*/
|
|
66
|
+
function findLocalInstall(projectRoot) {
|
|
67
|
+
let current = projectRoot;
|
|
68
|
+
while (true) {
|
|
69
|
+
const localBin = join(current, 'node_modules/@vibe-agent-toolkit/cli/dist/bin.js');
|
|
70
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- checking for local install
|
|
71
|
+
if (existsSync(localBin)) {
|
|
72
|
+
return localBin;
|
|
73
|
+
}
|
|
74
|
+
const parent = dirname(current);
|
|
75
|
+
if (parent === current) {
|
|
76
|
+
// Reached filesystem root
|
|
77
|
+
break;
|
|
78
|
+
}
|
|
79
|
+
current = parent;
|
|
80
|
+
}
|
|
81
|
+
return null;
|
|
39
82
|
}
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
83
|
+
/**
|
|
84
|
+
* Read version from package.json
|
|
85
|
+
* @param packageJsonPath - Path to package.json file
|
|
86
|
+
* @returns Version string or null if not found
|
|
87
|
+
*/
|
|
88
|
+
function readVersion(packageJsonPath) {
|
|
89
|
+
try {
|
|
90
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
91
|
+
if (!existsSync(packageJsonPath)) {
|
|
92
|
+
return null;
|
|
93
|
+
}
|
|
94
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- reading version from package.json
|
|
95
|
+
const content = readFileSync(packageJsonPath, 'utf-8');
|
|
96
|
+
const pkg = JSON.parse(content);
|
|
97
|
+
return pkg.version ?? null;
|
|
98
|
+
}
|
|
99
|
+
catch {
|
|
100
|
+
return null;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Main entry point - detects context and executes appropriate binary
|
|
105
|
+
*/
|
|
106
|
+
function main() {
|
|
107
|
+
const cwd = process.cwd();
|
|
108
|
+
const args = process.argv.slice(2);
|
|
109
|
+
const debug = process.env['VAT_DEBUG'] === '1';
|
|
110
|
+
// Priority 1: Explicit override via VAT_ROOT_DIR
|
|
111
|
+
if (process.env['VAT_ROOT_DIR']) {
|
|
112
|
+
const binPath = join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
|
|
113
|
+
// eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
|
|
114
|
+
if (existsSync(binPath)) {
|
|
115
|
+
if (debug) {
|
|
116
|
+
console.error('[vat debug] Using VAT_ROOT_DIR override');
|
|
117
|
+
console.error(`[vat debug] Binary: ${binPath}`);
|
|
118
|
+
}
|
|
119
|
+
spawnCli(binPath, 'dev', process.env['VAT_ROOT_DIR']);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Find project root from current working directory
|
|
123
|
+
const projectRoot = findProjectRoot(cwd) ?? cwd;
|
|
124
|
+
let binPath;
|
|
125
|
+
let context;
|
|
126
|
+
let binDir;
|
|
127
|
+
// Priority 2: Check for developer mode (inside vibe-agent-toolkit repo)
|
|
128
|
+
const devBin = getDevModeBinary(projectRoot);
|
|
129
|
+
if (devBin) {
|
|
130
|
+
binPath = devBin;
|
|
131
|
+
context = 'dev';
|
|
132
|
+
binDir = dirname(dirname(devBin)); // packages/cli/dist -> packages/cli
|
|
133
|
+
}
|
|
134
|
+
// Priority 3: Check for local install (node_modules)
|
|
135
|
+
else {
|
|
136
|
+
const localBin = findLocalInstall(projectRoot);
|
|
137
|
+
if (localBin) {
|
|
138
|
+
binPath = localBin;
|
|
139
|
+
context = 'local';
|
|
140
|
+
binDir = dirname(dirname(localBin)); // node_modules/@vibe-agent-toolkit/cli/dist -> node_modules/@vibe-agent-toolkit/cli
|
|
141
|
+
}
|
|
142
|
+
// Priority 4: Use global install (this script's location)
|
|
143
|
+
else {
|
|
144
|
+
binPath = resolve(__dirname, '../bin.js');
|
|
145
|
+
context = 'global';
|
|
146
|
+
binDir = dirname(__dirname); // dist -> cli root
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Read versions for comparison
|
|
150
|
+
// __dirname = dist/bin, so go up twice to reach package.json at cli root
|
|
151
|
+
const globalPkgPath = join(dirname(dirname(__dirname)), 'package.json');
|
|
152
|
+
const globalVersion = readVersion(globalPkgPath);
|
|
153
|
+
let localVersion = null;
|
|
154
|
+
if (context === 'local') {
|
|
155
|
+
const localPkgPath = join(binDir, 'package.json');
|
|
156
|
+
localVersion = readVersion(localPkgPath);
|
|
157
|
+
}
|
|
158
|
+
// Debug output
|
|
159
|
+
if (debug) {
|
|
160
|
+
console.error(`[vat debug] CWD: ${cwd}`);
|
|
161
|
+
console.error(`[vat debug] Project root: ${projectRoot}`);
|
|
162
|
+
console.error(`[vat debug] Context: ${context}`);
|
|
163
|
+
console.error(`[vat debug] Binary: ${binPath}`);
|
|
164
|
+
console.error(`[vat debug] Global version: ${globalVersion ?? 'unknown'}`);
|
|
165
|
+
console.error(`[vat debug] Local version: ${localVersion ?? 'N/A'}`);
|
|
166
|
+
console.error(`[vat debug] Args: ${args.join(' ')}`);
|
|
47
167
|
}
|
|
168
|
+
// Execute the binary with all arguments (only pass projectRoot for dev context)
|
|
169
|
+
const contextPath = context === 'dev' ? projectRoot : undefined;
|
|
170
|
+
spawnCli(binPath, context, contextPath);
|
|
48
171
|
}
|
|
49
|
-
//
|
|
50
|
-
|
|
51
|
-
spawnCli(globalBinPath, 'global');
|
|
172
|
+
// Run main function
|
|
173
|
+
main();
|
|
52
174
|
//# sourceMappingURL=vat.js.map
|
package/dist/bin/vat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA
|
|
1
|
+
{"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":"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"}
|
package/dist/bin.js
CHANGED
|
@@ -20,7 +20,7 @@ const context = process.env['VAT_CONTEXT']
|
|
|
20
20
|
: null;
|
|
21
21
|
program
|
|
22
22
|
.name('vat')
|
|
23
|
-
.description('
|
|
23
|
+
.description('Agent-friendly toolkit for building, testing, and deploying portable AI agents')
|
|
24
24
|
.version(getVersionString(version, context), '-v, --version', 'Output version number')
|
|
25
25
|
.option('--debug', 'Enable debug logging')
|
|
26
26
|
.option('--verbose', 'Show verbose help (markdown format)')
|
|
@@ -32,9 +32,14 @@ program
|
|
|
32
32
|
})
|
|
33
33
|
.addHelpText('after', `
|
|
34
34
|
Example:
|
|
35
|
-
$ vat resources validate docs/ # Validate markdown links
|
|
35
|
+
$ vat resources validate docs/ # Validate markdown links (run before commit)
|
|
36
|
+
|
|
37
|
+
Environment:
|
|
38
|
+
VAT_DEBUG=1 # Show context detection details
|
|
36
39
|
|
|
37
40
|
For command details: vat resources --help
|
|
41
|
+
For comprehensive help: vat --help --verbose
|
|
42
|
+
For agent guidance: docs/cli/CLAUDE.md
|
|
38
43
|
`);
|
|
39
44
|
// Handle --help --verbose at root level only
|
|
40
45
|
// Don't handle --verbose if a subcommand was specified
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAuB,MAAM,cAAc,CAAC;AAE9E,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,qCAAqC;AACrC,MAAM,OAAO,GAA0B,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAC/D,CAAC,CAAE;QACC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAA+B;QAC9D,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;KACnB;IACtB,CAAC,CAAC,IAAI,CAAC;AAET,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import { validateCommand } from './validate.js';
|
|
|
7
7
|
export function createResourcesCommand() {
|
|
8
8
|
const resources = new Command('resources');
|
|
9
9
|
resources
|
|
10
|
-
.description('Markdown resource scanning and validation')
|
|
10
|
+
.description('Markdown resource scanning and link validation (run before commit)')
|
|
11
11
|
.option('--verbose', 'Show verbose help')
|
|
12
12
|
.helpCommand(false) // Disable redundant 'help' command, use --help instead
|
|
13
13
|
.addHelpText('after', `
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/resources/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,UAAU,sBAAsB;IACpC,MAAM,SAAS,GAAG,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC;IAE3C,SAAS;SACN,WAAW,CAAC,oEAAoE,CAAC;SACjF,MAAM,CAAC,WAAW,EAAE,mBAAmB,CAAC;SACxC,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;SAC1E,WAAW,CACV,OAAO,EACP;;;;;;CAML,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,aAAa,CAAC;SACtB,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,WAAW,CAAC;SACnB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;CAYL,CACI,CAAC;IAEJ,SAAS;SACN,OAAO,CAAC,iBAAiB,CAAC;SAC1B,WAAW,CAAC,uDAAuD,CAAC;SACpE,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;SACzC,MAAM,CAAC,eAAe,CAAC;SACvB,WAAW,CACV,OAAO,EACP;;;;;;;;;;;;;;;;;CAiBL,CACI,CAAC;IAEJ,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,MAAM,WAAW,CAAC"}
|
package/docs/index.md
CHANGED
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
# vat - Vibe Agent Toolkit CLI
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
The `vat` command-line tool provides markdown resource validation and scanning
|
|
6
|
-
for AI agent projects.
|
|
3
|
+
> Agent-friendly toolkit for building, testing, and deploying portable AI agents
|
|
7
4
|
|
|
8
5
|
## Usage
|
|
9
6
|
|
|
@@ -11,40 +8,247 @@ for AI agent projects.
|
|
|
11
8
|
vat [options] <command>
|
|
12
9
|
```
|
|
13
10
|
|
|
11
|
+
## Commands
|
|
12
|
+
|
|
13
|
+
### `resources validate`
|
|
14
|
+
|
|
15
|
+
Markdown resource scanning and link validation (run before commit)
|
|
16
|
+
|
|
17
|
+
**What it does:**
|
|
18
|
+
|
|
19
|
+
1. Scans markdown files for links and anchors
|
|
20
|
+
2. Validates internal file links (relative paths)
|
|
21
|
+
3. Validates anchor links within files (#heading)
|
|
22
|
+
4. Validates cross-file anchor links (file.md#heading)
|
|
23
|
+
5. Reports broken links to stderr
|
|
24
|
+
|
|
25
|
+
**When to use:** Before committing changes that touch markdown files
|
|
26
|
+
|
|
27
|
+
**Exit codes:**
|
|
28
|
+
|
|
29
|
+
- `0` - All links valid
|
|
30
|
+
- `1` - Broken links found (see stderr for details)
|
|
31
|
+
- `2` - System error (invalid config, directory not found)
|
|
32
|
+
|
|
33
|
+
**Creates/modifies:** None (read-only validation)
|
|
34
|
+
|
|
35
|
+
**Examples:**
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
vat resources validate docs/ # Validate docs directory
|
|
39
|
+
vat resources validate # Use config patterns
|
|
40
|
+
vat resources validate --debug # Show detailed progress
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
### `resources scan`
|
|
46
|
+
|
|
47
|
+
Discover markdown resources in directory and report statistics
|
|
48
|
+
|
|
49
|
+
**What it does:**
|
|
50
|
+
|
|
51
|
+
1. Recursively finds markdown files
|
|
52
|
+
2. Counts links and anchors
|
|
53
|
+
3. Outputs statistics as YAML to stdout
|
|
54
|
+
|
|
55
|
+
**When to use:** Understanding markdown structure before processing
|
|
56
|
+
|
|
57
|
+
**Exit codes:**
|
|
58
|
+
|
|
59
|
+
- `0` - Scan completed successfully
|
|
60
|
+
|
|
61
|
+
**Creates/modifies:** None (read-only scan)
|
|
62
|
+
|
|
63
|
+
**Output format:** YAML to stdout
|
|
64
|
+
|
|
65
|
+
```yaml
|
|
66
|
+
status: success
|
|
67
|
+
filesScanned: 42
|
|
68
|
+
linksFound: 156
|
|
69
|
+
anchorsFound: 89
|
|
70
|
+
duration: 234
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
**Examples:**
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
vat resources scan . # Scan current directory
|
|
77
|
+
vat resources scan docs/ # Scan specific directory
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
---
|
|
81
|
+
|
|
82
|
+
### `agent build`
|
|
83
|
+
|
|
84
|
+
Build agent for deployment to target runtime
|
|
85
|
+
|
|
86
|
+
**What it does:**
|
|
87
|
+
|
|
88
|
+
1. Resolves agent dependencies
|
|
89
|
+
2. Bundles agent code for target runtime
|
|
90
|
+
3. Generates runtime-specific manifest
|
|
91
|
+
4. Creates deployment artifacts
|
|
92
|
+
|
|
93
|
+
**When to use:** Preparing agent for production deployment
|
|
94
|
+
|
|
95
|
+
**Exit codes:**
|
|
96
|
+
|
|
97
|
+
- `0` - Build succeeded
|
|
98
|
+
- `1` - Build failed (see stderr for details)
|
|
99
|
+
- `2` - Configuration error
|
|
100
|
+
|
|
101
|
+
**Creates/modifies:**
|
|
102
|
+
|
|
103
|
+
- `dist/vat-bundles/{target}/` - Bundled agent artifacts
|
|
104
|
+
- Runtime-specific manifest files
|
|
105
|
+
|
|
106
|
+
**Examples:**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
vat agent build ./my-agent # Build for default target
|
|
110
|
+
vat agent build ./my-agent --target claude-skills
|
|
111
|
+
vat agent build ./my-agent --output ./dist
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
---
|
|
115
|
+
|
|
116
|
+
### `agent run`
|
|
117
|
+
|
|
118
|
+
Execute agent locally for testing
|
|
119
|
+
|
|
120
|
+
**What it does:**
|
|
121
|
+
|
|
122
|
+
1. Loads agent from path
|
|
123
|
+
2. Executes agent with provided input
|
|
124
|
+
3. Outputs agent results
|
|
125
|
+
|
|
126
|
+
**When to use:** Testing agent behavior before deployment
|
|
127
|
+
|
|
128
|
+
**Exit codes:**
|
|
129
|
+
|
|
130
|
+
- `0` - Execution succeeded
|
|
131
|
+
- `1` - Execution failed
|
|
132
|
+
|
|
133
|
+
**Creates/modifies:** Depends on agent behavior
|
|
134
|
+
|
|
135
|
+
**Examples:**
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
vat agent run ./my-agent --input "test query"
|
|
139
|
+
vat agent run ./my-agent --debug
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
---
|
|
143
|
+
|
|
144
|
+
### `rag index`
|
|
145
|
+
|
|
146
|
+
Create vector embeddings for semantic search over documentation
|
|
147
|
+
|
|
148
|
+
**What it does:**
|
|
149
|
+
|
|
150
|
+
1. Scans markdown files in specified path
|
|
151
|
+
2. Chunks documents for embedding
|
|
152
|
+
3. Generates vector embeddings
|
|
153
|
+
4. Stores in vector database for fast retrieval
|
|
154
|
+
|
|
155
|
+
**When to use:** Setting up semantic search capabilities
|
|
156
|
+
|
|
157
|
+
**Exit codes:**
|
|
158
|
+
|
|
159
|
+
- `0` - Indexing succeeded
|
|
160
|
+
- `1` - Indexing failed
|
|
161
|
+
|
|
162
|
+
**Creates/modifies:**
|
|
163
|
+
|
|
164
|
+
- Vector database files for semantic search
|
|
165
|
+
- Index metadata
|
|
166
|
+
|
|
167
|
+
**Examples:**
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
vat rag index docs/ # Index documentation
|
|
171
|
+
vat rag index docs/ --chunk-size 512
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
### `rag search`
|
|
177
|
+
|
|
178
|
+
Search indexed documentation semantically
|
|
179
|
+
|
|
180
|
+
**What it does:**
|
|
181
|
+
|
|
182
|
+
1. Queries vector database by semantic meaning
|
|
183
|
+
2. Returns ranked results by similarity
|
|
184
|
+
3. Outputs results to stdout
|
|
185
|
+
|
|
186
|
+
**When to use:** Finding relevant documentation by meaning (not keywords)
|
|
187
|
+
|
|
188
|
+
**Exit codes:**
|
|
189
|
+
|
|
190
|
+
- `0` - Search succeeded
|
|
191
|
+
- `1` - Search failed (no index, query error)
|
|
192
|
+
|
|
193
|
+
**Creates/modifies:** None (read-only query)
|
|
194
|
+
|
|
195
|
+
**Examples:**
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
vat rag search "how to validate markdown links"
|
|
199
|
+
vat rag search "agent deployment" --limit 5
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
14
204
|
## Global Options
|
|
15
205
|
|
|
16
|
-
- `--version` - Show version number
|
|
206
|
+
- `--version` - Show version number (with `-dev` suffix when running from development repo)
|
|
17
207
|
- `--help` - Show help for any command
|
|
18
208
|
- `--help --verbose` - Show comprehensive help (this output)
|
|
19
209
|
- `--debug` - Enable debug logging
|
|
20
210
|
|
|
21
|
-
##
|
|
211
|
+
## Environment Variables
|
|
22
212
|
|
|
23
|
-
###
|
|
24
|
-
|
|
213
|
+
### VAT_DEBUG
|
|
214
|
+
Enable detailed wrapper diagnostics showing context detection and resolution:
|
|
25
215
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
216
|
+
```bash
|
|
217
|
+
VAT_DEBUG=1 vat --version
|
|
218
|
+
# Output includes:
|
|
219
|
+
# - Current working directory
|
|
220
|
+
# - Detected project root
|
|
221
|
+
# - Context (dev/local/global)
|
|
222
|
+
# - Binary path being used
|
|
223
|
+
# - Version information
|
|
224
|
+
```
|
|
29
225
|
|
|
30
|
-
|
|
226
|
+
### VAT_ROOT_DIR
|
|
227
|
+
Override automatic context detection to force dev mode:
|
|
31
228
|
|
|
32
|
-
|
|
33
|
-
-
|
|
34
|
-
|
|
229
|
+
```bash
|
|
230
|
+
VAT_ROOT_DIR=/path/to/vibe-agent-toolkit vat --version
|
|
231
|
+
```
|
|
35
232
|
|
|
36
|
-
##
|
|
233
|
+
## Context Detection
|
|
37
234
|
|
|
38
|
-
|
|
39
|
-
# Validate markdown in docs directory
|
|
40
|
-
vat resources validate docs/
|
|
235
|
+
The `vat` wrapper automatically detects your execution context:
|
|
41
236
|
|
|
42
|
-
|
|
43
|
-
|
|
237
|
+
**Dev mode** - Running from within vibe-agent-toolkit repository:
|
|
238
|
+
- Shows version with `-dev` suffix: `0.1.0-rc.9-dev (/path/to/repo)`
|
|
239
|
+
- Uses development build directly (no packaging)
|
|
240
|
+
- Works from any subdirectory within the repo
|
|
44
241
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
242
|
+
**Local install** - Project has vibe-agent-toolkit in node_modules:
|
|
243
|
+
- Uses locally installed version
|
|
244
|
+
- Shown in version output: `0.1.0-rc.9 (local: /path/to/project)`
|
|
245
|
+
|
|
246
|
+
**Global install** - Fallback when no local install found:
|
|
247
|
+
- Uses globally installed version
|
|
248
|
+
- Shows clean version: `0.1.0-rc.9`
|
|
249
|
+
|
|
250
|
+
When running global `vat` from within the toolkit repository, it automatically
|
|
251
|
+
switches to dev mode and shows the `-dev` suffix.
|
|
48
252
|
|
|
49
253
|
## Configuration
|
|
50
254
|
|
|
@@ -55,11 +259,51 @@ version: 1
|
|
|
55
259
|
resources:
|
|
56
260
|
include:
|
|
57
261
|
- "docs/**/*.md"
|
|
262
|
+
- "README.md"
|
|
58
263
|
exclude:
|
|
59
264
|
- "node_modules/**"
|
|
265
|
+
- "**/archive/**"
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
## Exit Code Summary
|
|
269
|
+
|
|
270
|
+
- `0` - Success (validation passed, scan completed, build succeeded)
|
|
271
|
+
- `1` - Expected failures (validation errors, broken links, build failures)
|
|
272
|
+
- `2` - System errors (invalid config, directory not found, missing dependencies)
|
|
273
|
+
|
|
274
|
+
## Output Formats
|
|
275
|
+
|
|
276
|
+
**Structured output (YAML)** - Commands like `scan` output YAML to stdout for parsing:
|
|
277
|
+
```bash
|
|
278
|
+
vat resources scan . | yq '.filesScanned'
|
|
279
|
+
```
|
|
280
|
+
|
|
281
|
+
**Error output (stderr)** - Validation errors use test format:
|
|
282
|
+
```
|
|
283
|
+
file:line:col: severity: message
|
|
284
|
+
```
|
|
285
|
+
|
|
286
|
+
## Common Workflows
|
|
287
|
+
|
|
288
|
+
**Before committing documentation:**
|
|
289
|
+
```bash
|
|
290
|
+
vat resources validate docs/ && git commit -m "Update docs"
|
|
291
|
+
```
|
|
292
|
+
|
|
293
|
+
**Building and testing agent:**
|
|
294
|
+
```bash
|
|
295
|
+
vat agent build ./my-agent
|
|
296
|
+
vat agent run ./my-agent --input "test"
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
**Setting up semantic search:**
|
|
300
|
+
```bash
|
|
301
|
+
vat rag index docs/
|
|
302
|
+
vat rag search "markdown validation"
|
|
60
303
|
```
|
|
61
304
|
|
|
62
305
|
## More Information
|
|
63
306
|
|
|
64
|
-
-
|
|
65
|
-
-
|
|
307
|
+
- **Agent guidance:** `docs/cli/CLAUDE.md` (strategic patterns for AI agents)
|
|
308
|
+
- **Documentation:** https://github.com/jdutton/vibe-agent-toolkit
|
|
309
|
+
- **Issues:** https://github.com/jdutton/vibe-agent-toolkit/issues
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe-agent-toolkit/cli",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
4
|
"description": "Command-line interface for vibe-agent-toolkit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -40,13 +40,13 @@
|
|
|
40
40
|
"license": "MIT",
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"@anthropic-ai/sdk": "^0.71.2",
|
|
43
|
-
"@vibe-agent-toolkit/agent-config": "0.1.0
|
|
44
|
-
"@vibe-agent-toolkit/discovery": "0.1.0
|
|
45
|
-
"@vibe-agent-toolkit/rag": "0.1.0
|
|
46
|
-
"@vibe-agent-toolkit/rag-lancedb": "0.1.0
|
|
47
|
-
"@vibe-agent-toolkit/resources": "0.1.0
|
|
48
|
-
"@vibe-agent-toolkit/runtime-claude-skills": "0.1.0
|
|
49
|
-
"@vibe-agent-toolkit/utils": "0.1.0
|
|
43
|
+
"@vibe-agent-toolkit/agent-config": "0.1.0",
|
|
44
|
+
"@vibe-agent-toolkit/discovery": "0.1.0",
|
|
45
|
+
"@vibe-agent-toolkit/rag": "0.1.0",
|
|
46
|
+
"@vibe-agent-toolkit/rag-lancedb": "0.1.0",
|
|
47
|
+
"@vibe-agent-toolkit/resources": "0.1.0",
|
|
48
|
+
"@vibe-agent-toolkit/runtime-claude-skills": "0.1.0",
|
|
49
|
+
"@vibe-agent-toolkit/utils": "0.1.0",
|
|
50
50
|
"commander": "^12.1.0",
|
|
51
51
|
"js-yaml": "^4.1.0",
|
|
52
52
|
"zod": "^3.24.1"
|