DevNews

Cursor Origin: what a GitHub mirror really changes

On this page
  1. A mirror can accept pushes without becoming independent
  2. Detachment changes who owns the current history
  3. Build integrations against the current API contract

Origin adds repository hosting to Cursor. Its most important deployment choice is whether the repository is native to Origin or remains a GitHub repository with an Origin mirror.

Origin mirror versus detached repository: mirrored pushes pass through to GitHub, which remains authoritative. Detachment makes Origin authoritative and stops push forwarding; the separate GitHub repository remains intact.
Origin mirror versus detached repository: mirrored pushes pass through to GitHub, which remains authoritative. Detachment makes Origin authoritative and stops push forwarding; the separate GitHub repository remains intact. Chart : PeopleAreGeek. Data source.
View full-size image

A mirror can accept pushes without becoming independent

The Origin documentation describes an early beta for Pro, Teams and Enterprise accounts, subject to team controls. Repository browsing and agent integration do not require moving every existing development service at once.

The GitHub mirroring guide says Git history, branches and tags synchronize, and pull requests synchronize in both directions. A push to the mirrored Origin remote passes through to GitHub, which remains authoritative. GitHub Issues and Actions configuration and secrets are not migrated into an equivalent Origin CI service.

This changes the outage analysis. Being able to read a mirrored checkout does not establish that writes, pull-request checks and deployment can proceed independently when GitHub is unavailable. The cover separates these two paths rather than presenting Origin as automatic failover.

Detachment changes who owns the current history

The documented Detach from GitHub action converts the copy into a standalone Origin-hosted repository. Subsequent Origin pushes stop flowing to GitHub, whose repository remains intact. Two intact repositories are not automatically two synchronized authorities.

Before a migration, rehearse on a disposable repository: create a commit and tag, push through the mirror, confirm their identifiers on both sides, then examine pull-request comments, checks and branch permissions. Record which system runs the build and holds deployment secrets. If testing detachment, document the resulting divergence and how an explicit return migration would reconcile it. This is a proposed evaluation, not a migration performed by PeopleAreGeek.

Build integrations against the current API contract

Origin's API is evolving. The September 5 changelog requires expectedHeadSha when CreateCommitFromFiles targets an existing branch. That gives an integration an explicit concurrency check instead of assuming its earlier view of the branch is still current.

For example, two workers read commit A; one publishes B. The second must not silently treat A as the current head. Handle the rejection, fetch the new state and reconcile changes before retrying. The important migration test is therefore not simply whether clone works: it is whether code, review state, permissions and automation still agree about the same revision.

Update beta eligibility and two-way PR sync, explain GitHub write-through versus detachment; use current API expectedHeadSha concurrency behavior.