Skip to content
You are viewing the corvid 0.3.0 release snapshot — frozen at the 0.3.0 engine release.Current documentation

Install

corvid is a Rust library. Today it is consumed three ways:

  1. From Rust — a git dependency (crates.io publication is planned; see bindings roadmap).
  2. From C or any C-FFI language — the release artifacts of the engine: the corvid cdylib plus the generated corvid.h, attached to every engine release.
  3. From Node.js — the corvid-node npm package with prebuilt binaries.
[dependencies]
corvid = { git = "https://github.com/corvid-db/corvid" }

Pin a tag if you want reproducible builds (recommended while pre-1.0):

[dependencies]
corvid = { git = "https://github.com/corvid-db/corvid", tag = "v0.2.1" }

Requires stable Rust, 2024 edition, MSRV 1.88. The default build has no required features and pulls in only redb; the engine is #![forbid(unsafe_code)].

Both features are OFF by default so the default build stays dependency-minimal (and the WASM size budget stays a contract):

FeatureWhat it doesEnable with
zstdTransparent compression of stored documents at/above 1 KiB. Queries, scans, indexes, dump/load all behave identically — just smaller on disk (~12× on structured text; vector payloads barely compress).corvid = { features = ["zstd"] }
tracingStructured instrumentation events at the engine’s load-bearing points, for any tracing-compatible subscriber.corvid = { features = ["tracing"] }

See feature flags for details and caveats (notably: backups are physical copies and not portable across feature builds — use dump/load to move between configurations).

Every engine release attaches a per-platform FFI archive containing the cdylib, corvid.h, and golden fixtures, with sha256 entries in checksums.txt:

  • Linux: libcorvid.so
  • macOS: libcorvid.dylib (install name @rpath/libcorvid.dylib since v0.2.1)
  • Windows: corvid.dll plus its MSVC import library corvid.dll.lib — link the import lib, place the DLL on the loader path

The contract these artifacts implement is the C ABI specification. corvid-c shows the full consumption pattern: fetch a pinned release, verify checksums, link, run the golden suite.

If you prefer to build from source:

Terminal window
git clone https://github.com/corvid-db/corvid
cd corvid
cargo build -p corvid-ffi --release
# → target/release/libcorvid.{so,dylib} or corvid.dll, plus corvid.h
Terminal window
npm i corvid-node

Prebuilt binaries cover darwin-arm64, darwin-x64, linux-x64-gnu, linux-arm64-gnu, and win32-x64-msvc; other platforms build from source (Rust ≥ 1.88 + a C toolchain). See corvid-node.

The corvid-mcp binary ships on the engine’s releases (Linux x86_64/aarch64, macOS Intel/Apple Silicon, Windows x86_64):

Terminal window
# from source:
cargo run -p corvid-mcp -- app.corvid # file-backed; omit the path for in-memory

See the MCP sidecar.

TargetStatus
Desktop/server (Linux, macOS, Windows)full support, CI-tested
WASM (wasm32-unknown-unknown)engine builds; ≈0.2 MB gzipped harness, in-memory use
Mobile (aarch64 iOS/Android)engine cross-compiles

WASM persistence (OPFS) and the JS browser binding are planned, not shipped — see the bindings roadmap.

Open your first database in the tutorial.