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:
2026-05-18 00:10:59 +03:00
parent 04fe8124fc
commit c3eb50f326
2 changed files with 61 additions and 2 deletions
+2 -2
View File
@@ -1,6 +1,6 @@
# Claude Code Facts
> Last updated: 2026-05-16
> Last updated: 2026-05-18
A collection of interesting and useful facts, tips, tools, and guides for working with Claude and Claude Code.
@@ -8,7 +8,7 @@ A collection of interesting and useful facts, tips, tools, and guides for workin
### [Claude Code Tools & Extensions](claude-code-tools.md)
MCP servers, skills, and plugins that extend Claude Code — including Context7 (library docs) and AST Index (fast code search).
MCP servers, skills, and plugins that extend Claude Code — including Context7 (library docs), AST Index, and vex (fast code search with semantic embeddings).
### [Gitea Release Workflow (Minimal)](gitea-release-workflow.md)
+59
View File
@@ -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-grepstyle 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: