WPPX
IBKQWZ WSLRZ
GAAAAGV ZRFERZ
ZZ LAAAAACNIKOKAAAEJSQVZ
Z WGIGGGBAAAAAAAAAAAAAAADOZ
WPY Z WZ XGAAAAAAAACEJRVXPBAAEKV
ZQCAAFNPLOJPNEGX ZRIAAAAAAAFS SABAAABIW
ZVY XOECAAAAAAAAAEEEDAAAABLSYW ZTLBAAAAAAAALUZ
XJJX QCAAAAAAAAAAAAAAAADV ZZ YICAABAAAAAAAAAAHW
YYTPMCFZ WTEAAAAAAAAAAAAAAAAAABFJIEDFHAAAABBAAAAAAAAAAAAV
YPMEEGBAFOTPONKIHFAAAAAAAAAACCHHAAAAAAAAAAAEKLOODAAAAAAAAAAAAAACW
YUNGHJQPLEAAAAAAAAAAAAAAAAAAAEKTZ ZXKBAAAAACNWZ NACEEDBAAAAAAAGV
WMMIACKU YTHABKURRNCAAAAAAAFRZ ZYGAAAAV UKGPY YNAAAAAAEGOV
ZOIRZ ZWJMX RAAAAAFQZ TLBAAAAGSWWQFJY ZIAAAAAAAAAERZ
VKS XLAAAAAOZ XFINCAAAAAAAABBMZ TLJNAAAAAAAAAAAFX
UVZ QOMCAAAAAAJVWMGINHHBAAAAAAAAAAAAACSXZ ZZOICKHAAAAAAAAAAAAAAAGOZ
YTUSONJABKKCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAHX
VHJDABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE
VKAAAACLRUVXUHAAAAAAAAAAAAAAAAAAAAAAOAKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
OIPUNFAAAADQ XKAAAACMSTPDAAAAAAAAAAAAAASPACEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIX
VIAAAAACQZ YQPRQBAPZ WBAAAAAAAQIAAAAAAAAAAAAAAAAAENVYYYOBAAAAAAAFMOGAAAAAAACRZ
YWSLHZ ZXNSZ PFY WNBAAAAAAAAAFAAAAAAAAAAAAAAAKW XABAAAAALZZVEAAAAAAAAADNZ
ZY YZZQHHDQ SFAHNNGBAAAAAAAAAAAAAAAAAAAAAAAAAHU YUPCAAAAAAAOMDAAAAAAAAAAAAAEP
YJDDBFKGDLLKJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKZZ ZZTHFAAAAAAAAAAAAAAAAAAAAAAAAAAAADV
UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADDFFAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAT
SAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
X Z WQIHAAAAAAAAAAAAAAAAAAAAAAAAAAAADBAAAAAAAAAAAJNCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH
TKNXUULNIBDDCAAAAAAAAAAAAAAAABFHHBCAAAHUVXAAAAAAAAAAAAN YUFABGDCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKX
XHAAAAAAAAAAAAAAAADEKGBAAAAAAAELLICAAABJPAAAAAAAAAAAALZQGAAFLJJGAAAAAAAAAAAAAAAAAAAAAAAAAAAAJW
SHAAAAAAAAAABFMS ZVAAAIKPT ZSHAAAAAAAAAAAAAAAAABAAABCCCCKLLPXXUPJAADKOBAAAAAAAAAAAAHV
XRMMPGKPUSY VEAAAL TFAAAAAAAAAAAAAAAAAEQZ VCAAAIXQEAECBJIIQQY
TQUUMIBAAAAG SEAAAAAAAAAAAAACOZ UZ UGAAAAAP ZY
ZQDAAAAAAAJX PDAAAAAAAAAAAAQ UGKNGEFAAAAAAFX
TKNILOV XOHGNBAAA@A@AAU YQGEADAABCGQZ
YYEKHAAAAAAAAU ZXWRRYZ
ZRXDRFAJAAAAAAAJ
PIJTABJAAAAAAACV
YUSBNCADJAAAAAAAAK
QKALOAAHHAAAAAAAAAOY
YZLFBNNAAGZGAAAAAAAAAACNX
VQSNEDFLLGAABSQHAAAAAAAAAAAAAAGHHHLRRSU
YRMLKJCGLFBEFFJHAAJEAACAAAAAAAAAAAAAAAAAAACIX
Z YYYZ ZQQQTXYZZOQY UKM XVOJGHEAAAAAAAAAAAAABFW
SSSRSQQQQQPPPPPRZZYXXXXXXWWWWWWRQIJFFFFFFFHQQQQV
VVVTTTTTTTTTTTTTZ
Version control for AI tools
Experimental software — not recommended for production use. See terms.
curl -fsSL https://oak.space/install | sh
Git was built in 2005 for coordinating Linux kernel patches between human developers. It's brilliant at that. But AI coding tools have introduced a fundamentally different workflow, and Git's design assumptions are starting to show their age.
Git's index (the staging area between your working directory and a commit) exists so
humans can carefully curate which changes go into each commit. AI tools don't work
this way—they make a set of changes and want to snapshot them. The
git add / git commit
dance is unnecessary friction. AI agents routinely get confused by partially staged
state, untracked files, and the distinction between "modified" and "staged."
When two AI agents (or a human and an AI) work on the same codebase, Git's line-based three-way merge frequently produces conflicts that require manual resolution. This is fine when a human is at the keyboard. It's a showstopper for autonomous agents that need to commit, push, and move on. Every conflict is an interruption that requires human intervention or brittle heuristics to resolve.
Working tree, index, local branch, remote-tracking branch, upstream, HEAD, detached HEAD, reflog, stash—Git has a notoriously steep learning curve. AI tools burn tokens and make mistakes navigating this complexity. Rebasing goes wrong. Detached HEAD states cause lost work. The more surface area a VCS exposes, the more ways there are for an automated tool to end up in a bad state.
Git culture encourages squashing, rebasing, and amending commits to keep history "clean." But with AI-assisted development, you often want a complete record of what was generated, what was revised, and what was thrown away. Rewriting history destroys exactly the provenance information that matters most when code isn't entirely human-written.
Oak takes a snapshot-based approach. Every commit captures the complete state of your project—no staging area, no index, no partial states. You change files, you commit, you push. That's it.
Branches are lightweight and merge is designed around whole-tree snapshots rather than line-by-line patches. Content is stored by its BLAKE3 hash, so identical files are never stored twice regardless of how they got there.
The result is a version control system with a small API surface that's easy for both humans and AI tools to operate correctly. Fewer states to get into means fewer ways to get stuck.
# Initialize and start working
$ oak init my-app && cd my-app
# AI makes changes, you commit the snapshot
$ oak commit -m "Add JWT authentication"
# Push to remote, pull from remote. No surprises.
$ oak push
$ oak pull
# Branch, work, merge back
$ oak branch new auth-flow
$ oak commit -m "Add password reset"
$ oak merge
Oak is experimental software. Git has decades of hardening, an enormous ecosystem, and deep integration with nearly every development tool in existence. Oak doesn't replace any of that today.
What Oak is trying to answer is a narrower question: if you were designing version control from scratch for a world where AI agents write and modify code alongside humans, what would you build? The answer probably looks different from Git. Oak is one attempt at exploring that space.
Oak is built with Oak. Install the CLI, then pull the source:
# Install oak
$ curl -fsSL https://oak.space/install | sh
# Clone the oak source code
$ oak init oak.space/oak
$ cd oak
$ oak pull