git-vdb
A local vector database stored entirely in Git.
git-vdb is an embedded Rust library and CLI: no server, daemon, account, or
external database. Open a directory, write vectors, and search.
Install
Rust quickstart
use ;
#
The database and collection are created on the first write. Vector dimensions are inferred, payloads are returned by default, and search automatically chooses exact or approximate execution.
CLI quickstart
Batch upserts accept a JSON Lines file or - for stdin.
Need local text embeddings? Use cargo add git-vdb --features fastembed; the
embedding guide has the complete example.
Why Git-native?
- Local: one directory and no service to operate.
- Versioned: commits and refs provide optional history and atomic writes.
- Deterministic: equivalent data produces the same root tree.
- Portable: clone, fetch, push, archive, inspect, and maintain it with Git.
Guides
- Five-minute quickstart
- Persistence and reopening
- Filtering and detailed queries
- History and Git transport
- Text and embedding models
- Rust API reference
Advanced users can work directly with immutable snapshots, historical roots,
compare-and-swap writes, validation, and ANN controls through Database,
Collection, and SnapshotEngine.
Internals and benchmarks
- Canonical format version 2
- Legacy format version 1
- Snapshot design
- Current limitations and findings
- LanceDB performance evidence
See CONTRIBUTING.md for development and validation. Licensed under the Apache License 2.0.