vexp-cli 1.2.13 → 1.2.14
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 +204 -0
- package/dist/binary.d.ts +2 -0
- package/dist/binary.js +57 -0
- package/dist/binary.js.map +1 -0
- package/dist/cli.js +25 -61
- package/dist/cli.js.map +1 -1
- package/package.json +19 -3
- package/dist/installer.d.ts +0 -5
- package/dist/installer.js +0 -138
- package/dist/installer.js.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
# vexp CLI
|
|
2
|
+
|
|
3
|
+
Graph-RAG context engine for AI coding agents. Indexes your codebase and provides intelligent context to AI tools via MCP (Model Context Protocol).
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g vexp-cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Requires Node.js >= 20. The platform-specific binary is installed automatically via npm.
|
|
12
|
+
|
|
13
|
+
## Quick Start
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
# One-command setup: index codebase + detect & configure AI agents
|
|
17
|
+
vexp setup
|
|
18
|
+
|
|
19
|
+
# Or step by step:
|
|
20
|
+
vexp init # Initialize vexp in your project
|
|
21
|
+
vexp index # Index the codebase
|
|
22
|
+
vexp setup --no-index # Configure agents only (skip indexing)
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
## Commands
|
|
26
|
+
|
|
27
|
+
### `vexp setup [dir]`
|
|
28
|
+
|
|
29
|
+
Complete one-command setup: index, detect AI agents, configure MCP.
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
vexp setup # Current directory
|
|
33
|
+
vexp setup /path/to/project # Specific directory
|
|
34
|
+
vexp setup --no-index # Skip indexing (already indexed)
|
|
35
|
+
vexp setup --agents claude,cursor # Configure specific agents only
|
|
36
|
+
vexp setup --dry-run # Preview what would be configured
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
Auto-detects and configures: Claude Code, Cursor, Windsurf, GitHub Copilot, Continue.dev, Zed, Codex, Opencode, Kilo Code, Kiro, Antigravity.
|
|
40
|
+
|
|
41
|
+
### `vexp index [dir]`
|
|
42
|
+
|
|
43
|
+
Index a directory for code intelligence.
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
vexp index # Index current directory
|
|
47
|
+
vexp index --watch # Watch for changes and re-index
|
|
48
|
+
vexp index --status # Show indexing status
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### `vexp capsule <query>`
|
|
52
|
+
|
|
53
|
+
Generate a context capsule for a task or question.
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
vexp capsule "fix the login bug"
|
|
57
|
+
vexp capsule "how does auth work" --max-tokens 12000
|
|
58
|
+
vexp capsule "add caching" --format json
|
|
59
|
+
vexp capsule "refactor" --repos frontend,backend
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### `vexp skeleton <file>`
|
|
63
|
+
|
|
64
|
+
Print a token-efficient skeleton of a file (signatures, types, no bodies).
|
|
65
|
+
|
|
66
|
+
```bash
|
|
67
|
+
vexp skeleton src/auth.ts
|
|
68
|
+
vexp skeleton src/api.rs --detail detailed
|
|
69
|
+
vexp skeleton src/utils.py --detail minimal
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
### `vexp impact <fqn>`
|
|
73
|
+
|
|
74
|
+
Show what breaks if you change a symbol.
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
vexp impact "src/auth.ts::validateToken"
|
|
78
|
+
vexp impact "src/db.rs::query" --depth 10
|
|
79
|
+
vexp impact "src/api.ts::handler" --format mermaid
|
|
80
|
+
vexp impact "src/shared.ts::Config" --cross-repo
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
### `vexp flow <start> <end>`
|
|
84
|
+
|
|
85
|
+
Find execution paths between two symbols.
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
vexp flow "src/api.ts::handleRequest" "src/db.ts::query"
|
|
89
|
+
vexp flow "main" "save" --max-paths 5
|
|
90
|
+
vexp flow "handler" "db::insert" --cross-repo
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### `vexp mcp`
|
|
94
|
+
|
|
95
|
+
Start the MCP server over stdin/stdout (used by AI coding agents).
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
vexp mcp # In-process mode
|
|
99
|
+
vexp mcp --workspace /path # Specify workspace
|
|
100
|
+
vexp mcp --proxy # Connect to existing daemon
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### `vexp daemon`
|
|
104
|
+
|
|
105
|
+
Start the vexp background daemon.
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
vexp daemon --workspace /path/to/project
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### `vexp daemon-cmd <action>`
|
|
112
|
+
|
|
113
|
+
Manage the daemon.
|
|
114
|
+
|
|
115
|
+
```bash
|
|
116
|
+
vexp daemon-cmd start
|
|
117
|
+
vexp daemon-cmd stop
|
|
118
|
+
vexp daemon-cmd status
|
|
119
|
+
vexp daemon-cmd logs --follow
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
### `vexp hooks <action>`
|
|
123
|
+
|
|
124
|
+
Manage git hooks for automatic index updates.
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
vexp hooks install # Install git hooks
|
|
128
|
+
vexp hooks check # Check hook status
|
|
129
|
+
vexp hooks remove # Remove hooks
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
### `vexp init [dir]`
|
|
133
|
+
|
|
134
|
+
Initialize vexp for a project (creates `.vexp/`, installs hooks).
|
|
135
|
+
|
|
136
|
+
```bash
|
|
137
|
+
vexp init
|
|
138
|
+
vexp init /path/to/project
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
### `vexp version`
|
|
142
|
+
|
|
143
|
+
Show version information.
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
vexp version
|
|
147
|
+
# vexp CLI: 1.2.14
|
|
148
|
+
# vexp core: 1.2.14
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
## MCP Integration
|
|
152
|
+
|
|
153
|
+
vexp provides context to AI coding agents via MCP. After running `vexp setup`, your agents are auto-configured with these tools:
|
|
154
|
+
|
|
155
|
+
| Tool | Description |
|
|
156
|
+
|------|-------------|
|
|
157
|
+
| `get_context_capsule` | Most relevant code for your task (semantic + graph search) |
|
|
158
|
+
| `get_impact_graph` | What breaks if you change a symbol |
|
|
159
|
+
| `search_logic_flow` | Execution paths between functions |
|
|
160
|
+
| `get_skeleton` | Token-efficient file structure |
|
|
161
|
+
| `index_status` | Indexing health check |
|
|
162
|
+
| `get_session_context` | Recall observations from current/previous sessions |
|
|
163
|
+
| `search_memory` | Cross-session search for past decisions |
|
|
164
|
+
| `save_observation` | Persist insights with code symbol linking |
|
|
165
|
+
|
|
166
|
+
### Manual MCP Configuration
|
|
167
|
+
|
|
168
|
+
If you prefer to configure MCP manually instead of using `vexp setup`:
|
|
169
|
+
|
|
170
|
+
**Claude Code** (`~/.claude.json`):
|
|
171
|
+
```json
|
|
172
|
+
{
|
|
173
|
+
"mcpServers": {
|
|
174
|
+
"vexp": {
|
|
175
|
+
"command": "vexp",
|
|
176
|
+
"args": ["mcp", "--workspace", "/path/to/project"]
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
**Cursor** (`.cursor/mcp.json`):
|
|
183
|
+
```json
|
|
184
|
+
{
|
|
185
|
+
"mcpServers": {
|
|
186
|
+
"vexp": {
|
|
187
|
+
"command": "vexp",
|
|
188
|
+
"args": ["mcp", "--workspace", "/path/to/project"]
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## Supported Platforms
|
|
195
|
+
|
|
196
|
+
| Platform | Architecture |
|
|
197
|
+
|----------|-------------|
|
|
198
|
+
| Linux | x64, ARM64 |
|
|
199
|
+
| macOS | x64, ARM64 (Apple Silicon) |
|
|
200
|
+
| Windows | x64 |
|
|
201
|
+
|
|
202
|
+
## License
|
|
203
|
+
|
|
204
|
+
MIT
|
package/dist/binary.d.ts
ADDED
package/dist/binary.js
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { createRequire } from "module";
|
|
2
|
+
import * as path from "path";
|
|
3
|
+
import * as fs from "fs";
|
|
4
|
+
const require = createRequire(import.meta.url);
|
|
5
|
+
const PLATFORM_PACKAGES = {
|
|
6
|
+
"linux-x64": "@vexp/core-linux-x64",
|
|
7
|
+
"linux-arm64": "@vexp/core-linux-arm64",
|
|
8
|
+
"darwin-x64": "@vexp/core-darwin-x64",
|
|
9
|
+
"darwin-arm64": "@vexp/core-darwin-arm64",
|
|
10
|
+
"win32-x64": "@vexp/core-win32-x64",
|
|
11
|
+
};
|
|
12
|
+
export function getBinaryPath() {
|
|
13
|
+
const key = `${process.platform}-${process.arch}`;
|
|
14
|
+
const pkg = PLATFORM_PACKAGES[key];
|
|
15
|
+
if (!pkg) {
|
|
16
|
+
throw new Error(`Unsupported platform: ${key}. Supported: ${Object.keys(PLATFORM_PACKAGES).join(", ")}`);
|
|
17
|
+
}
|
|
18
|
+
const ext = process.platform === "win32" ? ".exe" : "";
|
|
19
|
+
let pkgDir;
|
|
20
|
+
try {
|
|
21
|
+
pkgDir = path.dirname(require.resolve(`${pkg}/package.json`));
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
throw new Error(`Platform package ${pkg} not found. Try reinstalling: npm install -g vexp-cli`);
|
|
25
|
+
}
|
|
26
|
+
const binaryPath = path.join(pkgDir, "bin", `vexp-core${ext}`);
|
|
27
|
+
if (!fs.existsSync(binaryPath)) {
|
|
28
|
+
throw new Error(`Binary not found at ${binaryPath}. Try reinstalling: npm install -g vexp-cli`);
|
|
29
|
+
}
|
|
30
|
+
return binaryPath;
|
|
31
|
+
}
|
|
32
|
+
export async function getInstalledVersion() {
|
|
33
|
+
let binaryPath;
|
|
34
|
+
try {
|
|
35
|
+
binaryPath = getBinaryPath();
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
try {
|
|
41
|
+
const { execFile } = await import("child_process");
|
|
42
|
+
return new Promise((resolve) => {
|
|
43
|
+
execFile(binaryPath, ["--version"], (err, stdout) => {
|
|
44
|
+
if (err) {
|
|
45
|
+
resolve(null);
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const match = stdout.match(/(\d+\.\d+\.\d+)/);
|
|
49
|
+
resolve(match ? match[1] : null);
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
catch {
|
|
54
|
+
return null;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=binary.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"binary.js","sourceRoot":"","sources":["../src/binary.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAEzB,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C,MAAM,iBAAiB,GAA2B;IAChD,WAAW,EAAE,sBAAsB;IACnC,aAAa,EAAE,wBAAwB;IACvC,YAAY,EAAE,uBAAuB;IACrC,cAAc,EAAE,yBAAyB;IACzC,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAEF,MAAM,UAAU,aAAa;IAC3B,MAAM,GAAG,GAAG,GAAG,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAClD,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CACb,yBAAyB,GAAG,gBAAgB,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACxF,CAAC;IACJ,CAAC;IAED,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IACvD,IAAI,MAAc,CAAC;IACnB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC;IAChE,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CACb,oBAAoB,GAAG,uDAAuD,CAC/E,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,CAAC,CAAC;IAC/D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,uBAAuB,UAAU,6CAA6C,CAC/E,CAAC;IACJ,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,aAAa,EAAE,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,CAAC;QACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,QAAQ,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;gBAClD,IAAI,GAAG,EAAE,CAAC;oBACR,OAAO,CAAC,IAAI,CAAC,CAAC;oBACd,OAAO;gBACT,CAAC;gBACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -4,7 +4,7 @@ import chalk from "chalk";
|
|
|
4
4
|
import ora from "ora";
|
|
5
5
|
import { spawn } from "child_process";
|
|
6
6
|
import * as path from "path";
|
|
7
|
-
import { getBinaryPath,
|
|
7
|
+
import { getBinaryPath, getInstalledVersion } from "./binary.js";
|
|
8
8
|
import { detectAgents, configureAgents } from "./agent-config.js";
|
|
9
9
|
import { CLI_VERSION } from "./version.js";
|
|
10
10
|
const program = new Command();
|
|
@@ -13,21 +13,16 @@ program
|
|
|
13
13
|
.description("Vexp — Graph-RAG context engine for AI coding agents")
|
|
14
14
|
.version(CLI_VERSION);
|
|
15
15
|
// ────────────────────────────────────────────────────
|
|
16
|
-
//
|
|
16
|
+
// Resolve the platform binary (no network — bundled via npm)
|
|
17
17
|
// ────────────────────────────────────────────────────
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
catch (err) {
|
|
26
|
-
spinner.fail(`Failed to install vexp: ${err}`);
|
|
27
|
-
process.exit(1);
|
|
28
|
-
}
|
|
18
|
+
function ensureBinary() {
|
|
19
|
+
try {
|
|
20
|
+
return getBinaryPath();
|
|
21
|
+
}
|
|
22
|
+
catch (err) {
|
|
23
|
+
console.error(chalk.red(`${err instanceof Error ? err.message : err}`));
|
|
24
|
+
process.exit(1);
|
|
29
25
|
}
|
|
30
|
-
return getBinaryPath();
|
|
31
26
|
}
|
|
32
27
|
function runBinary(binaryPath, args) {
|
|
33
28
|
const child = spawn(binaryPath, args, {
|
|
@@ -70,7 +65,7 @@ program
|
|
|
70
65
|
.option("--merge-recover", "Recover index after merge conflict")
|
|
71
66
|
.option("--checkout-sync", "Sync index after branch checkout")
|
|
72
67
|
.action(async (dir, opts) => {
|
|
73
|
-
const binaryPath =
|
|
68
|
+
const binaryPath = ensureBinary();
|
|
74
69
|
const args = ["index"];
|
|
75
70
|
if (dir)
|
|
76
71
|
args.push(dir);
|
|
@@ -93,7 +88,7 @@ program
|
|
|
93
88
|
.option("--socket <path>", "Socket path for IPC")
|
|
94
89
|
.option("--log <path>", "Log file path")
|
|
95
90
|
.action(async (opts) => {
|
|
96
|
-
const binaryPath =
|
|
91
|
+
const binaryPath = ensureBinary();
|
|
97
92
|
const args = ["daemon"];
|
|
98
93
|
if (opts.workspace)
|
|
99
94
|
args.push("--workspace", opts.workspace);
|
|
@@ -108,7 +103,7 @@ program
|
|
|
108
103
|
.description("Print a token-efficient skeleton of a file")
|
|
109
104
|
.option("--detail <level>", "Detail level: minimal, standard, detailed", "standard")
|
|
110
105
|
.action(async (file, opts) => {
|
|
111
|
-
const binaryPath =
|
|
106
|
+
const binaryPath = ensureBinary();
|
|
112
107
|
runBinary(binaryPath, ["skeleton", file, "--detail", opts.detail]);
|
|
113
108
|
});
|
|
114
109
|
program
|
|
@@ -118,7 +113,7 @@ program
|
|
|
118
113
|
.option("--max-tokens <n>", "Max tokens", "8000")
|
|
119
114
|
.option("--format <fmt>", "Output format: text, json", "text")
|
|
120
115
|
.action(async (query, opts) => {
|
|
121
|
-
const binaryPath =
|
|
116
|
+
const binaryPath = ensureBinary();
|
|
122
117
|
const args = ["capsule", query, "--max-tokens", opts.maxTokens];
|
|
123
118
|
if (opts.repos)
|
|
124
119
|
args.push("--repos", opts.repos);
|
|
@@ -133,7 +128,7 @@ program
|
|
|
133
128
|
.option("--format <fmt>", "Output format: list, tree, mermaid", "tree")
|
|
134
129
|
.option("--cross-repo", "Include cross-repo edges")
|
|
135
130
|
.action(async (fqn, opts) => {
|
|
136
|
-
const binaryPath =
|
|
131
|
+
const binaryPath = ensureBinary();
|
|
137
132
|
const args = ["impact", fqn, "--depth", opts.depth, "--format", opts.format];
|
|
138
133
|
if (opts.crossRepo)
|
|
139
134
|
args.push("--cross-repo");
|
|
@@ -145,7 +140,7 @@ program
|
|
|
145
140
|
.option("--max-paths <n>", "Max paths to return", "3")
|
|
146
141
|
.option("--cross-repo", "Allow cross-repo traversal")
|
|
147
142
|
.action(async (start, end, opts) => {
|
|
148
|
-
const binaryPath =
|
|
143
|
+
const binaryPath = ensureBinary();
|
|
149
144
|
const args = ["flow", start, end, "--max-paths", opts.maxPaths];
|
|
150
145
|
if (opts.crossRepo)
|
|
151
146
|
args.push("--cross-repo");
|
|
@@ -156,20 +151,20 @@ program
|
|
|
156
151
|
.description("Manage git hooks (install, check, remove)")
|
|
157
152
|
.option("--repo-root <path>", "Repository root")
|
|
158
153
|
.action(async (action, opts) => {
|
|
159
|
-
const binaryPath =
|
|
154
|
+
const binaryPath = ensureBinary();
|
|
160
155
|
const args = ["hooks", action];
|
|
161
156
|
if (opts.repoRoot)
|
|
162
157
|
args.push("--repo-root", opts.repoRoot);
|
|
163
158
|
runBinary(binaryPath, args);
|
|
164
159
|
});
|
|
165
160
|
// ────────────────────────────────────────────────────
|
|
166
|
-
//
|
|
161
|
+
// Commands: init, mcp, daemon-cmd, setup
|
|
167
162
|
// ────────────────────────────────────────────────────
|
|
168
163
|
program
|
|
169
164
|
.command("init [dir]")
|
|
170
165
|
.description("Initialize vexp for a project (index, create .vexp, install hooks)")
|
|
171
166
|
.action(async (dir) => {
|
|
172
|
-
const binaryPath =
|
|
167
|
+
const binaryPath = ensureBinary();
|
|
173
168
|
const args = ["init"];
|
|
174
169
|
if (dir)
|
|
175
170
|
args.push(dir);
|
|
@@ -181,7 +176,7 @@ program
|
|
|
181
176
|
.option("--workspace <path>", "Workspace root path")
|
|
182
177
|
.option("--proxy", "Connect to existing daemon instead of running in-process")
|
|
183
178
|
.action(async (opts) => {
|
|
184
|
-
const binaryPath =
|
|
179
|
+
const binaryPath = ensureBinary();
|
|
185
180
|
const args = ["mcp"];
|
|
186
181
|
if (opts.workspace)
|
|
187
182
|
args.push("--workspace", opts.workspace);
|
|
@@ -194,7 +189,7 @@ program
|
|
|
194
189
|
.description("Manage the vexp daemon (start, stop, status, logs)")
|
|
195
190
|
.option("--follow", "Follow log output (with 'logs' action)")
|
|
196
191
|
.action(async (action, opts) => {
|
|
197
|
-
const binaryPath =
|
|
192
|
+
const binaryPath = ensureBinary();
|
|
198
193
|
const args = ["daemon-cmd", action];
|
|
199
194
|
if (opts.follow)
|
|
200
195
|
args.push("--follow");
|
|
@@ -202,7 +197,7 @@ program
|
|
|
202
197
|
});
|
|
203
198
|
program
|
|
204
199
|
.command("setup [dir]")
|
|
205
|
-
.description("Complete one-command setup:
|
|
200
|
+
.description("Complete one-command setup: index, detect agents, configure MCP")
|
|
206
201
|
.option("--no-index", "Skip indexing (if already indexed)")
|
|
207
202
|
.option("--agents <list>", "Specific agents to configure (comma-separated, default: auto-detect)")
|
|
208
203
|
.option("--dry-run", "Show what would be configured without writing files")
|
|
@@ -213,12 +208,12 @@ program
|
|
|
213
208
|
const spinner1 = ora("Checking vexp binary...").start();
|
|
214
209
|
let binaryPath;
|
|
215
210
|
try {
|
|
216
|
-
binaryPath =
|
|
211
|
+
binaryPath = ensureBinary();
|
|
217
212
|
const coreVersion = await getInstalledVersion();
|
|
218
213
|
spinner1.succeed(`vexp binary ready (v${coreVersion ?? "unknown"})`);
|
|
219
214
|
}
|
|
220
215
|
catch (err) {
|
|
221
|
-
spinner1.fail(`Binary
|
|
216
|
+
spinner1.fail(`Binary not found: ${err}`);
|
|
222
217
|
process.exit(1);
|
|
223
218
|
}
|
|
224
219
|
// Step 2: Init + Index
|
|
@@ -296,46 +291,15 @@ program
|
|
|
296
291
|
console.log("");
|
|
297
292
|
});
|
|
298
293
|
// ────────────────────────────────────────────────────
|
|
299
|
-
//
|
|
294
|
+
// Version
|
|
300
295
|
// ────────────────────────────────────────────────────
|
|
301
|
-
program
|
|
302
|
-
.command("install")
|
|
303
|
-
.description("Install or update the vexp binary")
|
|
304
|
-
.option("--version <version>", "Specific version to install (default: latest)")
|
|
305
|
-
.action(async (opts) => {
|
|
306
|
-
const spinner = ora("Checking for updates...").start();
|
|
307
|
-
try {
|
|
308
|
-
const targetVersion = opts.version ?? (await getLatestVersion());
|
|
309
|
-
const currentVersion = await getInstalledVersion();
|
|
310
|
-
if (currentVersion === targetVersion) {
|
|
311
|
-
spinner.info(`vexp v${targetVersion} is already up to date`);
|
|
312
|
-
return;
|
|
313
|
-
}
|
|
314
|
-
spinner.text = `Installing vexp v${targetVersion}...`;
|
|
315
|
-
await installBinary(targetVersion);
|
|
316
|
-
spinner.succeed(`vexp v${targetVersion} installed at ${getBinaryPath()}`);
|
|
317
|
-
}
|
|
318
|
-
catch (err) {
|
|
319
|
-
spinner.fail(`Installation failed: ${err}`);
|
|
320
|
-
process.exit(1);
|
|
321
|
-
}
|
|
322
|
-
});
|
|
323
296
|
program
|
|
324
297
|
.command("version")
|
|
325
298
|
.description("Show version information")
|
|
326
299
|
.action(async () => {
|
|
327
300
|
const installed = await getInstalledVersion();
|
|
328
301
|
console.log(`vexp CLI: ${CLI_VERSION}`);
|
|
329
|
-
console.log(`vexp core: ${installed ?? "not
|
|
330
|
-
try {
|
|
331
|
-
const latest = await getLatestVersion();
|
|
332
|
-
if (installed && installed !== latest) {
|
|
333
|
-
console.log(chalk.yellow(`Update available: v${latest}. Run: vexp install`));
|
|
334
|
-
}
|
|
335
|
-
}
|
|
336
|
-
catch {
|
|
337
|
-
// Offline — skip update check
|
|
338
|
-
}
|
|
302
|
+
console.log(`vexp core: ${installed ?? "not found"}`);
|
|
339
303
|
});
|
|
340
304
|
program.parse();
|
|
341
305
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vexp-cli",
|
|
3
|
-
"version": "1.2.
|
|
3
|
+
"version": "1.2.14",
|
|
4
4
|
"description": "vexp CLI — AI context engine for developer tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -14,7 +14,8 @@
|
|
|
14
14
|
},
|
|
15
15
|
"files": [
|
|
16
16
|
"dist/",
|
|
17
|
-
"bin/"
|
|
17
|
+
"bin/",
|
|
18
|
+
"README.md"
|
|
18
19
|
],
|
|
19
20
|
"dependencies": {
|
|
20
21
|
"commander": "^12.0.0",
|
|
@@ -28,11 +29,26 @@
|
|
|
28
29
|
},
|
|
29
30
|
"author": "Vexp",
|
|
30
31
|
"license": "MIT",
|
|
31
|
-
"keywords": [
|
|
32
|
+
"keywords": [
|
|
33
|
+
"vexp",
|
|
34
|
+
"ai",
|
|
35
|
+
"context",
|
|
36
|
+
"mcp",
|
|
37
|
+
"coding-agent",
|
|
38
|
+
"graph-rag",
|
|
39
|
+
"code-intelligence"
|
|
40
|
+
],
|
|
32
41
|
"publishConfig": {
|
|
33
42
|
"access": "public"
|
|
34
43
|
},
|
|
35
44
|
"engines": {
|
|
36
45
|
"node": ">=20.0.0"
|
|
46
|
+
},
|
|
47
|
+
"optionalDependencies": {
|
|
48
|
+
"@vexp/core-linux-x64": "1.2.14",
|
|
49
|
+
"@vexp/core-linux-arm64": "1.2.14",
|
|
50
|
+
"@vexp/core-darwin-x64": "1.2.14",
|
|
51
|
+
"@vexp/core-darwin-arm64": "1.2.14",
|
|
52
|
+
"@vexp/core-win32-x64": "1.2.14"
|
|
37
53
|
}
|
|
38
54
|
}
|
package/dist/installer.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
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>;
|
package/dist/installer.js
DELETED
|
@@ -1,138 +0,0 @@
|
|
|
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
|
package/dist/installer.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"installer.js","sourceRoot":"","sources":["../src/installer.ts"],"names":[],"mappings":"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"}
|