Rust 1.85+ required (see Cargo.toml rust-version for exact MSRV).
git clone https://github.com/lemon07r/Vera.git
cd Vera
cargo buildcargo test --workspace # all tests
cargo test -p vera-core # core crate onlycargo clippy --workspace -- -D warnings
cargo fmt --all -- --check| Crate | What it does |
|---|---|
vera-core |
Parsing, indexing, storage, embedding, retrieval pipeline |
vera-cli |
CLI interface (clap) |
vera-mcp |
MCP server (JSON-RPC over stdio) |
eval |
Benchmark harness and evaluation tasks |
The core engine lives in vera-core. Most changes happen here:
parsing/: tree-sitter grammars, AST chunking, symbol extractionembedding/: embedding providers (API + local ONNX)retrieval/: BM25, vector search, RRF fusion, rerankingstorage/: SQLite metadata, Tantivy BM25 index, sqlite-vec vectorsindexing/: index build and incremental update pipeline
For how the pipeline fits together, see docs/how-it-works.md.
See docs/architecture.md for the step-by-step checklist. The full language list is at docs/supported-languages.md.
- Error handling:
anyhow::Resultin CLI code,thiserrorfor typed errors invera-core - Async:
tokioruntime for I/O-bound work - Tests:
#[cfg(test)]modules at the bottom of source files,tempfilefor filesystem tests - Commits:
type(scope): description: e.g.feat(lang): add HTML support,fix(retrieval): handle empty query
bash eval/setup-corpus.sh # clone benchmark repos
cargo build --release
cargo run --release --bin vera-eval -- run # full suite
cargo run --release --bin vera-eval -- run --json-only # JSON output onlyBenchmark details: docs/benchmarks.md.