# Oak > Oak is the agentic substrate for software development: the version-control and storage layer autonomous coding agents build on. Mount remote repositories without a full clone, run a branch per task in parallel, snapshot up to 95% faster than git, and skip the per-commit message tax. Bring your own agent (Claude Code, Codex, Cursor): Oak is the version control system those agents push to, and it makes no AI calls of its own. Oak keeps a familiar surface — repos, branches, PR-style merges, push/pull, webhooks, large-file support — on a Rust engine with content-addressed storage, content-defined chunking (BLAKE3 + FastCDC), and lazy filesystem mounts. It is designed for how agents actually work: high branch volume, constant snapshots, parallel sessions, and large files. ## Key facts - Install: `curl -fsSL https://oak.space/install | sh`, then `oak login` and `oak init`. Or hand your agent the prompt from the homepage "Copy prompt" button and let it install itself. - Platforms: macOS (Apple Silicon) and Linux (x86_64). Lazy mounts use FSKit on macOS and FUSE on Linux. Linux ARM64 and Windows are on the roadmap. - Pricing: the Pro plan is $10/month and includes 100GB of storage. - Branch model: you always work on a feature branch locally; `main` exists only on the server; `oak merge` is a server-side squash; intermediate commits carry no message; the branch description is the source of truth and becomes the squash-commit message. - Performance: median (p50) latency is up to 95% lower than git on initial snapshots, dirty snapshots, large-binary diff/status, and agent setup workflows. git is faster on cold repo initialization and process spawn (one-time fixed costs). - Data portability: `oak export ` replays full branch history into a standard git repository, preserving author, email, and timestamp. A read-only git Smart-HTTP endpoint also serves the current `main` tree to stock `git clone`. - Privacy: Oak does not train machine-learning models on your code and makes no AI calls on your behalf. Any coding agent you run alongside Oak is its own separate integration. ## Pages - [Homepage](https://oak.space/): the pitch, the case against git for agents, benchmarks, and FAQ. - [Docs](https://oak.space/docs): CLI reference, branch model, mounts, and HTTP API. - [Pricing](https://oak.space/pricing): plans and limits. - [Blog](https://oak.space/blog): how and why Oak is built. - [Why I'm building Oak](https://oak.space/blog/git-is-forever): the founding note. ## CLI quickstart - `oak init [path]` — initialize a repository and create a personal feature branch parented on `main`. - `oak clone [owner/repo] [dest]` — clone an Oak repo, or run without an argument to pick interactively. Use `--branch ` to clone a branch and `--shallow` to fetch only the latest default-branch commit. - `oak mount / ./task` — project a repo into a working tree without a full clone; files stream in on first read. - `oak switch -c ` — start a feature branch for a task. - `oak desc ""` — set the branch description (this becomes the commit message on merge). - `oak commit` — local checkpoint on the feature branch (no per-commit message needed; does not publish). - `oak commit --push` — checkpoint, then explicitly publish the current branch. - `oak push --repo /` — link and push a brand-new repo (owner must be an existing org slug). - `oak pull` — fetch current-branch commits from the remote, then merge the parent branch into your branch. - `oak fetch` — refresh local `main` from the remote without touching the working tree. - `oak status --json --compact` and `oak agent state --json --compact` — stable, bounded machine-readable state for agents. - `oak branch review --merge-preview --json` — checkout-free review evidence, changed-file summaries, triage detail, and merge prediction. - `oak conflict status|show|take --json` — inspect or mechanically resolve in-progress merge, pull, or mount conflicts. - `oak finish --desc-file --json` — preflight, describe, checkpoint if needed, publish, and report the finalization phase. - `oak merge` — server-side squash onto `main`. - `oak export ` — replay full history into a fresh git repo. ## CLI command surface Documented command groups: start a repo (`init`, `clone`), snapshot changes (`status`, `info`, `agent state`, `conflict`, `diff`, `commit`, `restore`, `reset`), history (`log`, `hash`, `rev-parse --short HEAD` compatibility), branches (`branch list/show/diff/review/triage/rename`, `switch`, `desc`, `finish`, `close`, `split`, `merge`), server sync (`login`, `logout`, `whoami`, `push`, `pull`, `fetch`), mounts and spaces (`mount`, `mount list/finish/end/forget`, `space new/repos/clean`), sites (`site enable/disable/show/list`), local tooling (`export`, `archive`, `open`, `upgrade`, `maintenance compact`, `serve`), and gated releases (`release new/list/show/edit/publish/upload/delete-asset/delete`, enabled with `OAK_FEATURES=releases`). ## HTTP API surface The JSON API is rooted at `https://oak.space/api` and uses bearer API keys. Public docs cover auth (`/auth/*`, GitHub OAuth/App connect callbacks), repositories (`/repos`, `/{owner}/{name}`, visibility, transfer, push/pull protocol, size), branches (list/create/show/merge/sync/rename), content and chunk storage (`commits/info`, `tree`, `raw`, `blobs/*`, `chunks/*`), organizations and audit, webhooks, ideas, organization sites, live import streams, and CLI release distribution endpoints. Full route details are on https://oak.space/docs.