Lix is in beta · Follow progress to v1.0Change control for
Change control for
apps and AI agents
Lix is an embeddable change control system that enables Git-like features for any file format.
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
// 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]
});
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.