sourcekeep

SourceKeep

Git was built in 2005. Software isn’t built that way anymore.

Git was made for the Linux kernel. People emailed patches to a mailing list. Almost twenty years later, the way we build has changed. Most code is now written by AI agents. Teams need privacy that “public repo or private repo” can’t give them. And we just put up with the daily friction of branches, commits, and worktrees. We stopped asking why.

SourceKeep asks why. And it’s being built in the open.

The one thing git got wrong

Most problems with git come from one choice. Git copies the whole repo to every clone, and turns it into real files on your disk.

That one choice is why a few things are hard.

Fix the foundation and the rest follows.

The idea

The repo is a database, not a folder. Your working copy is a view of it, not the real thing.

One real copy lives on the server. It keeps the good parts of git, like storing data by its content. It drops the rest, like copying everything to every machine. On top of that, three things git can’t do.

1. Private by path

Open source shouldn’t mean all of your code, public, all of the time.

GitHub can’t do this. A git clone needs the whole repo, so it’s all or nothing. That’s why this has to be a clean break.

2. Built for the agents writing your code

Most code is written by agents now. They shouldn’t have to drive a 2005 command-line tool and parse its text.

3. A worktree that actually works

Start a fresh, throwaway work area from any commit in milliseconds. Unlike git worktree, it brings everything you need to run.

Start ten from the same commit. Each one is isolated. Let an agent work in each. Keep the one whose tests pass. Throw the rest away. No worktrees to manage. No containers to set up and tear down. No waiting.

A clean break from git

This isn’t git with a compatibility layer. Git’s model is the problem. Being git-compatible would just bring back the limits we want to remove. A real git clone has to copy the whole repo, and that’s what makes private files in a repo impossible. Being git-native would mean we couldn’t do the one thing SourceKeep is for.

So we keep the good ideas, drop the rest, and give you a one-way path to bring your code in.

Open, and yours

This lives on GitHub until SourceKeep can host itself. Moving it onto SourceKeep is the first milestone.

This is early, and I want your take

Right now SourceKeep is a direction and a thing being built in the open. It’s not finished. I’ve written software for about 27 years, and I think its foundation is wrong for how we build today.

This is the thinking so far. If it speaks to you, or if you think I’m wrong, I want to hear it.

Follow along or reach me on X at @jtwebman, or use the contact form at jtwebman.com.