# vex configuration — https://github.com/tenatarika/vex
#
# Place this file in your project root as .vex.toml

# Glob patterns to exclude from indexing (gitignore syntax, on top of .gitignore)
# exclude = [
#     "vendor/**",
#     "node_modules/**",
#     "*.generated.go",
#     "dist/**",
# ]

# Default output format: "text", "json", or "compact"
# format = "text"

# Enable semantic embeddings by default (slower indexing, enables meaning-based search)
semantic = true

# Automatically run `vex update` before search if the index is stale
auto_update = true

# Embedder used for semantic indexing. Known IDs: minilm-l6-v2 (default).
# Changing the embedder requires a full reindex.
# embedder = "minilm-l6-v2"

# Cache directory override. Defaults to the platform cache location.
#   macOS:   ~/Library/Caches/vex
#   Linux:   $XDG_CACHE_HOME/vex   (fallback: ~/.cache/vex)
#   Windows: %LOCALAPPDATA%\vex    (fallback: %USERPROFILE%\AppData\Local\vex)
# Accepts absolute paths, "~/..." or paths relative to this file (e.g. "./.vex/cache").
# Can also be overridden per-invocation with --cache-dir or $VEX_CACHE_DIR.
# cache_dir = "./.vex/cache"

# Store the index inside the project as `<project>/.vex_cache/`. Useful when
# the cache should travel with the project (e.g. on a moved or renamed
# directory). vex writes a `.gitignore` inside it so contents are not
# committed. Overridden by `cache_dir`, `--cache-dir`, or $VEX_CACHE_DIR.
# local_cache = false

# Thread count for parallel indexing (index/update/watch).
#   * unset  — 80% of available cores, rounded up (default, leaves headroom)
#   * 0      — use all cores (explicit opt-in to max throughput)
#   * N      — exactly N workers
# Overridable per-invocation with `-j/--jobs` or $VEX_JOBS.
# jobs = 4

# Build the persistent call-graph section. Disabling falls back to live-scan
# for `vex callers`/`vex callees` (slower per-query, but saves indexing
# time on large monorepos). The opt-out is persisted in the manifest so
# `vex update` does not silently re-add the section.
# Per-invocation override: `vex index --no-call-graph`.
# call_graph = true

# Build the BM25 channel. Disabling drops the third RRF channel and keeps
# only structural (+ semantic). Same persistence rules as `call_graph`.
# Per-invocation override: `vex index --no-bm25`.
# bm25 = true
