Koh
Version control for the solo dev.
Koh never forgets a face. Version control that respects the solo developer’s actual workflow — quick to learn, instant to use, impossible to lose.
How it works
Each repository keeps its history in a single SQLite file, with one line of saves and no branches. koh save snapshots every file Koh tracks, including new ones, and stores unchanged contents only once. Before a risky change, koh checkpoint marks a point you can come back to. koh view opens a searchable history browser in the terminal.
Going back never rewrites history. koh undo, koh load, and koh pluck each record a new save, so the saves you stepped away from stay available. Anything that would change your files shows a preview and asks first.
Features
- Complete project snapshots on every save, in one
.kohfile - Undo, load any earlier save, or pluck one save’s changes onto your current work
- Sync between machines through an S3 bucket, a folder on a removable drive, or your own Kepr
- When two machines change the same file, Koh shows both versions and asks which to keep
koh doctorchecks the history and the remote, repairs what it can, and writes safe backups- Build and publish releases from a
koh.buildrecipe withkoh offer --builds - Saves can record which coding agent made them and in which session, and commands print
--jsonfor scripts - Runs on Apple silicon Macs and on Linux (ARM64 and x86_64)
Install
curl -fsSL https://koh.asha.software/install.sh | sh
The installer verifies the release checksum, and koh update keeps Koh current after that. Coming from Koh 2? Run koh update, then koh migrate in each repository. Migration keeps your save IDs and archives the old data.
Built for one
Koh is designed for solo developers who want the safety of version control without the ceremony. Master it in five minutes. Use it every day.