No remote workflow
No push, pull, fetch, or clone.
Local docs
lit is a lightweight, offline-only version control prototype. It keeps
repository data inside a local .lit/ folder and does not
depend on accounts, remotes, cloud sync, or network access.
What it is
lit is designed for local history on a single machine. The goal is a practical command-line workflow that feels familiar if you know Git, but stays much narrower in scope.
.lit/ storage layoutUse lit when you want fast local checkpoints without setting up a remote host, account, token, or sync service.
Design boundary
No push, pull, fetch, or clone.
No login, identity, permissions, or hosted collaboration model.
Once installed, the tool is meant to work without network access.
The repository lives in one working folder on one computer.
Setup
lit currently targets Python 3.12+.
python -m venv .venv
source .venv/bin/activate
python -m pip install -e .
lit init my-project
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e .
lit init my-project
You can also run python -m lit init my-project if you
prefer the module entry point.
Quick start
mkdir demo-project
cd demo-project
lit init
That command creates a local .lit/ directory with
config, refs, object folders, and merge/rebase state files.
lit init works. The rest of the Git-like command
set is present as reserved CLI names but is not implemented yet.
Commands
| Command | Status | Meaning |
|---|---|---|
lit init [path] |
Working | Create a deterministic local repository layout. |
lit add |
Reserved | Planned staging command. |
lit commit |
Reserved | Planned checkpoint creation command. |
lit log |
Reserved | Planned history viewer. |
lit status |
Reserved | Planned working tree summary. |
lit diff |
Reserved | Planned local comparison command. |
lit restore |
Reserved | Planned file restore command. |
lit checkout |
Reserved | Planned branch or commit switch. |
lit branch |
Reserved | Planned branch management. |
lit merge |
Reserved | Planned local merge command. |
lit rebase |
Reserved | Planned local rebase command. |
Today, reserved commands print a not-implemented message and exit
with code 2.
Workflow
This is the intended Git-like local workflow once the reserved commands are implemented:
lit init to create the repository.lit add to stage files.lit commit to save a checkpoint.lit branch to create a side branch.lit checkout to switch branches.lit merge to combine local work.lit rebase to replay local work on another branch.lit restore to discard a local file change.lit init
lit add journal.txt
lit commit -m "Create first note"
lit branch experiment
lit checkout experiment
lit merge experiment
lit rebase main
lit restore journal.txt
Read that example as a roadmap. In this revision, only
lit init is operational.
Comparison
Storage
.lit/
HEAD
config.json
index.json
objects/
blobs/
commits/
trees/
refs/
heads/
tags/
state/
merge.json
rebase.json
The current bootstrap uses sorted JSON files, a branch ref in
HEAD, and SHA-256 object identifiers for stored bytes.
Honest status
lit init is implemented today.Run locally
This site is plain static HTML and CSS. Open
website/index.html directly in a browser, or run:
python -m http.server
Then open the local URL shown by Python.