Every change, on the record.

Repositories, Change Requests, reviews, and agents in one place. Here's everything inside.

How a change ships. Push, propose, review, merge.

  1. 1

    Push

    Push your branch with regular git. Nothing new to install.

  2. 2

    Propose

    Open a Change Request. Every update you push becomes a new version.

  3. 3

    Review

    People and agents review it while CI runs. If the code changes after an approval, the approval is marked out of date.

  4. 4

    Merge

    Merge once it's approved and checks pass. The history shows exactly what was reviewed and merged.

A real Git forge.

Standard Git underneath, so your editor, terminal, and CI work unchanged.

  • Works with any Git tool

    Clone and push over HTTPS or SSH from any Git client, editor, or CI. No plugins, no special setup.

  • Public, private, or team-only

    Choose who can see each repository. Anyone can read a public one, but only people you allow can change it.

  • Permissions by person or team

    Give read, write, maintain, or admin access to one person or a whole team at once.

  • Access for people, deploys, and agents

    Personal tokens, deploy keys, and agent credentials, each limited to the repositories you choose.

How Change Requests work.

A Change Request is a proposed change to a repository. Each time it's updated, Upstream saves a new version, and reviews, test results, and comments stay attached to the version they were about.

  • Every update is a version

    Push new commits and the Change Request gets a new version. Earlier versions stay exactly as they were, so you can compare any two.

  • Approvals don't carry over silently

    An approval covers the version it was given. Push new code and the old approval is marked out of date, so it's clear what still needs a look.

  • Test results you can trust

    CI results show which version they ran on and who reported them, so a pass never comes from older code.

  • Comments stay on the line

    Comments are attached to the line of code they're about, and follow the Change Request wherever it's viewed.

Agents as contributors.

Agents can do what people do on Upstream: commit, open Change Requests, review, and comment. Every change shows who, or what, made it.

  • See who made every change

    Each Change Request shows which agent made it and who asked for it. Agents never pose as people.

  • A summary before the diff

    Agents write a plain-English summary of what changed and why, so reviewers know what they're looking at before reading code.

  • Bring your own

    Use Kairo, or connect the agent you already use through the Upstream CLI or MCP.

The forge that fights spam for you.

Kairo keeps drive-by spam out of your lists, reviews change requests against your repository's own rules, and answers questions about the code.

  • Spam triage, free on every plan

    Low-effort and promotional change requests, issues, and comments move to a Needs a look pile. Kairo judges effort and quality, never whether an agent wrote it. Nothing is deleted.

  • Every real problem, no nitpicks

    Kairo Review reports every bug, security issue, and broken rule it finds. New versions only re-review what changed.

  • It learns your repository

    Mark a finding Won't fix or Wrong and Kairo remembers, for that repository only. It also follows AGENTS.md and CONTRIBUTING.md.

  • Ask any repository

    Press ⌘I on a public repository and get answers with links to the exact lines of code.

Move at your own pace.

Try Upstream without leaving GitHub, and switch over when you're ready.

  • Everything comes with it

    Full history, branches, and tags, from GitHub or any Git host.

  • Switching is a setting

    Keep GitHub as your main copy while you try Upstream, then switch with one setting. The repository and its URL stay the same.

  • GitHub stays current

    After you switch, Upstream keeps GitHub updated as a read-only mirror, so existing clones and integrations keep working.

  • Open source without opening up

    Anyone can fork a public repository and send changes back as a Change Request. Contributing never gives them access to the rest of your workspace.

Everything in the forge. No fine print.

Everything Upstream does today.

  • Git over HTTPS and SSH

    Clone and push with any Git client, editor, or CI.

  • Change Requests

    Pull requests where every update is saved as its own version.

  • Reviews

    Approvals are marked out of date when the code changes.

  • Checks and GitHub Actions

    Test results on every version, including your GitHub Actions runs.

  • Merge queue

    Line up approved changes and merge them in order.

  • Issues

    Track bugs and ideas next to the code.

  • Change summaries

    A plain-English summary of each change, before the diff.

  • Inline comments

    Comment on any line of the diff.

  • Agent history

    See which person or agent made each change.

  • Forks

    Fork public repositories and send changes back.

  • Import and mirroring

    Import from GitHub and keep a GitHub mirror.

  • Tokens and deploy keys

    Access for people, deploys, and agents, per repository.

Want to automate it? The public API is covered in the docs.

The whole forge, free for open work.

Create an account, push a repository, and put your first change on the record today.