### Install Development Dependencies and Run Vexor Source: https://github.com/scarletkc/vexor/blob/main/docs/development.md Installs the project in editable mode with development dependencies and runs the Vexor application. Assumes Python and pip are installed. ```bash pip install -e .[dev] python -m vexor ``` -------------------------------- ### Initialize Vexor Configuration Source: https://github.com/scarletkc/vexor/blob/main/README.md Initializes Vexor with a guided setup wizard. This is recommended for new users and automatically runs on the first use if no configuration exists. ```bash vexor init ``` -------------------------------- ### Install Vexor using pip Source: https://github.com/scarletkc/vexor/blob/main/README.md Installs the Vexor package using pip, pipx, or uv. This is the recommended method for users who have Python installed and want to use the CLI or Python API. ```bash pip install vexor # also works with pipx, uv ``` -------------------------------- ### Find CLI Entrypoints with Vexor Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/skills/vexor-cli/SKILL.md Example of using the Vexor CLI to find command-line interface entry points. This command searches for terms related to 'typer app commands' and limits the results to the top 5. ```bash vexor search "typer app commands" --top 5 ``` -------------------------------- ### Install AI Agent Skills for Vexor Source: https://github.com/scarletkc/vexor/blob/main/README.md Installs specific AI agent skills for Vexor, such as Claude Code or Codex. This allows AI agents to leverage Vexor's capabilities. ```bash vexor install --skills claude # Claude Code vexor install --skills codex # Codex ``` -------------------------------- ### Install vexor-cli Agent Skill Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/README.md This command installs the `vexor-cli` Agent Skill, specifically for use with Claude Codex. It allows Claude Code to integrate with Vexor for semantic file discovery. ```bash vexor install --skills claude/codex ``` -------------------------------- ### Search Documentation by Headings with Vexor Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/skills/vexor-cli/SKILL.md This example shows how to use Vexor to search within documentation files, specifically by headings or sections. It targets Markdown files (`.md`) in the 'docs' directory, uses the 'outline' mode for heading-based searching, and requests 'porcelain' format for scriptable output. ```bash vexor search "user authentication flow" --path docs --mode outline --ext .md --format porcelain ``` -------------------------------- ### Run Tests with Vexor Source: https://github.com/scarletkc/vexor/blob/main/docs/development.md Executes the test suite for the Vexor project. Tests are designed to run without network access by using fake embedding backends. ```bash pytest ``` -------------------------------- ### Exclude Specific Files/Directories with Vexor Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/skills/vexor-cli/SKILL.md This example illustrates how to exclude specific files or directories when using Vexor for searching. It searches for 'config loader' but excludes files matching 'tests/**' and '.js' patterns. ```bash vexor search "config loader" --path . --exclude-pattern tests/** --exclude-pattern .js ``` -------------------------------- ### Clearing Vexor Index Cache Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Provides an example of how to remove cached index entries for a specific directory using the `clear_index` function. It returns the count of removed entries. ```python from vexor import clear_index # Example: removed_count = clear_index(path='.') ``` -------------------------------- ### Basic Indexing and Searching with Vexor Python API Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Demonstrates the fundamental usage of the Vexor Python API for indexing a directory and performing a search. It shows how to import the necessary functions and process search results. ```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) ``` -------------------------------- ### Vexor Client Sessions for Scoped Configuration Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Illustrates how to use the VexorClient for managing scoped configurations and per-call data directories. This approach allows for isolated settings without affecting global state. ```python from vexor import VexorClient client = VexorClient(data_dir="/tmp/vexor", use_config=False) client.set_config_json({"provider": "openai", "api_key": "YOUR_KEY"}) response = client.search("config loader", path=".", mode="name") ``` -------------------------------- ### Locate Configuration Logic with Vexor Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/skills/vexor-cli/SKILL.md Demonstrates finding code related to configuration loading and validation using Vexor. It searches Python files (`.py`) in the current directory using the 'code' mode for code-aware chunking. ```bash vexor search "config loader" --path . --mode code --ext .py ``` -------------------------------- ### Vexor CLI Command Usage Source: https://github.com/scarletkc/vexor/blob/main/plugins/vexor/skills/vexor-cli/SKILL.md This snippet demonstrates the general command structure for the Vexor CLI. It includes placeholders for the query, root directory, search mode, file extensions, exclusion patterns, and output formatting. Vexor is used for semantic file discovery. ```bash vexor "" [--path ] [--mode ] [--ext .py,.md] [--exclude-pattern ] [--top 5] [--format rich|porcelain|porcelain-z] ``` -------------------------------- ### In-Memory Indexing and Searching with Vexor Python Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Demonstrates how to create an in-memory index using `index_in_memory` and then perform searches against it. This approach is efficient for scenarios where the index is frequently accessed but doesn't need to persist between runs. It requires the `vexor` library. ```python from vexor import index_in_memory index = index_in_memory(path=".", mode="name") response = index.search("config loader", top=5) ``` -------------------------------- ### Setting Vexor Data Directory Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Shows how to set the base directory for Vexor data, including configuration files, indexes, and caches. Passing `None` resets it to the default `~/.vexor`. ```python from vexor import set_data_dir # Example: set_data_dir('/path/to/vexor/data') # Example: set_data_dir(None) # Reset to default ``` -------------------------------- ### Scoped Configuration Overrides with config_context Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Shows how to apply temporary configuration overrides using the `config_context` manager. This enables scoped settings for specific operations without global mutation. ```python from vexor import config_context with config_context({"provider": "openai", "api_key": "YOUR_KEY"}) as client: response = client.search("config loader", path=".", mode="name") ``` -------------------------------- ### Index Files with Vexor CLI Source: https://github.com/scarletkc/vexor/blob/main/README.md Explicitly indexes files in a specified directory. This is useful for CI warmup or when auto-indexing is disabled. The --mode option can be set to 'code' for code-specific indexing. ```bash vexor index # indexes current directory # or explicit path: vexor index --path ~/projects/demo --mode code ``` -------------------------------- ### Search for Files with Vexor CLI Source: https://github.com/scarletkc/vexor/blob/main/README.md Performs a semantic search for files or code. It defaults to searching the current directory but can be configured to search specific paths and limit the number of results. The --no-cache option forces an in-memory search. ```bash 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 ``` -------------------------------- ### In-Memory Indexing with Vexor Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Demonstrates how to build an index entirely in memory using `index_in_memory`, which avoids writing to disk. The returned `InMemoryIndex` object can then be searched directly. ```python from vexor import index_in_memory # Assuming index_in_memory returns an object with a search method # Example: in_memory_index = index_in_memory(path='.') # response = in_memory_index.search('query') ``` -------------------------------- ### Runtime Configuration Override in Vexor Python Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Shows how to set and unset Vexor's configuration in memory during runtime using `set_config_json`. This is useful for temporary configuration changes, such as specifying an API key for a specific provider. The configuration is lost after the script finishes. It requires the `vexor` library. ```python from vexor import set_config_json, search set_config_json({"provider": "openai", "api_key": "YOUR_KEY"}) response = search("config loader", path=".", mode="name") set_config_json(None) ``` -------------------------------- ### Per-Call Configuration Override in Vexor Python Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Demonstrates how to override Vexor's configuration on a per-call basis using the `search` function. This allows for dynamic adjustments to search parameters like reranking models without altering the global configuration. It requires the `vexor` library. ```python from vexor import search response = search( "config loader", path=".", mode="name", config={"rerank": "remote", "remote_rerank": {"model": "bge-reranker-v2-m3"}}, ) ``` -------------------------------- ### Setting In-Memory Vexor Configuration Override Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Demonstrates how to set an in-memory configuration override using `set_config_json`. This method allows for temporary configuration changes without modifying disk files. ```python from vexor import set_config_json # Example: set_config_json({"provider": "gemini", "api_key": "ANOTHER_KEY"}) # Example: set_config_json(None) # Clear override # Example: set_config_json({"provider": "openai"}, replace=True) ``` -------------------------------- ### Disabling Cache in Vexor Python Search Source: https://github.com/scarletkc/vexor/blob/main/docs/api/python.md Illustrates how to perform a Vexor search without utilizing the cache by setting the `no_cache` parameter to `True`. This ensures that results are always computed fresh, which can be useful for debugging or when dealing with rapidly changing data. It requires the `vexor` library. ```python from vexor import search response = search("config loader", path=".", mode="name", no_cache=True) ``` === COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.