Review-sized PRs that stay ordered

Turn big changes into pull requests reviewers can follow.

Shortcake helps you build a feature as a stack of small branches, see the order at a glance, and submit matching GitHub PRs from the terminal. The stack travels with your Git history, so there is no service or background process to babysit.

~/acme — zsh
$ sc create -m "Add login form"
Created branch '2026-06-16-add-login-form' from 'main'

$ sc create -m "Add password reset"
Created branch '2026-06-16-add-password-reset' from '2026-06-16-add-login-form'

$ sc ls
 2026-06-16-add-password-reset (current)
 Add password reset

 2026-06-16-add-login-form
 Add login form

 main
  Initial commit

Why shortcake

Keep the review small without losing the story.

Stacked branches let you send a big change in the order it should be read: foundation first, follow-ups after. Shortcake keeps that order visible while you keep working in normal Git.

Split the change before review

Start the next branch from your current work and keep each pull request focused on one idea, not the whole feature.

Show reviewers the path

See the stack as a tree, then submit PRs with bases that match the order your reviewers should read them.

Stay close to plain Git

Rebase, push, checkout, and branch with the tools you already use. Shortcake keeps just enough context to rebuild the stack.

Adopt what you already have

Already started work? Bring an existing branch into a stack instead of recreating it.

The core loop

A short path from branch to PR.

Create a focused branch, check the order, and submit the stack. The rest of the CLI is there when you need to move, split, restack, or repair branches.

  • sc create -m …

    Start the next focused PR from wherever you are in the stack.

  • sc ls

    See every tracked branch in order, including where you are.

  • sc submit -d

    Push the stack and create or update GitHub draft PRs with the right bases.

stack · review order
Add password reset

Shortcake-Parent: add-login-form

Each branch remembers the branch it builds on. That small marker is why Shortcake can recover the order after rebases, checkouts, and pushes without a separate state file to keep in sync.

sc ui

Review the whole stack in your browser.

Run sc ui to open a local, GitHub-style view of every branch diff — file tree, inline comments, and AI review, reading straight from your repo. Nothing leaves your machine.

http://127.0.0.1:5173/#/working
Viewing diff Uncommitted changes
⌘K
auth/login.py +4−1
22def login(request):
23 form = LoginForm(request.POST)
24 user = authenticate(form)
24+ user = authenticate(form.cleaned_data)
25+ if user is None:
26+ raise InvalidCredentials()
shortcake review claude-opus warning

Failed logins aren't rate-limited here — consider throttling by IP to slow down credential stuffing.

27 return user

Start with one branch on top of another.

Install Shortcake, create a focused branch, and use sc ls to see the stack before you open PRs.

$ uv tool install shortcake

Requires Python 3.14+. The install exposes both shortcake and sc.