YottaCoreLabs

Products

nano-git-db

A serverless distributed database that syncs over git.

Browsing a tree-grid board and editing a record in the terminal UI, then querying and adding the same data from the command line.

A serverless, distributed, multi-user database that syncs with git. The single source of truth is an append-only, text-based transaction log that is conflict-free and consistent by definition, and the schema is a plain text file rather than SQL.

One small static binary carries three front ends over a shared core: a full CRUD command line, a terminal UI that works fine over SSH, and a self-hosted web UI that can stay local or be shared to the network with password sign-in. It suits a global team, and it suits one person with no git at all - git is optional, and without it the same binary is a fast local single-user database.

SQLite sits underneath as a rebuildable local view. The .sqlite file stays out of the repository; only the text log is synced.

Highlights

  • Records sync across people and their changes auto-merge per field with git, so the conflicts that are the expected norm resolve in an unsurprising way.
  • Schema defined in a friendly text DDL with no SQL to write, and changeable at any time. Old and new records stay compatible both ways, so there is never a migration.
  • Rename tables and fields without losing or rewriting history.
  • Views, including hierarchical tree grids for a task tree, an outline, or a threaded board, and saved queries kept next to the schema.
  • Per-table extras, opt-in: a comment thread per record, an automatic audit trail of every change, and file or link attachments.
  • Users and groups, with permissions down to the table, field, and row.