Replace code reviews with verified intentAviator Verify
Aviator

av — open source

CLI to manage Stacked PRs

An open-source CLI to create, update, review, and merge stacked pull requests on GitHub. Break large changes into small, reviewable steps without losing your place.

Free and open source · Read the docs

From startups to Fortune 500s, the world's most effective engineering teams supercharge their developers with Aviator.

NotionAmplitudeSecureFrameCodaSlackFigmaSquareBoschDoorDashLightspeedNotionAmplitudeSecureFrameCodaSlackFigmaSquareBoschDoorDashLightspeed

Why stacked PRs

Ship in small, reviewable steps

Stacked PRs support a more collaborative and efficient development culture. Break a single big change into a stack of small, focused PRs that build on each other.

  • Smaller PRs, faster reviews

    Break a big change into focused PRs that stack on each other. Reviewers move quickly when each PR has one clear intent.

  • Sync changes across the stack

    Edit a parent PR after feedback and every child branch picks up the update automatically — no manual rebases, no broken history.

  • Keep coding while CI runs

    Start the next branch on top of an open PR. You stay productive while the previous one cycles through review and CI.

Read more about why stacked PRs are a game changer.

Why developers love av

Powerful navigation

Visualize your stack, and navigate across it using av tree. Split, fold, and reorder commits. Delete and rename branches without losing context.

  • Visualize the stack with av tree
  • Split, fold, and reorder commits
  • Add new branches anywhere in the stack
~/code/stack-demo# Add a branch to the stack$ av branch <branch_name># View the stack$ av tree main └── stack-1 #14 MERGING └── stack-2 #15 APPROVED └── stack-3 #16 ← current# Move up the stack$ av next# Reorder commits$ av reorder

Resolve conflicts quickly

No more fighting with merge conflicts across multiple PRs. av sync smartly synchronises stacked branches when you make changes — and conflict resolutions are seamlessly propagated to child branches.

  • Smart sync across the whole stack
  • Conflict resolutions cascade to children
  • Rebase without manual base-branch wrangling
~/code/stack-demo# synchronize the branches and push to remote$ av sync --trunkSynchronizing branch stack-2… - fetching latest pull request information for stack-2 - fetching latest commit from origin/main - rebased without conflicts - this branch is now a stack root based on trunk branch main - pushing stack-2… okay

Manage PRs without bookkeeping

Create PRs and coordinate code reviews without worrying about managing parent–child relationships. av tracks the entire stack to create and modify PRs intelligently. Use av pr status to view approval, queue, and CI status.

  • av pr creates the PR and wires up the base branch
  • av pr status shows approvals, CI, queue at a glance
  • Updates to a parent PR cascade to the rest of the stack
~/code/stack-demo# create a PR for the branch in the stack$ av prCreating pull request for branch stack-1: - pushing to origin/stack-1 - created pull request https://github.com/yourname/yourrepo/pull/16# check the PR status$ av pr status

Stack-aware merge queue

Queue your entire stack — or just the bottom N — to auto-merge using Aviator's stack-aware MergeQueue. av pr --queue sends the stack to the queue and tracks status as it lands.

  • Queue the whole stack or a partial stack
  • Stack-aware ordering keeps history clean
  • Track queue status from the CLI
~/code/stack-demo# queue the PR for merging$ av pr --queueQueued pull request https://github.com/jain-av/mq-demo/pull/3938 position 2 of 12 · CI 3/4 passing · ETA 4m

Supercharge your git workflow

Install av in a single command and ship smaller PRs today.

The Hangar — community of DX leaders

Join us at The Hangar

A vetted community for developer-experience (DX) enthusiasts.