vexp-cli 1.2.12

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../src/agent-config.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
package/dist/cli.js ADDED
@@ -0,0 +1,342 @@
1
+ #!/usr/bin/env node
2
+ import { Command } from "commander";
3
+ import chalk from "chalk";
4
+ import ora from "ora";
5
+ import { spawn } from "child_process";
6
+ import * as path from "path";
7
+ import { getBinaryPath, isBinaryInstalled, installBinary, getInstalledVersion, getLatestVersion, } from "./installer.js";
8
+ import { detectAgents, configureAgents } from "./agent-config.js";
9
+ import { CLI_VERSION } from "./version.js";
10
+ const program = new Command();
11
+ program
12
+ .name("vexp")
13
+ .description("Vexp — Graph-RAG context engine for AI coding agents")
14
+ .version(CLI_VERSION);
15
+ // ────────────────────────────────────────────────────
16
+ // Ensure binary is installed before running any command
17
+ // ────────────────────────────────────────────────────
18
+ async function ensureBinary() {
19
+ if (!isBinaryInstalled()) {
20
+ const spinner = ora("Installing vexp binary...").start();
21
+ try {
22
+ const version = await getLatestVersion();
23
+ await installBinary(version);
24
+ spinner.succeed(`vexp v${version} installed`);
25
+ }
26
+ catch (err) {
27
+ spinner.fail(`Failed to install vexp: ${err}`);
28
+ process.exit(1);
29
+ }
30
+ }
31
+ return getBinaryPath();
32
+ }
33
+ function runBinary(binaryPath, args) {
34
+ const child = spawn(binaryPath, args, {
35
+ stdio: "inherit",
36
+ env: process.env,
37
+ });
38
+ child.on("exit", (code) => {
39
+ process.exit(code ?? 0);
40
+ });
41
+ child.on("error", (err) => {
42
+ console.error(chalk.red(`Error: ${err.message}`));
43
+ process.exit(1);
44
+ });
45
+ }
46
+ /** Promise-based binary runner that doesn't call process.exit(). */
47
+ function runBinaryAsync(binaryPath, args, options) {
48
+ return new Promise((resolve, reject) => {
49
+ const child = spawn(binaryPath, args, {
50
+ stdio: options?.silent ? "pipe" : "inherit",
51
+ env: process.env,
52
+ });
53
+ child.on("exit", (code) => {
54
+ if (code === 0)
55
+ resolve();
56
+ else
57
+ reject(new Error(`vexp-core exited with code ${code}`));
58
+ });
59
+ child.on("error", (err) => reject(err));
60
+ });
61
+ }
62
+ // ────────────────────────────────────────────────────
63
+ // Commands
64
+ // ────────────────────────────────────────────────────
65
+ program
66
+ .command("index [dir]")
67
+ .description("Index a directory (default: current working directory)")
68
+ .option("--watch", "Watch for file changes and re-index incrementally")
69
+ .option("--status", "Show indexing status")
70
+ .option("--finalize", "Finalize index for commit (used by git hook)")
71
+ .option("--merge-recover", "Recover index after merge conflict")
72
+ .option("--checkout-sync", "Sync index after branch checkout")
73
+ .action(async (dir, opts) => {
74
+ const binaryPath = await ensureBinary();
75
+ const args = ["index"];
76
+ if (dir)
77
+ args.push(dir);
78
+ if (opts.watch)
79
+ args.push("--watch");
80
+ if (opts.status)
81
+ args.push("--status");
82
+ if (opts.finalize)
83
+ args.push("--finalize");
84
+ if (opts.mergeRecover)
85
+ args.push("--merge-recover");
86
+ if (opts.checkoutSync)
87
+ args.push("--checkout-sync");
88
+ runBinary(binaryPath, args);
89
+ });
90
+ program
91
+ .command("daemon")
92
+ .description("Start the vexp daemon")
93
+ .option("--workspace <path>", "Workspace root path")
94
+ .option("--socket <path>", "Socket path for IPC")
95
+ .option("--log <path>", "Log file path")
96
+ .action(async (opts) => {
97
+ const binaryPath = await ensureBinary();
98
+ const args = ["daemon"];
99
+ if (opts.workspace)
100
+ args.push("--workspace", opts.workspace);
101
+ if (opts.socket)
102
+ args.push("--socket", opts.socket);
103
+ if (opts.log)
104
+ args.push("--log", opts.log);
105
+ runBinary(binaryPath, args);
106
+ });
107
+ program
108
+ .command("skeleton <file>")
109
+ .description("Print a token-efficient skeleton of a file")
110
+ .option("--detail <level>", "Detail level: minimal, standard, detailed", "standard")
111
+ .action(async (file, opts) => {
112
+ const binaryPath = await ensureBinary();
113
+ runBinary(binaryPath, ["skeleton", file, "--detail", opts.detail]);
114
+ });
115
+ program
116
+ .command("capsule <query>")
117
+ .description("Generate a context capsule for a task")
118
+ .option("--repos <repos>", "Comma-separated repo aliases")
119
+ .option("--max-tokens <n>", "Max tokens", "8000")
120
+ .option("--format <fmt>", "Output format: text, json", "text")
121
+ .action(async (query, opts) => {
122
+ const binaryPath = await ensureBinary();
123
+ const args = ["capsule", query, "--max-tokens", opts.maxTokens];
124
+ if (opts.repos)
125
+ args.push("--repos", opts.repos);
126
+ if (opts.format === "json")
127
+ args.push("--json");
128
+ runBinary(binaryPath, args);
129
+ });
130
+ program
131
+ .command("impact <fqn>")
132
+ .description("Show impact graph for a symbol")
133
+ .option("--depth <n>", "Traversal depth", "5")
134
+ .option("--format <fmt>", "Output format: list, tree, mermaid", "tree")
135
+ .option("--cross-repo", "Include cross-repo edges")
136
+ .action(async (fqn, opts) => {
137
+ const binaryPath = await ensureBinary();
138
+ const args = ["impact", fqn, "--depth", opts.depth, "--format", opts.format];
139
+ if (opts.crossRepo)
140
+ args.push("--cross-repo");
141
+ runBinary(binaryPath, args);
142
+ });
143
+ program
144
+ .command("flow <start> <end>")
145
+ .description("Find execution paths between two symbols")
146
+ .option("--max-paths <n>", "Max paths to return", "3")
147
+ .option("--cross-repo", "Allow cross-repo traversal")
148
+ .action(async (start, end, opts) => {
149
+ const binaryPath = await ensureBinary();
150
+ const args = ["flow", start, end, "--max-paths", opts.maxPaths];
151
+ if (opts.crossRepo)
152
+ args.push("--cross-repo");
153
+ runBinary(binaryPath, args);
154
+ });
155
+ program
156
+ .command("hooks <action>")
157
+ .description("Manage git hooks (install, check, remove)")
158
+ .option("--repo-root <path>", "Repository root")
159
+ .action(async (action, opts) => {
160
+ const binaryPath = await ensureBinary();
161
+ const args = ["hooks", action];
162
+ if (opts.repoRoot)
163
+ args.push("--repo-root", opts.repoRoot);
164
+ runBinary(binaryPath, args);
165
+ });
166
+ // ────────────────────────────────────────────────────
167
+ // New commands: init, mcp, daemon-cmd, setup
168
+ // ────────────────────────────────────────────────────
169
+ program
170
+ .command("init [dir]")
171
+ .description("Initialize vexp for a project (index, create .vexp, install hooks)")
172
+ .action(async (dir) => {
173
+ const binaryPath = await ensureBinary();
174
+ const args = ["init"];
175
+ if (dir)
176
+ args.push(dir);
177
+ runBinary(binaryPath, args);
178
+ });
179
+ program
180
+ .command("mcp")
181
+ .description("Start the MCP server over stdin/stdout (for AI coding agents)")
182
+ .option("--workspace <path>", "Workspace root path")
183
+ .option("--proxy", "Connect to existing daemon instead of running in-process")
184
+ .action(async (opts) => {
185
+ const binaryPath = await ensureBinary();
186
+ const args = ["mcp"];
187
+ if (opts.workspace)
188
+ args.push("--workspace", opts.workspace);
189
+ if (opts.proxy)
190
+ args.push("--proxy");
191
+ runBinary(binaryPath, args);
192
+ });
193
+ program
194
+ .command("daemon-cmd <action>")
195
+ .description("Manage the vexp daemon (start, stop, status, logs)")
196
+ .option("--follow", "Follow log output (with 'logs' action)")
197
+ .action(async (action, opts) => {
198
+ const binaryPath = await ensureBinary();
199
+ const args = ["daemon-cmd", action];
200
+ if (opts.follow)
201
+ args.push("--follow");
202
+ runBinary(binaryPath, args);
203
+ });
204
+ program
205
+ .command("setup [dir]")
206
+ .description("Complete one-command setup: install binary, index, detect agents, configure MCP")
207
+ .option("--no-index", "Skip indexing (if already indexed)")
208
+ .option("--agents <list>", "Specific agents to configure (comma-separated, default: auto-detect)")
209
+ .option("--dry-run", "Show what would be configured without writing files")
210
+ .action(async (dir, opts) => {
211
+ const workspaceRoot = path.resolve(dir ?? process.cwd());
212
+ console.log(chalk.bold(`\nvexp setup — ${workspaceRoot}\n`));
213
+ // Step 1: Ensure binary
214
+ const spinner1 = ora("Checking vexp binary...").start();
215
+ let binaryPath;
216
+ try {
217
+ binaryPath = await ensureBinary();
218
+ const coreVersion = await getInstalledVersion();
219
+ spinner1.succeed(`vexp binary ready (v${coreVersion ?? "unknown"})`);
220
+ }
221
+ catch (err) {
222
+ spinner1.fail(`Binary installation failed: ${err}`);
223
+ process.exit(1);
224
+ }
225
+ // Step 2: Init + Index
226
+ if (opts.index !== false) {
227
+ const spinner2 = ora("Indexing codebase...").start();
228
+ try {
229
+ await runBinaryAsync(binaryPath, ["init", workspaceRoot]);
230
+ spinner2.succeed("Codebase indexed");
231
+ }
232
+ catch (err) {
233
+ spinner2.warn(`Indexing issue: ${err instanceof Error ? err.message : err}`);
234
+ // Continue — agent config is still useful
235
+ }
236
+ }
237
+ else {
238
+ console.log(chalk.dim(" Skipping indexing (--no-index)"));
239
+ }
240
+ // Step 3: Detect agents
241
+ const spinner3 = ora("Detecting AI coding agents...").start();
242
+ const detected = detectAgents(workspaceRoot);
243
+ if (detected.length === 0) {
244
+ spinner3.warn("No AI coding agents detected");
245
+ console.log(chalk.dim(" Tip: create a .claude/, .cursor/, or .windsurf/ directory and re-run"));
246
+ }
247
+ else {
248
+ spinner3.succeed(`Detected ${detected.length} agent(s): ${detected.map((a) => a.agent).join(", ")}`);
249
+ }
250
+ // Step 4: Configure agents
251
+ if (detected.length > 0) {
252
+ if (opts.dryRun) {
253
+ console.log(chalk.dim("\n --dry-run: would configure:"));
254
+ for (const d of detected) {
255
+ console.log(chalk.dim(` ${d.agent} → ${d.configFile}`));
256
+ if (d.mcpConfigFile)
257
+ console.log(chalk.dim(` MCP: ${d.mcpConfigFile}`));
258
+ }
259
+ }
260
+ else {
261
+ const spinner4 = ora("Writing agent configurations...").start();
262
+ const version = (await getInstalledVersion()) ?? CLI_VERSION;
263
+ const agentFilter = opts.agents
264
+ ? opts.agents.split(",").map((s) => s.trim())
265
+ : undefined;
266
+ const result = configureAgents(workspaceRoot, binaryPath, version, agentFilter);
267
+ spinner4.succeed("Agent configurations written");
268
+ // Print summary
269
+ console.log("");
270
+ for (const agent of result.agents) {
271
+ const icon = agent.action === "skipped" ? "○" : "●";
272
+ const actionLabel = agent.action === "created"
273
+ ? chalk.green("created")
274
+ : agent.action === "updated"
275
+ ? chalk.yellow("updated")
276
+ : agent.action === "appended"
277
+ ? chalk.cyan("appended")
278
+ : chalk.dim("up to date");
279
+ console.log(` ${icon} ${chalk.bold(agent.agent)}`);
280
+ console.log(` Instructions: ${agent.configFile} (${actionLabel})`);
281
+ }
282
+ if (result.mcpConfigs.length > 0) {
283
+ console.log("");
284
+ console.log(chalk.dim(" MCP configs:"));
285
+ for (const mcpFile of result.mcpConfigs) {
286
+ console.log(chalk.dim(` ${mcpFile}`));
287
+ }
288
+ }
289
+ }
290
+ }
291
+ // Final summary
292
+ console.log("");
293
+ console.log(chalk.green.bold("✓ vexp setup complete!"));
294
+ console.log("");
295
+ console.log("Your AI coding agents are configured to use vexp MCP tools.");
296
+ console.log("Start coding — vexp will provide context automatically.");
297
+ console.log("");
298
+ });
299
+ // ────────────────────────────────────────────────────
300
+ // Existing commands: install, version
301
+ // ────────────────────────────────────────────────────
302
+ program
303
+ .command("install")
304
+ .description("Install or update the vexp binary")
305
+ .option("--version <version>", "Specific version to install (default: latest)")
306
+ .action(async (opts) => {
307
+ const spinner = ora("Checking for updates...").start();
308
+ try {
309
+ const targetVersion = opts.version ?? (await getLatestVersion());
310
+ const currentVersion = await getInstalledVersion();
311
+ if (currentVersion === targetVersion) {
312
+ spinner.info(`vexp v${targetVersion} is already up to date`);
313
+ return;
314
+ }
315
+ spinner.text = `Installing vexp v${targetVersion}...`;
316
+ await installBinary(targetVersion);
317
+ spinner.succeed(`vexp v${targetVersion} installed at ${getBinaryPath()}`);
318
+ }
319
+ catch (err) {
320
+ spinner.fail(`Installation failed: ${err}`);
321
+ process.exit(1);
322
+ }
323
+ });
324
+ program
325
+ .command("version")
326
+ .description("Show version information")
327
+ .action(async () => {
328
+ const installed = await getInstalledVersion();
329
+ console.log(`vexp CLI: ${CLI_VERSION}`);
330
+ console.log(`vexp core: ${installed ?? "not installed"}`);
331
+ try {
332
+ const latest = await getLatestVersion();
333
+ if (installed && installed !== latest) {
334
+ console.log(chalk.yellow(`Update available: v${latest}. Run: vexp install`));
335
+ }
336
+ }
337
+ catch {
338
+ // Offline — skip update check
339
+ }
340
+ });
341
+ program.parse();
342
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export declare function getBinaryPath(): string;
2
+ export declare function isBinaryInstalled(): boolean;
3
+ export declare function installBinary(version: string): Promise<string>;
4
+ export declare function getInstalledVersion(): Promise<string | null>;
5
+ export declare function getLatestVersion(): Promise<string>;
@@ -0,0 +1,138 @@
1
+ import * as fs from "fs";
2
+ import * as path from "path";
3
+ import * as crypto from "crypto";
4
+ import * as os from "os";
5
+ import { pipeline } from "stream/promises";
6
+ import { createWriteStream } from "fs";
7
+ import { Readable } from "stream";
8
+ const GITHUB_RELEASE_BASE = "https://github.com/nicola/vexp/releases/download";
9
+ function getPlatformBinary() {
10
+ const { platform, arch } = process;
11
+ const archLabel = arch === "arm64" ? "aarch64" : "x86_64";
12
+ switch (platform) {
13
+ case "darwin":
14
+ return {
15
+ target: `${archLabel}-apple-darwin`,
16
+ filename: "vexp-core",
17
+ };
18
+ case "linux":
19
+ return {
20
+ target: `${archLabel}-unknown-linux-gnu`,
21
+ filename: "vexp-core",
22
+ };
23
+ case "win32":
24
+ return {
25
+ target: `${archLabel}-pc-windows-gnu`,
26
+ filename: "vexp-core.exe",
27
+ };
28
+ default:
29
+ throw new Error(`Unsupported platform: ${platform}`);
30
+ }
31
+ }
32
+ function getInstallDir() {
33
+ const home = os.homedir();
34
+ return path.join(home, ".vexp", "bin");
35
+ }
36
+ export function getBinaryPath() {
37
+ const { filename } = getPlatformBinary();
38
+ return path.join(getInstallDir(), filename);
39
+ }
40
+ export function isBinaryInstalled() {
41
+ const binaryPath = getBinaryPath();
42
+ return fs.existsSync(binaryPath);
43
+ }
44
+ export async function installBinary(version) {
45
+ const { target, filename } = getPlatformBinary();
46
+ const installDir = getInstallDir();
47
+ const binaryPath = path.join(installDir, filename);
48
+ // Create install dir
49
+ fs.mkdirSync(installDir, { recursive: true });
50
+ const downloadUrl = `${GITHUB_RELEASE_BASE}/v${version}/vexp-core-${target}${filename.endsWith(".exe") ? ".exe" : ""}`;
51
+ const checksumUrl = `${downloadUrl}.sha256`;
52
+ console.log(`Downloading vexp-core ${version} for ${target}...`);
53
+ console.log(`From: ${downloadUrl}`);
54
+ // Download binary
55
+ const tmpPath = `${binaryPath}.tmp`;
56
+ await downloadFile(downloadUrl, tmpPath);
57
+ // Download and verify checksum
58
+ const expectedSha = await fetchText(checksumUrl);
59
+ if (expectedSha) {
60
+ const actualSha = await computeSha256(tmpPath);
61
+ const expectedHash = expectedSha.trim().split(/\s+/)[0];
62
+ if (actualSha !== expectedHash) {
63
+ fs.unlinkSync(tmpPath);
64
+ throw new Error(`Checksum mismatch!\nExpected: ${expectedHash}\nActual: ${actualSha}\n` +
65
+ "Download may be corrupted or tampered with.");
66
+ }
67
+ console.log("✓ Checksum verified");
68
+ }
69
+ // Replace binary atomically
70
+ if (fs.existsSync(binaryPath)) {
71
+ fs.unlinkSync(binaryPath);
72
+ }
73
+ fs.renameSync(tmpPath, binaryPath);
74
+ // Make executable on Unix
75
+ if (process.platform !== "win32") {
76
+ fs.chmodSync(binaryPath, 0o755);
77
+ }
78
+ console.log(`✓ Installed to ${binaryPath}`);
79
+ return binaryPath;
80
+ }
81
+ export async function getInstalledVersion() {
82
+ const binaryPath = getBinaryPath();
83
+ if (!fs.existsSync(binaryPath))
84
+ return null;
85
+ try {
86
+ const { execFile } = await import("child_process");
87
+ return new Promise((resolve) => {
88
+ execFile(binaryPath, ["--version"], (err, stdout) => {
89
+ if (err) {
90
+ resolve(null);
91
+ return;
92
+ }
93
+ const match = stdout.match(/(\d+\.\d+\.\d+)/);
94
+ resolve(match ? match[1] : null);
95
+ });
96
+ });
97
+ }
98
+ catch {
99
+ return null;
100
+ }
101
+ }
102
+ export async function getLatestVersion() {
103
+ const response = await fetch("https://api.github.com/repos/nicola/vexp/releases/latest", { headers: { Accept: "application/vnd.github.v3+json" } });
104
+ if (!response.ok) {
105
+ throw new Error(`GitHub API error: ${response.status}`);
106
+ }
107
+ const data = (await response.json());
108
+ return data.tag_name.replace(/^v/, "");
109
+ }
110
+ async function downloadFile(url, dest) {
111
+ const response = await fetch(url);
112
+ if (!response.ok) {
113
+ throw new Error(`Download failed: ${response.status} ${response.statusText}\nURL: ${url}`);
114
+ }
115
+ const body = response.body;
116
+ if (!body)
117
+ throw new Error("Empty response body");
118
+ const writeStream = createWriteStream(dest);
119
+ await pipeline(Readable.fromWeb(body), writeStream);
120
+ }
121
+ async function fetchText(url) {
122
+ try {
123
+ const response = await fetch(url);
124
+ if (!response.ok)
125
+ return null;
126
+ return response.text();
127
+ }
128
+ catch {
129
+ return null;
130
+ }
131
+ }
132
+ async function computeSha256(filePath) {
133
+ const hash = crypto.createHash("sha256");
134
+ const data = fs.readFileSync(filePath);
135
+ hash.update(data);
136
+ return hash.digest("hex");
137
+ }
138
+ //# sourceMappingURL=installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const CLI_VERSION: string;
@@ -0,0 +1,5 @@
1
+ import { createRequire } from "module";
2
+ const require = createRequire(import.meta.url);
3
+ const pkg = require("../package.json");
4
+ export const CLI_VERSION = pkg.version || "0.0.0";
5
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAwB,CAAC;AAE9D,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC"}
package/package.json ADDED
@@ -0,0 +1,43 @@
1
+ {
2
+ "name": "vexp-cli",
3
+ "version": "1.2.12",
4
+ "description": "vexp CLI — AI context engine for developer tools",
5
+ "type": "module",
6
+ "bin": {
7
+ "vexp": "./bin/vexp.js"
8
+ },
9
+ "scripts": {
10
+ "build": "tsc",
11
+ "dev": "tsx src/cli.ts",
12
+ "prepublishOnly": "npm run build",
13
+ "clean": "rm -rf dist"
14
+ },
15
+ "files": [
16
+ "dist/",
17
+ "bin/"
18
+ ],
19
+ "dependencies": {
20
+ "commander": "^12.0.0",
21
+ "chalk": "^5.3.0",
22
+ "ora": "^8.0.1",
23
+ "inquirer": "^9.2.15",
24
+ "node-fetch": "^3.3.2",
25
+ "tar": "^6.2.0",
26
+ "execa": "^8.0.1"
27
+ },
28
+ "devDependencies": {
29
+ "@types/node": "^20.11.0",
30
+ "@types/tar": "^6.1.11",
31
+ "typescript": "^5.4.0",
32
+ "tsx": "^4.7.0"
33
+ },
34
+ "author": "Vexp",
35
+ "license": "MIT",
36
+ "keywords": ["vexp", "ai", "context", "mcp", "coding-agent", "graph-rag", "code-intelligence"],
37
+ "publishConfig": {
38
+ "access": "public"
39
+ },
40
+ "engines": {
41
+ "node": ">=20.0.0"
42
+ }
43
+ }