opral/lix

Embeddable repository that combines files, database, and version control.

What it solves

Lix solves the problem of managing fragmented data by combining a file system, a SQL database, and version control into a single system. It eliminates the need for a separate control plane to sync files and database state, allowing developers to branch, diff, merge, and roll back both files and structured data simultaneously.

How it works

Lix runs in-process within an application and uses a pluggable storage system (supporting local filesystems, SQLite on browser OPFS, or S3). It uses plugins to map file content into SQL rows, making files queryable as versioned data. All changes—whether to a file or a database row—are recorded in an ACID OLTP database, enabling real-time collaboration and granular diffs based on cells or rows rather than just byte blobs.

Who it’s for

It is designed for developers building products that require embedded version control, such as apps providing individual repositories for customers, tools for coding agents that need to sync files across machines, or any application where history, blame, and rollback are core requirements.

Highlights

  • Unified Storage: Combines files, SQL tables, and version control in one ACID transaction.
  • Granular Versioning: Diffs are tracked by clause, cell, or row via plugins.
  • Pluggable Backend: Supports local filesystem, browser OPFS, or S3-backed servers.
  • Agent-Friendly: Allows AI agents to read and write normal files while the product queries the underlying SQL.

Related

  • Project
  • Project
  • Project
  • Project
  • Project