Oak is the agentic substrate for software development: the version-control and storage layer that coding agents β and the people directing them β build on. It's where your agent (Claude Code, Codex, Cursor, or anything else) reads, writes, branches, and publishes code and assets.
Oak doesn't run agents. Bring your own; Oak is the version control system they push to. It makes no AI calls on your behalf and never trains on your code.
The five ideas#
Everything in these docs follows from five decisions. If you only read one section, read this one.
- A branch is a task. Not a long-lived line of development β one unit of work, usually one agent session.
oak initandoak cloneput you on a fresh personal branch, and branches are cheap enough to make one per task. - Commits are checkpoints; the branch description is the message.
oak committakes no-m. What the change is gets written once, on the branch, withoak desc. mainlives on the server, and only merges reach it. You never commit tomainlocally and direct pushes to it are refused. Publishing a branch and merging it are separate steps, and merging is a human's call.- Merging squashes. A merged branch becomes exactly one commit on
main, whose message is the branch description.mainreads as one line per task. - You don't have to clone.
oak mountputs a working tree on top of a remote repo and fetches files as they're read, so a 20 GB monorepo is editable in seconds β and ten parallel tasks means ten mounts, not ten clones.
Around that core, oak.space adds what a team needs to land changes safely: native CI that gates merges, path permissions declared in the repo, organizations, webhooks, and a JSON API.
Where to start#
| If you want to⦠| Read |
|---|---|
| Install the CLI and sign in | Install and sign in |
| Get a repo onto Oak and merge your first change | Quickstart |
| Translate what you know from Git | Coming from Git |
| Point a coding agent at Oak | Working with agents |
| Run several agents on one big repo | Example: a fleet of agents |
| Set up CI | Continuous integration |
| Look up a command or flag | CLI reference |
| Script against oak.space | HTTP API reference |
Platforms#
The oak CLI ships for macOS (Apple Silicon and Intel), Linux x86_64, and Windows x86_64. Lazy mounts use each OS's own virtual-filesystem layer β FSKit on macOS 26+, FUSE on Linux, the Projected File System on Windows. Linux ARM64 binaries are published on the GitHub releases page but the installer doesn't select them yet.
For agents#
Every page has a Copy page button and a .md link that return its Markdown source. /docs/llms-full.txt is every page in one file. And oak skill install drops an oak-vcs skill into your repo so agents pick up the workflow without being told β see Working with agents.
Your data stays yours#
oak export replays any Oak repo's full history into an ordinary Git repository β authors, emails, and timestamps intact. It's the documented escape hatch, and it always works. See Git import, export, and interop.