Kov / Work in progress

Version control with deliberate history.

Kov is an experimental version control system being designed around explicit actions, clear staged state, understandable history and safe recovery. It is local-first while its core model is being proven.

WIPLocal firstPythonIndividual developers first
The idea

Know what you are saving.

Kov treats staging as a deliberate plan rather than a temporary mystery. Whole files or selected chunks can be staged, annotated and reviewed before they become history.

If a file changes after it has been staged, Kov keeps the staged version frozen and makes the divergence visible instead of silently replacing it.

terminal
# choose what belongs in history
$ kov stage chunks app.py

# see staged and unstaged changes
$ kov status
staged: app.py · 2 chunks
changed since stage: no
unstaged: tests/test_app.py

# commit the staged plan
$ kov commit
Design direction

What Kov is aiming for.

The command surface and storage model are still evolving. These are the principles currently shaping the project.

01

Explicit staging

Stage full files or selected chunks. Keep the staged content stable even if the working file changes later.

02

Readable history

Messages can belong to staged items so a single commit can still preserve why individual changes exist.

03

Safe reversal

Reverse by creating a new inverse change instead of quietly rewriting what already happened.

Operations

History should understand more than edits.

Rename and move

Record the relationship between old and new locations instead of reducing every operation to deletion plus addition.

Copy

Represent tracked duplication when one module becomes the basis for another.

Reverse

Create an inverse change as new history so the record remains intact.

Symlinks

Store link metadata and recreate the link when restoring rather than copying its target.

Current boundary

Local reliability comes first.

Hosting, accounts, remotes, push and pull, and collaboration are intentionally not the first milestone. Kov needs to become trustworthy on one machine before the networked layer matters.

Kovheim will eventually sit above that foundation rather than forcing the local model to bend around a hosting site too early.

How Kovheim fits