Lightning Git shows teammates each other's uncommitted edits while they type and predicts the merge conflict while it forms. It is open source and self-hosted, and the backend only ever runs read-only Git commands.
Alpha prototype from a 2026 diploma thesis. MIT licensed.
Two people have src/auth/session.rs open on different branches: you on the left, your
teammate ben on the right, and underneath the web dashboard a product owner would open in the browser.
Seven short steps play on their own. Click any step to jump to it; after the last one both editors are
yours to type in.
A Rust backend mirrors the repository read-only and keeps every person's uncommitted edits in memory. Each open file has its own WebSocket. An edit is sent 250 ms after the last keystroke and reaches everyone else on that file in one hop, so a teammate's line updates while it is still being typed.
On every edit the backend diffs each live overlay and each branch against origin/main and
clusters the hunks that overlap. A cluster is reported as a conflict when it comes from at least two
distinct sources and their edits differ, because Git resolves identical edits on its own. The editor and the
dashboard both render what the backend sends.
The codebase shells out to five Git commands (clone, fetch, show,
ls-tree, branch -r) and none of them write. Live state is gone on restart. The
Notbremse resets your own overlays on the server in one click, for the moment a secret
ends up in a file you are typing in.
One repository, three packages, each with its own toolchain and full history. Path-filtered CI builds and tests whatever a change touches.
| backend/ | The engine. Read-only mirror clones, in-memory overlay state, one WebSocket per file, and the conflict prediction, which runs only here. Rust, actix-web, similar, Supabase JWT auth |
|---|---|
| frontend/ | The web dashboard from the demo above: the board built from the branch list, the live view with line comments and @mentions, org and project management. Vue 3, TypeScript, Vite, Pinia, Tailwind |
| extension/ | The developer's surface. Teammate peek with per-person colours, conflict gutter and panel, comments as inline decorations, the Notbremse. VS Code extension API, TypeScript |
docker compose up --build starts the backend and the dashboard on your machine; you bring a
Supabase project for accounts and project metadata. There is no public instance to sign into.
Built as a Swiss HF diploma project. Reach out if you want to talk.