Local-first metadata
Stack relationships live in `.git/config`. No service to log into, no project to create. Drop the binary on your PATH and start stacking.
A small CLI for stacked pull requests. Free, local-only, no SaaS, no IDE plugin, no login.

Stacked pull requests — small, dependent branches that each become their own PR, with each PR's base set to the branch below it — make code review faster and keep changes reviewable. Every existing tool either ships as a SaaS, a paid IDE plugin, or a heavyweight rewrite of git. sm is a single Go binary that records the parent of each branch in git config and keeps the chain in sync as you iterate.
Start a feature stack from trunk:
git switch main
sm create feat/auth-modelsEdit your files, then commit (auto-restacks descendants):
sm modify -a -m "models: add User"Stack a second branch on top of the first, edit, commit:
sm create feat/auth-handlerssm modify -a -m "handlers: /login"Inspect the tree, then push the whole stack as PRs with bases wired:
sm logsm submit --stackThat's the whole loop. From here: