Legit SDK is built around two core ideas: fail-safe by design, and effortlessly simple to use.
Fail-safe means giving your users the same superpowers you know from Git:
- Roll back to any previous state
- Branch off to run experiments safely
- Accept changes when you’re happy with the result
And it’s easy because you interact through the file system API (Legit FS) — the same one you learned in your first semesters of computer science.
Runs everywhere. Use Legit SDK as an API in the browser, or mount it as a folder on your machine. That means instant compatibility with the stack of your choice: Node.js, Python, Java… you name it.
- Documentation: Full guide and API reference
- Getting Started: Minimal example to get your first LegitFS repo up
- Example Starter: See a working editor demo with history tracking
- Contributing: How to contribute, including the Contributor License Agreement
npm install @legit-sdk/coreimport { fs } from 'memfs';
import { initLegitFs } from '@legit-sdk/core';
async function main() {
const legitFs = await initLegitFs(fs, '/');
await legitFs.promises.writeFile(
'/.legit/branches/main/hello.txt',
'Hello world'
);
const history = await legitFs.promises.readFile(
'/.legit/branches/main/.legit/history',
'utf8'
);
console.log(content);
}
main();- Versioned filesystem – Every write is tracked in .legit
- Branching and history – Access past states, branch safely, merge confidently
- Interoperable – Works with Node.js, browsers, Docker, serverless, and more
- Extensible API – Compatible with custom storage backends
packages/sdk/– Source code of the SDKpackages/sdk/dist/– Bundled outputs for Node.js, browser, and TypeScriptpackages/sdk/src/compositeFs/– Core filesystem abstractionpackages/sdk/src/compositeFs/subsystems/– Ephemeral, hidden, pass-through, and Git-backed file systems
Please review the CLA before submitting contributions.
We welcome PRs, issues, and suggestions to make Legit SDK better for everyone.