Documentation
Upstream documentation
Learn how to host repositories, review changes, run workflows, and work with the Upstream API.
Upstream is a Git forge for repositories, Change Requests, Issues, and automated workflows. It uses standard Git transport and keeps GitHub interoperability optional.
Use these docs to set up a repository, move existing work from GitHub, collaborate on changes, or connect an external tool.
Start with a repository
If you are new to Upstream, follow the quickstart. It covers account creation, repository setup, authentication, your first push, and your first Change Request.
Core concepts
- A namespace is the stable public name for a person or organization.
- A repository is the canonical home for Git data, settings, permissions, Issues, and Change Requests.
- A Change Request is a versioned proposal. Reviews and checks attach to the exact version they evaluated.
- Actions discovers GitHub Actions-style workflow files and records runs and jobs in Upstream, even when another provider executes them.
- GitHub Sync is an import, migration, or fallback path. Upstream does not require GitHub to remain the source of truth.
Useful entry points
- Create and clone a repository
- Move a repository from GitHub
- Open and review Change Requests
- Configure Actions
- Install the Upstream CLI
- Use the HTTP API
- Open the machine-readable API specification
Upstream and Coline share one identity and repository backend. Using upstream.codes does not create a second account or copy of your repository.