⏳ This skill is pending AI review.

Scores will appear once the review pipeline completes.

version unknown

vexor-cli

@scarletkc⭐ 248 stars

Semantic file discovery via `vexor`. Use whenever locating where something is implemented/loaded/defined in a medium or large repo, or when the file location is unclear. Prefer this over manual browsing.

Choose how to use this skill

You do not need every option. Choose the path your AI client supports. The stable page stays the same; versioned files are immutable.

1. Native installer

This listing has no registered native installer command. Use the complete package or source fallback below, depending on what your client supports.

Do not guess an installer command or replace an existing version without reviewing the diff.

2. Complete package recommended

Download the ZIP when available. It includes SKILL.md plus the references, security notes and version metadata.

No complete ProSkills package is published for this listing yet.

3. Prompt-only

Copy the prompt above when the agent can read the stable page or when you want to adopt the workflow without installing a skill.

Need only the instruction file?

Download SKILL.md only if your client requires a single file. The complete ZIP is safer for a full installation because it preserves the references and release context.

No path installs or executes anything by itself. Your agent still needs access to the project files. Before updating, compare the installed version and review the diff.

—/10

// RATINGS

⭐GitHub Stars
⭐⭐⭐ 248 on GitHubGitHub ↗

Popular

🟢ProSkills Score
—
📍

Not yet listed on ClawHub or SkillsMP

// README

Vexor

Python PyPI CI Codecov CodeRabbit Pull Request Reviews License Ask DeepWiki


Vexor is a semantic search engine that builds reusable indexes over files and code. It supports configurable embedding and reranking providers, and exposes the same core through a Python API, a CLI tool, and an MCP server.

Featured In

Vexor has been recognized and featured by the community:

Why Vexor?

When you remember what a file does but forget its name or location, Vexor finds it instantly—no grep patterns or directory traversal needed.

Designed for both humans and AI coding assistants, enabling semantic file discovery in autonomous agent workflows.

Install

Download standalone binary from releases (no Python required), or:

pip install vexor  # also works with pipx, uv

Quick Start

0. Guided Setup (Recommended)

vexor init

The wizard also runs automatically before the first interactive operational command when no config exists. Configuration-management (vexor config), MCP, help, and version commands run directly.

1. Search

vexor "api client config"  # defaults to search current directory
# or explicit path:
vexor search "api client config" --path ~/projects/demo --top 5
# in-memory search only:
vexor search "api client config" --no-cache 

Vexor auto-indexes on first search. Example output:

Vexor semantic file search results
──────────────────────────────────
#   Similarity   File path                       Lines   Preview
1   0.923        ./src/config_loader.py          -       config loader entrypoint
2   0.871        ./src/utils/config_parse.py     -       parse config helpers
3   0.809        ./tests/test_config_loader.py   -       tests for config loader

2. Explicit Index (Optional)

vexor index  # indexes current directory
# or explicit path:
vexor index --path ~/projects/demo --mode code

Useful for CI warmup or when auto_index is disabled.

Python API

Vexor can also be imported and used directly from Python:

from vexor import index, search

index(path=".", mode="head")
response = search("config loader", path=".", mode="name")

for hit in response.results:
    print(hit.path, hit.score)

Configuration follows the same global and project-level resolution as the CLI. For runtime overrides, cache controls, and per-call options, see docs/api/python.md.

AI Agent Skill

This repo includes a skill for AI agents to use Vexor effectively:

vexor install --skills claude  # Claude Code
vexor install --skills codex   # Codex

Skill source: plugins/vexor/skills/vexor-cli

MCP Server

vexor MCP server

[!NOTE] The Agent Skill and the MCP server provide the same core capability — pick one per agent. The skill teaches shell-capable agents (Claude Code, Codex) to drive the full CLI and assumes vexor is installed on PATH; the MCP server exposes search as native tools, works in any MCP client (Cursor, Windsurf, Zed, ...), and can bootstrap without prior setup via uvx and environment variables.

Vexor ships a built-in MCP stdio server, so any MCP-capable agent can use semantic file search as a native tool:

claude mcp add vexor -- vexor mcp   # Claude Code
codex mcp add vexor -- vexor mcp    # Codex

Or configure manually in any MCP client, optionally supplying the API key and any config overrides via env (no vexor init needed):

