docs(tools): add vex — hybrid structural + semantic code search
Documents install on macOS/Linux (Homebrew) and Windows (cargo build from source — no prebuilt Windows binary in v1.5.0). Includes per-project bootstrap (.vex.toml with semantic + auto_update, vex index) and the vex-mcp registration at user scope so it covers all projects.
This commit is contained in:
@@ -68,6 +68,65 @@ Fast code search skill for Claude Code — find classes, symbols, usages, implem
|
||||
- **Repository:** <https://github.com/defendend/Claude-ast-index-search>
|
||||
- **Usage:** Invoke with `/ast-index` or related commands like "find class", "search for symbol", etc.
|
||||
|
||||
### vex
|
||||
|
||||
Fast hybrid code search — combines tree-sitter AST parsing, FST symbol lookup, BM25 body search, and optional ONNX semantic embeddings. Ships as a CLI (`vex search`, `vex usages`, `vex callers`, `vex similar`, `vex duplicates`, `vex pattern`, etc.) plus an optional MCP server (`vex-mcp`) that exposes the same operations to Claude Code as ~17 structured tools. Useful as a peer or replacement for AST Index when you want semantic / concept-level search in addition to exact symbol lookup.
|
||||
|
||||
- **Repository:** <https://github.com/tenatarika/vex>
|
||||
- **Languages:** 18+ via tree-sitter — Python, TypeScript/JavaScript, Go, Rust, Java, Kotlin, C#, Ruby, Swift, C++, PHP, Bash, Lua, CSS, HTML, YAML, TOML, SQL, Markdown.
|
||||
|
||||
- **Install (Linux/macOS):**
|
||||
|
||||
```bash
|
||||
brew tap tenatarika/tap && brew install vex
|
||||
```
|
||||
|
||||
Latest release also ships prebuilt tarballs for `linux-x86_64` and `darwin-aarch64`.
|
||||
|
||||
- **Install (Windows — build from source, ~3 min):**
|
||||
|
||||
As of v1.5.0 there is **no prebuilt Windows binary** in the release assets, so a Rust toolchain (≥1.80) is required:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/tenatarika/vex.git "$HOME/Documents/vex"
|
||||
cd "$HOME/Documents/vex"
|
||||
cargo build --release --workspace
|
||||
cp target/release/vex.exe target/release/vex-mcp.exe "$HOME/.cargo/bin/"
|
||||
```
|
||||
|
||||
`~/.cargo/bin/` (i.e. `%USERPROFILE%\.cargo\bin`) is already on PATH on any system with `cargo` installed, so both binaries become globally callable immediately.
|
||||
|
||||
- **Per-project bootstrap:**
|
||||
|
||||
```bash
|
||||
cd <your-project>
|
||||
vex init # creates .vex.toml
|
||||
vex index --path . # plain index, sub-second, no downloads
|
||||
# or, for semantic / concept-level search:
|
||||
vex index --path . --semantic # downloads ~86 MB ONNX model on first run
|
||||
```
|
||||
|
||||
Recommended `.vex.toml` for serious use:
|
||||
|
||||
```toml
|
||||
semantic = true # enable meaning-based search (vex similar, vex duplicates, --semantic queries)
|
||||
auto_update = true # incrementally refresh the index before each search
|
||||
```
|
||||
|
||||
- **Register `vex-mcp` with Claude Code (user scope — available across all projects):**
|
||||
|
||||
```bash
|
||||
# Windows
|
||||
claude mcp add vex -s user -- "$HOME/.cargo/bin/vex-mcp.exe"
|
||||
|
||||
# macOS / Linux
|
||||
claude mcp add vex -s user -- "$HOME/.cargo/bin/vex-mcp"
|
||||
```
|
||||
|
||||
`vex-mcp` defaults `VEX_ROOT` to the current working directory, so a single global registration works for every project — individual tool calls can also override per-call via a `project_root` argument.
|
||||
|
||||
- **Key commands / MCP tools:** `search` (symbol + semantic), `show` (full body), `usages`, `callers`, `callees`, `implementations`, `outline`, `pattern` (ast-grep–style structural match), `similar` (semantic, requires `--semantic` index), `duplicates`, `status`, `grep` (regex fallback, no index needed), `update` (incremental reindex).
|
||||
|
||||
### Packaged Skills
|
||||
|
||||
Packaged `.skill` files available in the [skills/](skills/) directory:
|
||||
|
||||
Reference in New Issue
Block a user