# walgit

A single-binary Git server with no database or leader, backed entirely by an S3 or GCS bucket, so any machine running it is a disposable cache of the repository.

walgit hosts Git repositories with no database, no leader and no local state that matters. A single binary is pointed at an S3 or GCS bucket and serves smart HTTP (v0/v2) fetch and push, bundle-uri clones as static files, Git LFS, a browsing web UI, a JSON API with an SDK, per-repository push policy, and webhooks, for repositories that can be larger than the machine serving them.

It implements, in Rust, the architecture described in Cursor's Git at any scale post (which the project calls Continuity), adapted to run on machines smaller than the repository. A push is stored as an immutable object in the bucket and becomes visible only when a small manifest is rewritten with a compare-and-swap, which acts as the consensus mechanism: any instance can accept a push, and racing instances cannot both win. Adding more machines pointed at the same bucket serves the same repositories consistently, with nothing to coordinate.

It is MIT licensed.

Website: https://github.com/rgodha24/walgithub
