
Stacked PRs are a cult you shouldn't need a PhD to join. I built Cairn so juniors stop fearing them and seniors stop babysitting a Jenga tower every merge.
Stacked PRs are great (in theory). Small changes, fast reviews, no mega-PRs that reviewers approve without reading because life is short.
In practice? Terrifying. You're rebasing chains of branches, retargeting bases mid-merge, and one wrong keystroke drops you into git archaeology at 5pm on a Friday.
Juniors bounce off them. I know because I watched myself bounce. Drone shot, from above, me at 2am wondering why my PR was suddenly targeting a branch that didn't exist anymore. Seniors know how to do it, they just also know how slow it is when someone merges to main under their feet and the whole chain needs redoing.
So I (with a little help from my friend) built Cairn. Keyboard-driven TUI for reviews, stacks, and the whole PR rodeo. Works today. And no, you don't have to sell a kidney to use it. https://github.com/dotnetemmanuel/Cairn
The idea: git-town owns the scary rebase math, Cairn is the cockpit. Zero hand-rolled rebases in the codebase. On purpose.
Your board splits into tabs: My PRs, Needs my review, Involved, Orgs, Notifications. Stack view draws your whole chain as a tree, one PR per stone. Review happens in the pane, diff and inline comments and approve, no browser trips. One key merges the bottom PR and re-parents the rest. Another ships the whole stack bottom-up, retargeting each base as it goes. Every destructive action gets a confirmation screen that tells you what's about to happen: which branches move, which PRs retarget, what breaks if you say yes. No "are you sure?" with zero context.
Then there's the rest: remote stack mode for teammate stacks on repos you never cloned, drift detection with one-key reconcile, intuitive 3-pane conflict resolver so you never bond with vim again, notifications inbox with live preview, context-aware help that only shows keys that do something on the current screen, syntax-highlighted diffs, file tree, hunk navigation, threaded inline replies, full-page conversation view, board sections powered by search filters, tab cycling, header jumping, grouping by repo, and dark and light themes fully overridable.
Daily driver at work. Feedback welcome, especially from anyone who's tried stacking and given up.