@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 CHANGED
@@ -1,7 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * Smart wrapper for vat CLI
4
- * Detects context (dev/local/global) and spawns appropriate binary
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
@@ -1 +1 @@
1
- {"version":3,"file":"vat.d.ts","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA;;;GAGG"}
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 for vat CLI
4
- * Detects context (dev/local/global) and spawns appropriate binary
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
- // 1. Explicit override via VAT_ROOT_DIR
26
- if (process.env['VAT_ROOT_DIR']) {
27
- const binPath = join(process.env['VAT_ROOT_DIR'], 'packages/cli/dist/bin.js');
28
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from env is expected
29
- if (existsSync(binPath)) {
30
- spawnCli(binPath, 'dev', process.env['VAT_ROOT_DIR']);
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
- // 2. Dev mode detection (running inside vibe-agent-toolkit repo)
34
- const devBinPath = resolve(__dirname, '../bin.js');
35
- const wrapperExists = existsSync(resolve(__dirname, '../../../../vibe-agent-toolkit/bin/vat'));
36
- if (existsSync(devBinPath) && wrapperExists) {
37
- const repoRoot = resolve(__dirname, '../../../..');
38
- spawnCli(devBinPath, 'dev', repoRoot);
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
- // 3. Local project install
41
- const projectRoot = findProjectRoot(process.cwd());
42
- if (projectRoot) {
43
- const localBinPath = join(projectRoot, 'node_modules/@vibe-agent-toolkit/cli/dist/bin.js');
44
- // eslint-disable-next-line security/detect-non-literal-fs-filename -- dynamic path from project root is expected
45
- if (existsSync(localBinPath)) {
46
- spawnCli(localBinPath, 'local', projectRoot);
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
- // 4. Global install fallback
50
- const globalBinPath = resolve(__dirname, '../bin.js');
51
- spawnCli(globalBinPath, 'global');
172
+ // Run main function
173
+ main();
52
174
  //# sourceMappingURL=vat.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAI1D,SAAS,QAAQ,CAAC,OAAe,EAAE,OAAgB,EAAE,WAAoB;IACvE,MAAM,GAAG,GAAG;QACV,GAAG,OAAO,CAAC,GAAG;QACd,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,WAAW;KAC9B,CAAC;IAEF,mGAAmG;IACnG,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,KAAK,EAAE,SAAS;QAChB,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,wCAAwC;AACxC,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAC9E,wGAAwG;IACxG,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACnD,MAAM,aAAa,GAAG,UAAU,CAC9B,OAAO,CAAC,SAAS,EAAE,wCAAwC,CAAC,CAC7D,CAAC;AACF,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,aAAa,EAAE,CAAC;IAC5C,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IACnD,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AACxC,CAAC;AAED,2BAA2B;AAC3B,MAAM,WAAW,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AACnD,IAAI,WAAW,EAAE,CAAC;IAChB,MAAM,YAAY,GAAG,IAAI,CACvB,WAAW,EACX,kDAAkD,CACnD,CAAC;IACF,iHAAiH;IACjH,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC7B,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;AACtD,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"vat.js","sourceRoot":"","sources":["../../src/bin/vat.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAE3D,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAI1D,SAAS,QAAQ,CAAC,OAAe,EAAE,OAAgB,EAAE,WAAoB;IACvE,MAAM,GAAG,GAAG;QACV,GAAG,OAAO,CAAC,GAAG;QACd,WAAW,EAAE,OAAO;QACpB,gBAAgB,EAAE,WAAW;KAC9B,CAAC;IAEF,mGAAmG;IACnG,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;QACpE,KAAK,EAAE,SAAS;QAChB,GAAG;KACJ,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,8BAA8B,CAAC,CAAC;IACtE,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,0BAA0B,CAAC,CAAC;IAE9D,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,EAAE,CAAC;QACrC,iHAAiH;QACjH,OAAO,CAAC,KAAK,CAAC,oCAAoC,WAAW,KAAK,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC9F,iHAAiH;QACjH,OAAO,CAAC,KAAK,CAAC,gCAAgC,OAAO,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpF,CAAC;IAED,oEAAoE;IACpE,uGAAuG;IACvG,IAAI,UAAU,CAAC,WAAW,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,IAAI,OAAO,GAAG,WAAW,CAAC;IAC1B,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,kDAAkD,CAAC,CAAC;QACnF,iGAAiG;QACjG,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YACzB,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;YACvB,0BAA0B;YAC1B,MAAM;QACR,CAAC;QACD,OAAO,GAAG,MAAM,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,eAAuB;IAC1C,IAAI,CAAC;QACH,wGAAwG;QACxG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,OAAO,IAAI,CAAC;QACd,CAAC;QACD,wGAAwG;QACxG,MAAM,OAAO,GAAG,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAyB,CAAC;QACxD,OAAO,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,IAAI;IACX,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC;IAE/C,iDAAiD;IACjD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,0BAA0B,CAAC,CAAC;QAC9E,wGAAwG;QACxG,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;gBACzD,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;YAClD,CAAC;YACD,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IAEhD,IAAI,OAAe,CAAC;IACpB,IAAI,OAAgB,CAAC;IACrB,IAAI,MAAc,CAAC;IAEnB,wEAAwE;IACxE,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,GAAG,MAAM,CAAC;QACjB,OAAO,GAAG,KAAK,CAAC;QAChB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oCAAoC;IACzE,CAAC;IACD,qDAAqD;SAChD,CAAC;QACJ,MAAM,QAAQ,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;QAC/C,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,CAAC;YACnB,OAAO,GAAG,OAAO,CAAC;YAClB,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,oFAAoF;QAC3H,CAAC;QACD,0DAA0D;aACrD,CAAC;YACJ,OAAO,GAAG,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1C,OAAO,GAAG,QAAQ,CAAC;YACnB,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB;QAClD,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,yEAAyE;IACzE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;IACxE,MAAM,aAAa,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IACjD,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAClD,YAAY,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;IACf,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,oBAAoB,GAAG,EAAE,CAAC,CAAC;QACzC,OAAO,CAAC,KAAK,CAAC,6BAA6B,WAAW,EAAE,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,wBAAwB,OAAO,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,CAAC,+BAA+B,aAAa,IAAI,SAAS,EAAE,CAAC,CAAC;QAC3E,OAAO,CAAC,KAAK,CAAC,8BAA8B,YAAY,IAAI,KAAK,EAAE,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,qBAAqB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,gFAAgF;IAChF,MAAM,WAAW,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;IAChE,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,oBAAoB;AACpB,IAAI,EAAE,CAAC"}
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('Vibe Agent Toolkit - Build, test, and deploy portable AI agents')
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,iEAAiE,CAAC;KAC9E,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC;KACrF,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;KAC1D,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;KAC1E,kBAAkB,EAAE;KACpB,eAAe,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,iCAAiC;IAC/E,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,sBAAsB;CACrE,CAAC;KACD,WAAW,CACV,OAAO,EACP;;;;;CAKH,CACE,CAAC;AAEJ,6CAA6C;AAC7C,uDAAuD;AACvD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9E,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEzC,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC,CAAC,+BAA+B;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
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,gFAAgF,CAAC;KAC7F,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,eAAe,EAAE,uBAAuB,CAAC;KACrF,MAAM,CAAC,SAAS,EAAE,sBAAsB,CAAC;KACzC,MAAM,CAAC,WAAW,EAAE,qCAAqC,CAAC;KAC1D,WAAW,CAAC,KAAK,CAAC,CAAC,uDAAuD;KAC1E,kBAAkB,EAAE;KACpB,eAAe,CAAC;IACf,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,iCAAiC;IAC/E,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,sBAAsB;CACrE,CAAC;KACD,WAAW,CACV,OAAO,EACP;;;;;;;;;;CAUH,CACE,CAAC;AAEJ,6CAA6C;AAC7C,uDAAuD;AACvD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;AAE9E,OAAO,CAAC,EAAE,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAChC,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAC5B,0DAA0D;IAC1D,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnE,eAAe,EAAE,CAAC;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,4DAA4D;AAC5D,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IAC7E,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACjD,mDAAmD;IACnD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;IACtD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEvE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,wBAAwB,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,sDAAsD;AACtD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACvE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACrC,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,kBAAkB,EAAE,CAAC;QACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,wDAAwD;AACxD,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;IACzE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,+CAA+C;IAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;IAEnE,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,qBAAqB;AACrB,OAAO,CAAC,UAAU,CAAC,sBAAsB,EAAE,CAAC,CAAC;AAC7C,OAAO,CAAC,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACvC,OAAO,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,CAAC;AAEzC,0BAA0B;AAC1B,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,EAAE;IACnC,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;IAC9B,MAAM,CAAC,KAAK,CAAC,2BAA2B,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAChC,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,KAAK,EAAE,CAAC;AAEhB,SAAS,eAAe;IACtB,MAAM,WAAW,GAAG,eAAe,EAAE,CAAC,CAAC,+BAA+B;IACtE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
@@ -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,2CAA2C,CAAC;SACxD,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"}
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
- ## Overview
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
- ## Commands
211
+ ## Environment Variables
22
212
 
23
- ### resources
24
- Markdown resource scanning and validation
213
+ ### VAT_DEBUG
214
+ Enable detailed wrapper diagnostics showing context detection and resolution:
25
215
 
26
- - `vat resources scan [path]` - Discover markdown files and report statistics
27
- - `vat resources validate [path]` - Validate internal links and anchors
28
- - `vat resources --help --verbose` - Show detailed command help
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
- ## Exit Codes
226
+ ### VAT_ROOT_DIR
227
+ Override automatic context detection to force dev mode:
31
228
 
32
- - `0` - Success
33
- - `1` - Validation errors (broken links, missing anchors)
34
- - `2` - System errors (invalid config, directory not found)
229
+ ```bash
230
+ VAT_ROOT_DIR=/path/to/vibe-agent-toolkit vat --version
231
+ ```
35
232
 
36
- ## Examples
233
+ ## Context Detection
37
234
 
38
- ```bash
39
- # Validate markdown in docs directory
40
- vat resources validate docs/
235
+ The `vat` wrapper automatically detects your execution context:
41
236
 
42
- # Scan for markdown files
43
- vat resources scan .
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
- # Use in CI with exit code checking
46
- vat resources validate docs/ && echo "Docs valid"
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
- - Documentation: https://github.com/jdutton/vibe-agent-toolkit
65
- - Issues: https://github.com/jdutton/vibe-agent-toolkit/issues
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-rc.9",
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-rc.9",
44
- "@vibe-agent-toolkit/discovery": "0.1.0-rc.9",
45
- "@vibe-agent-toolkit/rag": "0.1.0-rc.9",
46
- "@vibe-agent-toolkit/rag-lancedb": "0.1.0-rc.9",
47
- "@vibe-agent-toolkit/resources": "0.1.0-rc.9",
48
- "@vibe-agent-toolkit/runtime-claude-skills": "0.1.0-rc.9",
49
- "@vibe-agent-toolkit/utils": "0.1.0-rc.9",
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"