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:
@@ -1,6 +1,6 @@
|
|||||||
# Claude Code Facts
|
# 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.
|
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)
|
### [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)
|
### [Gitea Release Workflow (Minimal)](gitea-release-workflow.md)
|
||||||
|
|
||||||
|
|||||||
@@ -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>
|
- **Repository:** <https://github.com/defendend/Claude-ast-index-search>
|
||||||
- **Usage:** Invoke with `/ast-index` or related commands like "find class", "search for symbol", etc.
|
- **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 Skills
|
||||||
|
|
||||||
Packaged `.skill` files available in the [skills/](skills/) directory:
|
Packaged `.skill` files available in the [skills/](skills/) directory:
|
||||||
|
|||||||
Reference in New Issue
Block a user