Documentation
Onset
Version control built for agents: any number of agents land on one main at once, work saves itself, and anything can be undone.
Onset is version control built for many people and agents working on one codebase at once. Its command is on. Any number of agents can land on one main at the same time, work saves itself, and anything can be undone.
Onset is in public preview for macOS, Linux and Windows. It's included on every plan, including Free, and it's open source at upstream.codes/coline/onset.
The five words
| Word | Meaning |
|---|---|
| Change | One piece of work. It has an ID made of letters, like rtnbkcvx, and keeps that ID from start to finish. It replaces Git's commit, branch, stash and reflog. |
| Main | The project's shared history. It moves only when a change lands, and each landing makes a numbered version: main 1, 2, 3. |
| Land | Puts a change on main. The server merges it with whatever landed since the change started. |
| Workspace | A folder working on one change. Make as many as you like. The work lives in the change, not the folder. |
| Save | A snapshot of a change. Onset saves on its own, and every save of an open change is kept. |
There's no staging, no commit command, no branch names and no pull or rebase before you land. Numbers are always versions, and letters are always changes.
A first look
$ on get upstream.codes/acme/shop
workspace ~/shop (upstream.codes/acme/shop)
change rtnbkcvx new, empty, on main 48190
next: edit files, then on land -m "what you did"
$ on land -m "Fix login redirect loop"
landed rtnbkcvx as main 48214 "Fix login redirect loop"
merged with 23 versions that landed since main 48190
change qwhmdzst new, empty, on top of what you just landed
next: keep working, or on sync to bring in others' work
Two agents work in parallel by each getting a workspace. Both land whenever they're ready, in any order. Neither waits for the other or pulls first.
What Onset promises
- Nobody waits. Landing is the server's job, so a land is never refused because someone else landed first. A new workspace takes seconds.
- Nothing is lost. Work saves itself, and
on undotakes back what you did, including a land. Deleting a workspace folder loses nothing. - Private where you need it. A folder can be visible to only some people. Your
.envfiles are yours alone, and added lines are checked for secrets before anything lands.
Where to go next
- Quickstart: install, sign in and land your first change.
- Landing: how the server merges, and what to do when a land doesn't go through.
- Workspaces: one folder per agent, big projects and working offline.
- Saves, undo and restore: how to get anything back.
- Access and secrets: private folders, sealed folders and
.envfiles. - Git and GitHub: import a repository, keep pushing with Git, or mirror GitHub.
- Agents: tokens, JSON output, the HTTP API and the MCP server.
- Command reference: every command,
onset.tomland the limits. - Host it yourself: run
onset-server.
Limits in the preview
- A project can hold up to 100 GiB, and one file up to 5 GB.
- Importing a big repository takes a while: about 25 minutes for 3,000 commits and a gigabyte of files. If it's cut off,
on publishin the import's folder carries on. - A project's first lazy get takes about a minute for 10,000 files. Later ones take a few seconds.
- A very busy project's Git view can fall behind main. It catches up when landing slows.
- Lands through the HTTP API or MCP are authored by the token's account.