{
  "mcpServers": {
    "vexor": {
      "command": "vexor",
      "args": ["mcp"],
      "env": {
        "VEXOR_API_KEY": "sk-...",
        "VEXOR_CONFIG_JSON": "{\"provider\": \"gemini\", \"rerank\": \"bm25\"}"
      }
    }
  }
}

The server exposes two tools: vexor_search (semantic file search, returning the matching source text so an agent rarely needs a follow-up file read) and vexor_index (explicit index warm-up). No extra dependencies are required. Vexor is listed on the official MCP registry as io.github.scarletkc/vexor. See docs/mcp.md for tool schemas, environment variables, and client setup details.

Configuration

vexor init                             # guided setup (recommended)
vexor config --set-api-key "YOUR_KEY"  # or env: VEXOR_API_KEY / OPENAI_API_KEY / ...
vexor config --set-provider openai     # default; also gemini/voyageai/custom/local
vexor config --rerank hybrid           # optional: fuse exact keyword + semantic ranking
vexor config --show                    # view effective settings and origins

Global config lives in ~/.vexor/config.json; the nearest <project>/.vexor/config.json can override a restricted set of behavior fields for that project. Non-secret fields can also be injected via VEXOR_CONFIG_JSON (useful for MCP clients and CI), and fully offline use is supported through local embedding models.

See docs/configuration.md for the complete reference: project config fields and precedence, all config commands, API keys and environment variables, rerank strategies (hybrid / BM25 / FlashRank / remote), remote vs local providers, embedding dimensions, and offline local model setup.

CLI Reference

Everyday usage fits in vexor "query", vexor search, and vexor index (see Quick Start). The full command table, common flags, index modes (--mode auto/name/head/brief/full/code/outline), .vexorignore files, project-local indexes (vexor index --local), cache behavior, and porcelain output format are documented in docs/cli.md.

