One binary.
The whole forge.
Repositories, Change Requests, checks — the whole forge at your prompt, with Git that authenticates itself. No tokens to paste.
$curl -fsSL https://downloads.coline.dev/upstream/install.sh | sh$upstream auth loginSigned in as leo.$upstream repo clone coline/upstreamCloning coline/upstream (https) ...One line to install.
The installer picks the release for your machine, verifies its SHA-256 checksum, and drops the upstream command onto your path. One update command keeps you current — stable or latest, your call.
- macOS · Apple silicon
- macOS · Intel
- Linux · Arm64 · glibc
- Linux · x64 · glibc
Windows and musl-based Linux aren't supported yet.
$curl -fsSL https://downloads.coline.dev/upstream/install.sh | shApprove CLI sign-in
Upstream CLI on leo-mbp wants a forge session for leo.
$upstream auth loginOpening https://coline.app/cli/authorize in your browser ...Waiting for approval ...Session stored in your keychain. Git credential helper configured.Approved in your browser.
upstream auth login prints a one-time link and waits. Approve it with your existing Coline identity, and the CLI keeps a revocable session in your keychain — never your browser cookie.
When Git runs, the credential helper mints a short-lived credential scoped to one repository and your actual role. Nothing long-lived ever reaches a Git process.
How CLI authentication worksEveryday forge work, scriptable.
Commands running inside a clone infer the repository from origin. Add --json and pipe straight into your scripts and agents.
$upstream repo list --json$upstream repo create my-project --workspace acme$upstream repo clone acme/my-project$upstream cr create -t "Ship the retry logic" --push$upstream cr checks 42$upstream cr review 42 --approve$upstream cr merge 42 --squash$upstream workspace use acme$upstream ruleset view acme/my-project$upstream api /api/v1/upstream/public/reposOpen a terminal.
Put your work upstream.
Create an account, install the CLI, and open your first Change Request without leaving the shell.