stackit¶
stackit is a command-line tool that makes working with stacked changes fast and intuitive.
-
Visual branch tree
See your entire stack at a glance with stackit log
-
Automatic restacking
Keep all branches up to date when you rebase or modify a parent
-
Submit entire stacks
Push all branches and create/update PRs in one command
-
Smart merging
Merge stacks bottom-up or squash top-down with intelligent workflows
-
Claude Code integration
Generate integration files for AI assistants with context-aware commands
-
GitHub integration
Install CI checks to prevent merging locked PRs
What is stacking?¶
Stacked changes (or "stacked diffs") is a development workflow where you break a large feature into small, focused branches that build on top of each other. Instead of one massive Pull Request, you have a "stack" of smaller PRs.
Why use stacking?
- Faster Reviews: Reviewers can process small, 50-line PRs much faster than a single 500-line PR
- Parallel Work: Don't wait for a PR to merge before starting the next part of your feature
- Incremental Shipping: Parts of a feature can be merged and deployed as they are approved
- Cleaner History: Each PR represents a logical step in your feature's development
The Stacked Workflow¶
graph BT
main[main branch] --- B1[PR 1: API Changes]
B1 --- B2[PR 2: Implementation]
B2 --- B3[PR 3: UI Components]
B2 --- B4[PR 4: CLI Support]
B3 --- B5[PR 5: Integration Tests]
style main stroke-dasharray: 5 5
Stacks naturally form a tree structure—a single branch can have multiple children when you need to work on parallel features. Stackit manages the complexity of this workflow—automatically handling rebases, keeping track of parent-child relationships, and submitting the entire stack to GitHub with a single command.
Quick start¶
Get started with stackit in minutes:
Need help?¶
- Read the User Guide to learn core concepts
- Check Common Workflows for examples
- Explore the CLI Reference for all commands
- Visit FAQ for frequently asked questions