vera estimate and allow index location to be specified

Draft
PL
4d ago
+3177-286
  • Full-text-only indexing builds a BM25 index without embeddings.
  • --index-dir selects the index for search and maintenance commands; vera index --save DIR sets where a new index is written.
  • Replacing an existing index asks for confirmation unless --yes is passed. A full-text-only rebuild replaces the whole index, including any vectors.
  • Updates, watch, stats, overview, references, and doctor use the selected index directory.

Summary by cubic

Adds vera estimate to forecast indexing work, lets users point Vera at a specific index directory, and lets the MCP server load multiple indexes.

  • --index-dir selects the index for search and maintenance commands; vera index --save DIR sets where a new index is written.
  • estimate samples the discoverable file population and parses a stratified sample to project chunk counts and indexing time, with optional per-backend and full-text benchmarks.
  • MCP gains load_index and list_indexes tools so agents can register and select among multiple indexes in one server session.
  • Search now builds its embedding provider from the index's recorded model, so API-backed indexes keep working when the default model changes.
  • Full-text-only indexing shows progress and no longer warns about a stale index, since those indexes have no embeddings to refresh.
  • Replacing an existing index asks for confirmation unless --yes is passed; a full-text-only rebuild replaces the whole index, including any vectors.

Summary by CodeRabbit

  • New Features
    • Added vera estimate to sample a repository and estimate indexing time and chunk counts, with optional embedding and full-text benchmarks.
    • Added full-text-only indexing, which supports search without generating embeddings.
    • Added options to save indexes to a chosen directory and specify an index directory for supported commands.
    • MCP tools can now load and list indexes, and select an index for searches and other repository operations.
  • Improvements
    • Index replacement now requires confirmation, with --yes available for non-interactive use.
    • Searches can use the embedding model recorded in the selected index.