Skip to content

rung

Stacked PRs made simple. Build, sync, and ship dependent branches with ease.

Large features are hard to review. Stacked PRs let you break them into small, focused changes that build on each other—making code review faster and merging safer.

Small, Focused PRs

Break large features into reviewable chunks. Each PR does one thing well.

Fast Reviews

Reviewers can approve smaller changes quickly. No more 1000-line review bottlenecks.

Easy Rebasing

When parent branches change, rung sync automatically rebases all children with one command.

GitHub & GitLab

Creates real GitHub pull requests and GitLab merge requests — including self-hosted GitLab — with automatic stack navigation comments.

Terminal window
# Install rung
cargo install rung-cli
# Initialize in your repo
rung init
# Create your first stack
rung create -m "feat: add user model"
# ... make changes ...
rung create -m "feat: add user API"
# ... make more changes ...
rung create -m "feat: add user tests"
# Submit all as PRs
rung submit
# View your stack
rung status
$ rung status
Stack
──────────────────────────────────────────────────
● feat-add-user-model #41 ← main
● feat-add-user-api #42 ← feat-add-user-model
● ▶ feat-add-user-tests #43 ← feat-add-user-api
──────────────────────────────────────────────────
● synced ● needs sync ● conflict

When the base branch moves forward, sync your entire stack:

Terminal window
$ rung sync
Synced feat-add-user-model (rebased 3 commits)
Synced feat-add-user-api (rebased 2 commits)
Synced feat-add-user-tests (rebased 1 commit)
  • Branch Tracking — Remembers which branches depend on which
  • Automatic Rebasing — One command syncs your entire stack
  • Conflict Handling — Pause, resolve, continue with --continue / --abort
  • PR/MR Management — Creates and updates GitHub pull requests and GitLab merge requests with stack navigation
  • Stack Comments — Automatic comments showing the PR/MR hierarchy
  • Undo Support — Made a mistake? rung undo restores your stack
  • JSON Output--json flag for CI/CD integration
  • Git 2.x
  • GitHub CLI (gh) / GITHUB_TOKEN, or GitLab CLI (glab) / GITLAB_TOKEN
  • Rust 1.88+ (for building from source)