Thanks to visit codestin.com
Credit goes to lix.dev

Lix is in beta · Follow progress to v1.0

Change control for
apps and AI agents

Lix is an embeddable change control system that enables Git-like features for any file format.

50k+
Weekly downloads
100+
Contributors
MIT
Open Source
PythonRustGo
import { openLix, InMemoryEnvironment } from "@lix-js/sdk";
import { plugin as json } from "@lix-js/plugin-json";

const lix = openLix({
environment: new InMemoryEnvironment(),
providePlugins: [json]
})

Any file format

Lix can track changes in any file format like .xlsx, .pdf, .json etc. via plugins.

Diff, merge & branch

Query history, compare versions, and manage changes via SQL.

Integrates with your stack

Lix runs embedded in your app as a single SQLite file, persistable anywhere e.g. local FS, S3, your database.

How lix works

Explore all features
PythonRustGo
// JavaScript SDK
import { openLix, selectWorkingDiff, InMemoryEnvironment } from "@lix-js/sdk";
import { plugin as json } from "@lix-js/plugin-json";

// 1) Create an in-memory lix
const lix = await openLix({
environment: new InMemoryEnvironment(),
providePlugins: [json]
});
// 2) Write a file via SQL
await lix.db
.insertInto("file")
.values({
path: "/config.json",
data: new TextEncoder().encode(JSON.stringify({ theme: "light" })),
})
.execute();

// 3) Update a file
await lix.db
.updateTable("file")
.set({ data: "..." })
.where("path", "=", "/config.json")
.execute();

Lix enables the most powerful AI apps & agents

Every change is tracked

Lix tracks every change. Query the history and display diffs in your app.

Users stay in control

Change proposals let users review, accept, or reject changes.

Agents can experiment

Agents work in isolated versions without affecting user data.