Comparison

ReviewOS and Forgejo

Forgejo, and Gitea before it, proved that a small self-hosted forge is a good idea. This is the closest comparison on this site, and the most useful one.

What Forgejo has that this does not, yet

Forgejo is mature, widely deployed, and broad. Being honest about the gap is more useful than pretending it is not there.

  • Years of production use across thousands of instances, including Codeberg
  • A package registry, a wiki, and built-in Actions-compatible CI
  • SSH transport, mirroring, and a long list of migration importers
  • ActivityPub federation work that is genuinely ahead of anything here

Where this one is deliberately different

Both are small, self-hosted, and open source. The difference is what the complexity is spent on. Forgejo spends it on breadth; this spends it on the review.

  • Review threads anchored to a commit, surviving rebases and force pushes
  • Stacked pull requests as a first-class object with automatic retargeting
  • Merge blockers computed together, including checks and unresolved threads
  • Diffs against the merge base, rendered on the server

Different technology, which matters mostly to you

Forgejo is Go and ships as a single binary, which is an excellent operational story. ReviewOS is TypeScript on Bun with Postgres, which matters if your team wants to read and change the code it runs.

An honest recommendation

If you want a proven, broad, self-hosted forge today, use Forgejo. If review is the specific thing failing you, and especially if agents are writing most of your diffs, this is worth an afternoon.

Run it beside your Forgejo instance

Mirror one busy repository into it and review a week of work in both.

Self-host ReviewOS See the features