Stacked PRs that stay stacked
Forge rebases, re-checks and re-routes reviewers as the stack changes. Land the bottom, the rest follows.
Forge runs only the tests your diff touches, reviews every line before a human does, and lands the merge in about ninety seconds. Works with the GitHub repo you already have.
Merging 2.1 million PRs a month for 3,400 engineering teams
01 · Anatomy of a merge
Every step below is a real span from PR #4182 in the acme/api monorepo — 1.4M lines, 61 services, 180 engineers.
Forge reads the diff, the dependency graph and the CODEOWNERS file before CI even starts.
Test impact analysis maps every changed symbol to the tests that exercise it. The other 9,598 stay cached.
Content-addressed build artifacts are shared across every branch, so the second build is almost free.
Forge comments like a careful staff engineer: idempotency, missing indexes, unhandled errors. Never style nits.
Reviewers are routed by ownership and load. Hot files with incident history pull in a second reviewer automatically.
The merge queue batches compatible PRs, re-runs only what changed after rebase and promotes to production.
02 · Auto-review
Forge checks for the bugs that page people at 3 a.m. — race conditions, missing idempotency, unbounded queries — and stays silent about semicolons.
03 · The ninety-second merge
04 · Built for the merge queue
Forge rebases, re-checks and re-routes reviewers as the stack changes. Land the bottom, the rest follows.
Tests that fail then pass on retry are isolated, owned and ticketed — never blocking your merge.
Content-addressed artifacts across every branch and laptop. Cold builds become a rounding error.
PR cycle time, review latency and flake rate per team — measured from the same spans that run your CI.
05 · Integrations
Forge is a GitHub App and a single YAML file. No runners to babysit, no agents in your VPC unless you want them.
“We used to batch merges at 4 p.m. because CI took fifteen minutes. Now people merge whenever they’re done, and the queue just… keeps up.”
Priya AnandHead of Platform, Tessellate · 240 engineers06 · Pricing
Open source and side projects.
Merge queues, test selection, unlimited review.
24 seats × $19 billed yearly
Self-hosted runners and custom retention.
Install the GitHub App, add one YAML file, push. Most teams see their first sub-two-minute merge the same afternoon.
Good call wrapping revoke + create in a transaction. Retries from the mobile client will still mint two sessions though — key the transaction on
request.idempotencyKey.Include the previous session id so dashboards can split rotations from logouts.
- audit.emit("session.rotated", { userId });+ audit.emit("session.rotated", { userId, prev: current.id });This file had 14 incidents last quarter — glad it pulled me in. Approving once the key lands.