gitsheets
A git-backed document store for low-volume, high-touch, human-scale data.
Records are TOML (or markdown-with-frontmatter) files in a git repository, laid
out by a per-sheet path template. Every mutation is a commit, so the log is the
audit trail. The engine is a shared Rust core with thin per-language
bindings: this repo ships the Node binding (gitsheets on npm) and a Python
binding, both running on the same core, so a write from either language produces
byte-identical commits.
The library and CLI live in packages/gitsheets; start
there. The Rust core and its bindings live under rust/.
Spec-driven
specs/ is the source of truth. Start at specs/README.md.
specs/architecture.md— stack and packagingspecs/rust-core.md— the Rust core + thin-binding architecturespecs/concepts.md— Repository, Sheet, Record, Transaction, Store, Indexspecs/api/— per-symbol API contractsspecs/behaviors/— cross-cutting rules