Skip to content

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:

Get started Installation

Need help?