vexp-cli 1.2.12 → 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 -62
- package/dist/cli.js.map +1 -1
- package/package.json +20 -9
- 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,22 +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
|
-
}
|
|
26
|
-
catch (err) {
|
|
27
|
-
spinner.fail(`Failed to install vexp: ${err}`);
|
|
28
|
-
process.exit(1);
|
|
29
|
-
}
|
|
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);
|
|
30
25
|
}
|
|
31
|
-
return getBinaryPath();
|
|
32
26
|
}
|
|
33
27
|
function runBinary(binaryPath, args) {
|
|
34
28
|
const child = spawn(binaryPath, args, {
|
|
@@ -71,7 +65,7 @@ program
|
|
|
71
65
|
.option("--merge-recover", "Recover index after merge conflict")
|
|
72
66
|
.option("--checkout-sync", "Sync index after branch checkout")
|
|
73
67
|
.action(async (dir, opts) => {
|
|
74
|
-
const binaryPath =
|
|
68
|
+
const binaryPath = ensureBinary();
|
|
75
69
|
const args = ["index"];
|
|
76
70
|
if (dir)
|
|
77
71
|
args.push(dir);
|
|
@@ -94,7 +88,7 @@ program
|
|
|
94
88
|
.option("--socket <path>", "Socket path for IPC")
|
|
95
89
|
.option("--log <path>", "Log file path")
|
|
96
90
|
.action(async (opts) => {
|
|
97
|
-
const binaryPath =
|
|
91
|
+
const binaryPath = ensureBinary();
|
|
98
92
|
const args = ["daemon"];
|
|
99
93
|
if (opts.workspace)
|
|
100
94
|
args.push("--workspace", opts.workspace);
|
|
@@ -109,7 +103,7 @@ program
|
|
|
109
103
|
.description("Print a token-efficient skeleton of a file")
|
|
110
104
|
.option("--detail <level>", "Detail level: minimal, standard, detailed", "standard")
|
|
111
105
|
.action(async (file, opts) => {
|
|
112
|
-
const binaryPath =
|
|
106
|
+
const binaryPath = ensureBinary();
|
|
113
107
|
runBinary(binaryPath, ["skeleton", file, "--detail", opts.detail]);
|
|
114
108
|
});
|
|
115
109
|
program
|
|
@@ -119,7 +113,7 @@ program
|
|
|
119
113
|
.option("--max-tokens <n>", "Max tokens", "8000")
|
|
120
114
|
.option("--format <fmt>", "Output format: text, json", "text")
|
|
121
115
|
.action(async (query, opts) => {
|
|
122
|
-
const binaryPath =
|
|
116
|
+
const binaryPath = ensureBinary();
|
|
123
117
|
const args = ["capsule", query, "--max-tokens", opts.maxTokens];
|
|
124
118
|
if (opts.repos)
|
|
125
119
|
args.push("--repos", opts.repos);
|
|
@@ -134,7 +128,7 @@ program
|
|
|
134
128
|
.option("--format <fmt>", "Output format: list, tree, mermaid", "tree")
|
|
135
129
|
.option("--cross-repo", "Include cross-repo edges")
|
|
136
130
|
.action(async (fqn, opts) => {
|
|
137
|
-
const binaryPath =
|
|
131
|
+
const binaryPath = ensureBinary();
|
|
138
132
|
const args = ["impact", fqn, "--depth", opts.depth, "--format", opts.format];
|
|
139
133
|
if (opts.crossRepo)
|
|
140
134
|
args.push("--cross-repo");
|
|
@@ -146,7 +140,7 @@ program
|
|
|
146
140
|
.option("--max-paths <n>", "Max paths to return", "3")
|
|
147
141
|
.option("--cross-repo", "Allow cross-repo traversal")
|
|
148
142
|
.action(async (start, end, opts) => {
|
|
149
|
-
const binaryPath =
|
|
143
|
+
const binaryPath = ensureBinary();
|
|
150
144
|
const args = ["flow", start, end, "--max-paths", opts.maxPaths];
|
|
151
145
|
if (opts.crossRepo)
|
|
152
146
|
args.push("--cross-repo");
|
|
@@ -157,20 +151,20 @@ program
|
|
|
157
151
|
.description("Manage git hooks (install, check, remove)")
|
|
158
152
|
.option("--repo-root <path>", "Repository root")
|
|
159
153
|
.action(async (action, opts) => {
|
|
160
|
-
const binaryPath =
|
|
154
|
+
const binaryPath = ensureBinary();
|
|
161
155
|
const args = ["hooks", action];
|
|
162
156
|
if (opts.repoRoot)
|
|
163
157
|
args.push("--repo-root", opts.repoRoot);
|
|
164
158
|
runBinary(binaryPath, args);
|
|
165
159
|
});
|
|
166
160
|
// ────────────────────────────────────────────────────
|
|
167
|
-
//
|
|
161
|
+
// Commands: init, mcp, daemon-cmd, setup
|
|
168
162
|
// ────────────────────────────────────────────────────
|
|
169
163
|
program
|
|
170
164
|
.command("init [dir]")
|
|
171
165
|
.description("Initialize vexp for a project (index, create .vexp, install hooks)")
|
|
172
166
|
.action(async (dir) => {
|
|
173
|
-
const binaryPath =
|
|
167
|
+
const binaryPath = ensureBinary();
|
|
174
168
|
const args = ["init"];
|
|
175
169
|
if (dir)
|
|
176
170
|
args.push(dir);
|
|
@@ -182,7 +176,7 @@ program
|
|
|
182
176
|
.option("--workspace <path>", "Workspace root path")
|
|
183
177
|
.option("--proxy", "Connect to existing daemon instead of running in-process")
|
|
184
178
|
.action(async (opts) => {
|
|
185
|
-
const binaryPath =
|
|
179
|
+
const binaryPath = ensureBinary();
|
|
186
180
|
const args = ["mcp"];
|
|
187
181
|
if (opts.workspace)
|
|
188
182
|
args.push("--workspace", opts.workspace);
|
|
@@ -195,7 +189,7 @@ program
|
|
|
195
189
|
.description("Manage the vexp daemon (start, stop, status, logs)")
|
|
196
190
|
.option("--follow", "Follow log output (with 'logs' action)")
|
|
197
191
|
.action(async (action, opts) => {
|
|
198
|
-
const binaryPath =
|
|
192
|
+
const binaryPath = ensureBinary();
|
|
199
193
|
const args = ["daemon-cmd", action];
|
|
200
194
|
if (opts.follow)
|
|
201
195
|
args.push("--follow");
|
|
@@ -203,7 +197,7 @@ program
|
|
|
203
197
|
});
|
|
204
198
|
program
|
|
205
199
|
.command("setup [dir]")
|
|
206
|
-
.description("Complete one-command setup:
|
|
200
|
+
.description("Complete one-command setup: index, detect agents, configure MCP")
|
|
207
201
|
.option("--no-index", "Skip indexing (if already indexed)")
|
|
208
202
|
.option("--agents <list>", "Specific agents to configure (comma-separated, default: auto-detect)")
|
|
209
203
|
.option("--dry-run", "Show what would be configured without writing files")
|
|
@@ -214,12 +208,12 @@ program
|
|
|
214
208
|
const spinner1 = ora("Checking vexp binary...").start();
|
|
215
209
|
let binaryPath;
|
|
216
210
|
try {
|
|
217
|
-
binaryPath =
|
|
211
|
+
binaryPath = ensureBinary();
|
|
218
212
|
const coreVersion = await getInstalledVersion();
|
|
219
213
|
spinner1.succeed(`vexp binary ready (v${coreVersion ?? "unknown"})`);
|
|
220
214
|
}
|
|
221
215
|
catch (err) {
|
|
222
|
-
spinner1.fail(`Binary
|
|
216
|
+
spinner1.fail(`Binary not found: ${err}`);
|
|
223
217
|
process.exit(1);
|
|
224
218
|
}
|
|
225
219
|
// Step 2: Init + Index
|
|
@@ -297,46 +291,15 @@ program
|
|
|
297
291
|
console.log("");
|
|
298
292
|
});
|
|
299
293
|
// ────────────────────────────────────────────────────
|
|
300
|
-
//
|
|
294
|
+
// Version
|
|
301
295
|
// ────────────────────────────────────────────────────
|
|
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
296
|
program
|
|
325
297
|
.command("version")
|
|
326
298
|
.description("Show version information")
|
|
327
299
|
.action(async () => {
|
|
328
300
|
const installed = await getInstalledVersion();
|
|
329
301
|
console.log(`vexp CLI: ${CLI_VERSION}`);
|
|
330
|
-
console.log(`vexp core: ${installed ?? "not
|
|
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
|
-
}
|
|
302
|
+
console.log(`vexp core: ${installed ?? "not found"}`);
|
|
340
303
|
});
|
|
341
304
|
program.parse();
|
|
342
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,30 +14,41 @@
|
|
|
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",
|
|
21
22
|
"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"
|
|
23
|
+
"ora": "^8.0.1"
|
|
27
24
|
},
|
|
28
25
|
"devDependencies": {
|
|
29
26
|
"@types/node": "^20.11.0",
|
|
30
|
-
"@types/tar": "^6.1.11",
|
|
31
27
|
"typescript": "^5.4.0",
|
|
32
28
|
"tsx": "^4.7.0"
|
|
33
29
|
},
|
|
34
30
|
"author": "Vexp",
|
|
35
31
|
"license": "MIT",
|
|
36
|
-
"keywords": [
|
|
32
|
+
"keywords": [
|
|
33
|
+
"vexp",
|
|
34
|
+
"ai",
|
|
35
|
+
"context",
|
|
36
|
+
"mcp",
|
|
37
|
+
"coding-agent",
|
|
38
|
+
"graph-rag",
|
|
39
|
+
"code-intelligence"
|
|
40
|
+
],
|
|
37
41
|
"publishConfig": {
|
|
38
42
|
"access": "public"
|
|
39
43
|
},
|
|
40
44
|
"engines": {
|
|
41
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"
|
|
42
53
|
}
|
|
43
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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"}
|