From 44f06d357266cb39c36176af760c69143a6748cc Mon Sep 17 00:00:00 2001 From: Legit Collab Date: Thu, 12 Feb 2026 16:06:04 +0100 Subject: [PATCH 1/4] =?UTF-8?q?=F0=9F=92=BE=20Change=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 73 +++++++++++++++++++++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index d4cbd41a..ec6c6801 100644 --- a/README.md +++ b/README.md @@ -1,34 +1,22 @@ # Legit Monorepo - -### Meet Legit SDK — fail-safe apps made simple. - +### Meet Legit SDK — fail-safe apps made simple! 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 +- Branch off to run experiments safelyd - 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. - ### Quick Links - - [Documentation](https://legitcontrol.com/docs): Full guide and API reference - [Getting Started](https://legitcontrol.com/docs/quickstart): Minimal example to get your first LegitFS repo up - [Example Starter](https://legitcontrol.com/docs/examples): See a working editor demo with history tracking - [Contributing](./CONTRIBUTING.md): How to contribute, including the Contributor License Agreement - ### Installation - ```bash npm install @legit-sdk/core ``` - ### Minimal example - ```ts import { fs } from 'memfs'; import { initLegitFs } from '@legit-sdk/core'; @@ -49,25 +37,68 @@ async function main() { } main(); ``` - ### Features - - **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 - ### Project Structure - - `packages/sdk/` – Source code of the SDK - `packages/sdk/dist/` – Bundled outputs for Node.js, browser, and TypeScript - `packages/sdk/src/compositeFs/` – Core filesystem abstraction - `packages/sdk/src/compositeFs/subsystems/` – Ephemeral, hidden, pass-through, and Git-backed file systems - ### Contributing - Please review the [CLA](./cla/CLA.md) before submitting contributions. - We welcome PRs, issues, and suggestions to make Legit SDK better for everyone. +# Legit Monorepo +### Meet Legit SDK — fail-safe apps made simple. +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. +### Quick Links +- [Documentation](https://legitcontrol.com/docs): Full guide and API reference +- [Getting Started](https://legitcontrol.com/docs/quickstart): Minimal example to get your first LegitFS repo up +- [Example Starter](https://legitcontrol.com/docs/examples): See a working editor demo with history tracking +- [Contributing](./CONTRIBUTING.md): How to contribute, including the Contributor License Agreement +### Installation +```bash +npm install @legit-sdk/core +``` +### Minimal example +```ts +import { 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(); +``` +### Features +- **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 +### Project Structure +- `packages/sdk/` – Source code of the SDK +- `packages/sdk/dist/` – Bundled outputs for Node.js, browser, and TypeScript +- `packages/sdk/src/compositeFs/` – Core filesystem abstraction +- `packages/sdk/src/compositeFs/subsystems/` – Ephemeral, hidden, pass-through, and Git-backed file systems +### Contributing +Please review the [CLA](./cla/CLA.md) before submitting contributions. +We welcome PRs, issues, and suggestions to make Legit SDK better for everyone. \ No newline at end of file From dee3fc04896258aa3996479c5856f78a6ddf153d Mon Sep 17 00:00:00 2001 From: Legit Collab Date: Thu, 12 Feb 2026 16:06:32 +0100 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=92=BE=20Change=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ec6c6801..7dd3c034 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ 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 safelyd +- 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. From d116336fd365b6a6baed686c2a6aaf33e239ced4 Mon Sep 17 00:00:00 2001 From: Legit Collab Date: Thu, 12 Feb 2026 16:07:30 +0100 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=92=BE=20Change=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7dd3c034..15343852 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Legit Monorepo -### Meet Legit SDK — fail-safe apps made simple! +### Meet Legit SDK — fail-safe apps made simple. 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 From d529b1da2f252a633aa8d42f5c1bd9e87ea32c47 Mon Sep 17 00:00:00 2001 From: Legit Collab Date: Thu, 12 Feb 2026 16:09:55 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=92=BE=20Change=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/README.md b/README.md index 15343852..f3eb4707 100644 --- a/README.md +++ b/README.md @@ -73,6 +73,58 @@ npm install @legit-sdk/core import { 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(); +``` +### Features +- **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 +### Project Structure +- `packages/sdk/` – Source code of the SDK +- `packages/sdk/dist/` – Bundled outputs for Node.js, browser, and TypeScript +- `packages/sdk/src/compositeFs/` – Core filesystem abstraction +- `packages/sdk/src/compositeFs/subsystems/` – Ephemeral, hidden, pass-through, and Git-backed file systems +### Contributing +Please review the [CLA](./cla/CLA.md) before submitting contributions. +We welcome PRs, issues, and suggestions to make Legit SDK better for everyone. +# Legit Monorepo +### Meet Legit SDK — fail-safe apps made simple. +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. +### Quick Links +- [Documentation](https://legitcontrol.com/docs): Full guide and API reference +- [Getting Started](https://legitcontrol.com/docs/quickstart): Minimal example to get your first LegitFS repo up +- [Example Starter](https://legitcontrol.com/docs/examples): See a working editor demo with history tracking +- [Contributing](./CONTRIBUTING.md): How to contribute, including the Contributor License Agreement +### Installation +```bash +npm install @legit-sdk/core +``` +### Minimal example +```ts +import { fs } from 'memfs'; +import { initLegitFs } from '@legit-sdk/core'; + async function main() { const legitFs = await initLegitFs(fs, '/');