PRereq

Hold the merge
until the prerequisites
land.

PRereq reads depends on #88 from your pull requests and posts a check that won't go green until every PR it needs has merged. Stacked work ships in the right order — on its own.

One click install · No credit card required

feat: checkout summary panel

acme/web #142

open

Adds the order summary UI.
depends on acme/db#88

Commits
  • 3f9a1c2wire summary totals
  • e77b0d4handle empty cart
  • b2c5e88add loading skeleton

build

Running…

typecheck

Running…

prereq

Running checks…

running
Running checks…

Four steps. Then it's just there.

The order matters, so the layout follows it — a single dependency line threaded through the whole flow.

  1. 01

    Write the dependency

    Drop “depends on acme/db#88” in your PR description — cross-repo refs welcome. Say it however your team already talks: blocked by, requires, needs.

  2. 02

    PRereq posts a check

    The moment the PR opens, a required status check named prereq/dependencies appears alongside your build and tests.

  3. 03

    The merge holds

    While any prerequisite is still open, the check stays red and GitHub won’t let the pull request merge. No accidental out-of-order landings.

  4. 04

    It clears itself

    Merge the PRs it depends on and the check turns green on its own. No re-runs, no comments to type, no babysitting.

Small check. Strong guarantees.

Cross-repo dependencies

Depend on a PR in any other repository. Just state the repo name and PR number and PRereq will find it.

Cycle detection

If two PRs end up waiting on each other, PRereq names the loop instead of quietly deadlocking your merges.

Reads your words

No new syntax to learn, just tell PRereq how your team expresses dependencies.

Enforced, not advisory

PRereq is a status check. Add it to your required checks and the merge order becomes a rule, not a reminder.

One install, every repo

Install once on the organization. New repositories are picked up automatically.

Fair metering

You're only counted for checks that actually enforce a dependency. A pull request with no prerequisites is free.

Straight answers.

Still unsure how it fits your workflow? Start free and watch it on real PRs.

What does PRereq do?
It reads dependency declarations out of your pull request descriptions — “depends on #123”, “blocked by org/repo#45” — and posts a check run that holds the merge until the prerequisite lands.
Does it work across repositories?
Yes, and that is the point. A pull request in one repository can declare a prerequisite in another. Merge queues cannot express this: they operate on a single repository at a time.
What does it cost?
Nothing. Unlimited check runs, unlimited repositories, unlimited people, no card required.
What if PRereq gets it wrong?
Add the “prereq:deps” or “skip-prereq” label to the pull request and the check stands down immediately. Nothing stays blocked because a heuristic misread a sentence.
Does it ever let a bad merge through?
No. An unmet prerequisite always produces a failing check. PRereq is free and has no quotas, so there is nothing that could stop your checks from running.

Stop merging things in the wrong order.

Install PRereq on your organization and the next dependent PR you open is protected. It takes about a minute.