project live

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 .koh file
  • 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 doctor checks the history and the remote, repairs what it can, and writes safe backups
  • Build and publish releases from a koh.build recipe with koh offer --builds
  • Saves can record which coding agent made them and in which session, and commands print --json for 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.