Documentation

  • [Con

// HOW IT'S BUILT

// FILES

3 files shipped with this skill. Inline text is the catalog copy. The upstream link is the source repository.

  • plugins/vexor/skills/vexor-cli/SKILL.md4.7 KB8bdf2013d854upstream ↗
    ---
    name: vexor-cli
    description: Semantic file discovery via `vexor`. Use whenever locating where something is implemented/loaded/defined in a medium or large repo, or when the file location is unclear. Prefer this over manual browsing.
    ---
    
    # Vexor CLI Skill
    
    ## Goal
    
    Find files by intent (what they do), not exact text.
    
    ## Use It Like This
    
    - Use `vexor` first for intent-based file discovery.
    - If `vexor` is missing, follow [references/install-vexor.md](references/install-vexor.md).
    
    ## Command
    
    ```bash
    vexor "<QUERY>" [--path <ROOT>] [--mode <MODE>] [--ext .py,.md] [--exclude-pattern <PATTERN>] [--top 5] [--content] [--format rich|porcelain|porcelain-z|json]
    ```
    
    ## Common Flags
    
    - `--path/-p`: root directory (default: current dir)
    - `--mode/-m`: indexing/search strategy
    - `--ext/-e`: limit file extensions (e.g., `.py,.md`)
    - `--exclude-pattern`: exclude paths by gitignore-style pattern (repeatable; `.js` → `**/*.js`)
    - `--top/-k`: number of results
    - `--include-hidden`: include dotfiles
    - `--no-respect-gitignore`: include ignored files
    - `.vexorignore` project rules always apply, even with `--no-respect-gitignore`.
    - `--no-recursive`: only the top directory
    - `--format`: `rich` (default), `porcelain`/`porcelain-z` for scripts, `json` for full output with chunk content
    - `--content`: print each match's source text below the table — usually removes the need to read the files afterwards
    - `--no-cache`: in-memory only, do not read/write index cache
    - `vexor index --local`: create and use project-local `.vexor/` cache storage
    
    ## Project Config
    
    - The nearest `.vexor/config.json` applies automatically for the resolved
      search or index path.
    - It accepts only `rerank`, `auto_index`, `model`, `embedding_dimensions`,
      `batch_size`, `embed_concurrency`, and `extract_concurrency`.
    - `batch_size` must be at least `0`; both concurrency values must be at least
      `1`.
    - Credentials and endpoints (`api_key`, `base_url`, `remote_rerank`) and all
      other fields are rejected.
    - Precedence is global config, project config, environment overrides, then
      explicit arguments.
    - `vexor config --show` labels each field's origin and `vexor doctor` lists
      active overrides; mutating `vexor config` commands remain global-only.
    
    ## Modes (pick the cheapest that works)
    
    - `auto`: routes by file type (default)
    - `name`: filename-only (fastest)
    - `head`: first lines only (fast)
    - `brief`: keyword summary (good for PRDs)
    - `code`: code-aware chunking for `.py/.js/.ts` (best default for codebases)
    - `outline`: Markdown headings/sections (best for docs)
    - `full`: chunk full file contents (slowest, highest recall)
    
    ## Troubleshooting
    
    - Searching for an exact identifier (function/class/constant name) with weak results: suggest `vexor config --rerank hybrid` once — it fuses exact lexical matching with semantic search.
    - Need ignored or hidden files: add `--include-hidden` and/or `--no-respect-gitignore`.
    - Scriptable output: use `--format porcelain` (TSV) or `--format porcelain-z` (NUL-delimited).
    - Get detailed help: `vexor search --help`.
    - Config issues: `vexor doctor` or `vexor config --show` reports effective values and their origins.
    
    ## Examples
    
    ```bash
    # Find CLI entrypoints / commands
    vexor search "typer app commands" --top 5
    ```
    
    ```bash
    # Search docs by headings/sections
    vexor search "user authentication flow" --path docs --mode outline --ext .md --format porcelain
    ```
    
    ```bash
    # Locate config loading/validation logic
    vexor search "config loader" --path . --mode code --ext .py
    ```
    
    ```bash
    # Exclude tests and JavaScript files
    vexor search "config loader" --path . --exclude-pattern tests/** --exclude-pattern .js
    ```
    
    ```bash
    # Read the matching code directly, without a follow-up file read
    vexor search "where JWT claims are validated" --path . --mode code --content
    ```
    
    ## Tips
    
    - First time search will index files (may take a minute). Long-lived MCP or
      Python client sessions reuse mapped vectors, monitor source changes, and skip
      some snapshot scans. Watcher setup failures fall back to scanning. Separate
      CLI invocations still validate the filesystem. Use longer timeouts if needed.
    - Results return similarity ranking, exact file location, line numbers, and matching snippet preview.
    - Add `--content` (or `--format json`) to get the matching source text in the same call, and skip reading those files separately. The text sits at `content_start_line`..`content_end_line`, which can begin later than the result's `start_line` when a long symbol was indexed as several chunks. If a result shows `stale_line_range`, the file changed since indexing — re-run `vexor index`. Content is capped per response, so lower-ranked results may report `budget_exhausted`.
    - Combine `--ext` with `--exclude-pattern` to focus on a subset (exclude rules apply on top).
    
  • plugins/vexor/skills/vexor-cli/references/install-vexor.md1.2 KB410794c63fffupstream ↗
    # Install Vexor
    
    Use this when the `vexor` command is missing.
    
    ## Steps
    
    1. Verify if it is already installed:
       ```bash
       vexor --help
       ```
    
    2. Install with pip (recommended):
       ```bash
       python -m pip install -U vexor
       ```
    
    3. (Optional) Install with pipx for isolation:
       ```bash
       pipx install vexor
       ```
    
    4. Verify the install:
       ```bash
       vexor --help
       ```
    
    ## If the command is still missing
    
    - Try running via module:
      ```bash
      python -m vexor --help
      ```
    - Ensure the Python scripts directory is on PATH (e.g., `~/.local/bin` for user installs).
    
    ## After install: configure a provider
    
    Vexor needs a provider configuration before semantic search works.
    
    - **Remote providers (openai/gemini/custom)**: set an API key.
      ```bash
      vexor config --set-api-key "<YOUR_KEY>"
      ```
      Optional: choose provider/model.
      ```bash
      vexor config --set-provider openai
      vexor config --set-model text-embedding-3-small
      ```
    
    - **Local provider** (no API key, but requires local model setup):
      ```bash
      pip install "vexor[local]" or pip install "vexor[local-cuda]"
      vexor local --setup --model intfloat/multilingual-e5-small [--cuda]
      ```
    
    If you cannot provide credentials or choose a local model, ask the user to assist.
    
  • README.mdupstream ↗

    Contents are not inlined in the catalog. Open the upstream file.

Plain-text copy, no login: /skill-bundles/scarletkc-vexor-plugins-vexor-skills-vexor-cli.md

// REPO STATS

248 stars