Change control SDK for
apps and AI agents

Lix is a change control system that enables Git-like features for applications and AI agents such as change proposals, versions (branching), history, and blame.

How lix works

Step 1

Create a lix with the plugins

Lix becomes file format-aware via plugins (`.json`, `.xlsx`, etc.). Otherwise, everything is just a blob.

Step 2

Write a file into the lix

Lix is powered by SQL under the hood. Writing a file, querying diffs, etc. happens all via SQL.

Step 3

Query changes, diffs, etc.

Query working diffs, history, propose changes or merge similar to git, right in the browser.

example.ts
import { openLix, selectWorkingDiff, newLixFile } from "@lix-js/sdk";
import { plugin as json } from "@lix-js/plugin-json";

// 1) Create a lix
const lix = await openLix({
providePlugins: [json]
});

// 2) Write a file via SQL
await lix.db
.insertInto("file")
.values({
path: "/settings.json",
data: new TextEncoder().encode(
JSON.stringify({ theme: "light" })
),
})
.execute();

// 3) Log the changes
const diff = await selectWorkingDiff({ lix }).execute();
console.log(diff);

Lix enables the most powerful AI apps

Every AI change is tracked

Lix tracks every change AI agents do. Query the changes and display diffs in apps.

Users stay in control

Change proposals allow users to accept or reject AI changes.

Sandboxed state for AI agents

Versions let AI agents experiment without affecting user data.