Documentation

Onset quickstart

Install the on command, sign in, start a project and land your first change.

This page takes you from nothing to a landed change.

1. Install

On macOS and Linux:

curl -fsSL https://downloads.coline.dev/onset/install.sh | sh

On Windows, in PowerShell:

irm https://downloads.coline.dev/onset/install.ps1 | iex

With Homebrew:

brew tap coline/tap https://git.coline.app/coline/homebrew-tap.git
brew install coline/tap/onset

The installer picks the build for your machine and checks its SHA-256. On macOS and Linux it puts on in ~/.local/bin. Run it again to update. Every build is also on the downloads page.

on --version

2. Sign in

on login

This prints a link and waits. Open it, sign in and choose Approve. Upstream and Coline share one account, so the page is on coline.app. When it's done, on prints your handle:

account   upstream.codes: signed in as sam (sam@example.com)

Agents and CI use a token instead. Make one in Tokens settings and set ONSET_TOKEN.

3. Start a project

Pick the one that fits.

Bring a Git repository. This makes a project with the default branch's history and tags:

on import https://github.com/you/shop --to upstream.codes/you/shop

Start a new one. on init makes a project that lives only on your machine. Land there as much as you like, then publish it:

on init shop
cd shop
# add files
on land -m "First version"
on publish upstream.codes/you/shop

Get one that exists.

on get upstream.codes/acme/shop

you is your handle on Upstream, or an organization's. New projects are private. Add --public to on publish or on import --to for one anyone can read.

4. The loop

on status                             # where you are
# edit files
on land -m "Fix the login redirect"   # put the change on main

There's nothing to stage or commit. on land saves your change, and the server merges it with whatever landed since you started. Afterwards you're on a new, empty change and your files are unchanged.

Every command ends with a next: line that says what to do.

5. Work in parallel

Give each agent or task its own folder:

on get upstream.codes/you/shop ../shop-search
# or, from inside a workspace
on workspaces add ../shop-search

A second workspace takes seconds. Each one lands when it's ready, in any order.

When a land doesn't go through

ExitCodeWhat to do
3conflictRun on sync, fix the marked lines, then on land again.
4checks_failedA check failed. Fix it, then on land again.
5waitingSomeone else has to approve or land it.
6offlineThe change is saved. Land again later.
8secretRemove the secret from the line it names.

Landing explains each one.

Fix a mistake

on undo                                   # undoes the last on command, a land included
on restore src/app.ts --at "10 min ago"   # a file as it was ten minutes ago

Tell your agent

on guide prints the instructions for coding agents. Add them to the project:

on guide >> AGENTS.md