stkd vs Graphite

stkd vs Graphite — open-source stacked diffs

stkd and Graphite both implement the stacked-diff workflow with a gt command. stkd is Apache-2.0, supports GitHub and GitLab (self-hosted included), and ships an MCP server for AI agents.

Last updated

Pick stkd if…

  • You want an open-source CLI you can audit, vendor, or fork.
  • Your team uses GitLab (cloud or self-hosted).
  • You want first-class MCP integration for AI agents like Claude Code.
  • You want to self-host the team dashboard on your own infrastructure.
  • You want to avoid a per-seat SaaS bill.

Pick Graphite if…

  • You're on GitHub-only and the Graphite free tier already covers you.
  • You depend on Graphite's hosted review UI, merge queue, or auto-submitter.
  • Your team has standardised on the Graphite Web app and the loss of those features outweighs the open-source upside.

Graphite popularised the modern stacked-diff workflow on GitHub. It’s a polished SaaS product with a CLI (gt), a review web app, and a paid team plan. stkd is the open-source, Graphite-compatible CLI — same gt command, same metadata model, plus GitLab support and AI integration.

This page is a direct comparison. We don’t pretend stkd wins every dimension — for GitHub-only teams on the Graphite free tier, Graphite is excellent and you should keep using it.

Side-by-side

stkdGraphite
LicenseApache-2.0Source-available, paid SaaS
CLI commandgtgt
Stacked-branch metadatabranch.<name>.parent in git configbranch.<name>.parent in git config
GitHub supportYesYes
GitLab.com supportYesNo
Self-hosted GitLab supportYesNo
Auto-restackYesYes
Interactive TUIYes (gt tui)No
Submit entire stackYesYes
MCP server for AI agentsYes (stkd-mcp)No
Self-hosted web dashboardYes (optional, OSS)No (SaaS only)
Hosted SaaS dashboardNoYes
Review web appNo (use GitHub / GitLab)Yes
Merge queueVia provider (GitHub / GitLab)Yes (proprietary)
Per-seat pricingFree, foreverFree + paid team tier
Telemetry defaultOffOn (opt-out)
Migration costOne command (gt repo init)N/A (you’d be migrating from this)

Why someone would pick stkd

Several concrete reasons, in rough order of how often they come up:

  1. You’re on GitLab. Graphite doesn’t support GitLab. stkd is one of very few stacked-diff CLIs that does, including self-hosted GitLab. If you’re a GitLab shop, the choice is made for you.
  2. You want true open source. Apache-2.0 is permissive: you can audit it, vendor it, modify it, redistribute it. Graphite’s CLI is source-available; the dashboard is closed.
  3. You want AI-agent integration. stkd ships an MCP server so Claude Code, Cursor, and other AI agents can drive stacks natively. Graphite has no equivalent.
  4. You want to self-host the team view. stkd’s optional dashboard is a small Rust service you run on your own infrastructure. Graphite’s web app is SaaS-only.
  5. You want zero per-seat cost. stkd is free for individuals, teams, and enterprises. No paywalled features.

Why someone would pick Graphite

Honesty matters; Graphite is genuinely better for some teams:

  1. You depend on Graphite Web’s review experience. The Graphite app has a polished, opinionated review UI with stack navigation, threaded comments, and reviewer queue management. stkd doesn’t have an equivalent — it expects you to review in GitHub or GitLab.
  2. You use Graphite’s merge queue. GitHub now has a native merge queue, and you can pair stkd with it cleanly, but if you’ve built workflow around Graphite’s specific queue features, switching costs are real.
  3. The Graphite free tier covers you. If you’re a small team on GitHub and Graphite Free meets your needs, the philosophical advantage of OSS may not outweigh the comfort of an established product.

Migration

If you decide to migrate, it’s a one-command operation:

brew install neul-labs/tap/stkd
cd path/to/repo
gt repo init        # reads existing Graphite metadata

Your existing stacks appear in gt log unchanged. The full guide is here.

What stkd doesn’t try to do

To be clear about what you’re trading off:

  • No hosted SaaS. stkd’s dashboard is self-hosted. If you want zero ops burden, Graphite’s hosted offering is one click.
  • No proprietary review UI. stkd doesn’t replace GitHub or GitLab for code review. If you’ve fallen in love with Graphite Web’s inline review experience, you’ll miss it.
  • No private support contract. stkd is community-supported via GitHub Issues and Discussions. Paid plans buy you Graphite’s SLA-backed support.

Verdict

Choose stkd if open source, GitLab support, AI integration, or self-hosting matter to you. Choose Graphite if you live entirely inside GitHub and you value Graphite Web’s polished review experience over those things.

Either way, both teams want the same thing for you: smaller PRs, faster reviews, less context-switching. Pick the tool whose tradeoffs match your team.

vs Graphite

Questions, answered.

No. stkd is an independent, Apache-2.0 implementation. It reads the same branch metadata Graphite stores in .git/config (parent / parent base), so the workflows are interoperable, but the source code is unrelated.

Ready to stack your next change?

Install stkd in under a minute. Apache-2.0, single binary, every major platform.