npx claudepluginhub mrmans0n/git-gudStacked diffs CLI for GitHub and GitLab. Skills for creating, syncing, landing, and managing stacked PRs/MRs with gg.
No description available.
RuFlo Marketplace: Claude Code native agents, swarms, workers, and MCP tools for continuous software engineering
Code intelligence powered by a knowledge graph — execution flows, blast radius, and semantic search
Share bugs, ideas, or general feedback.
A stacked-diffs CLI tool for GitHub and GitLab, inspired by Gerrit, Phabricator/Arcanist, and Graphite.
Stacked diffs allow you to break large changes into small, reviewable commits that build on each other. Each commit becomes its own Pull Request (GitHub) or Merge Request (GitLab), with proper dependency chains. This enables:
You can read more here or here.
brew install mrmans0n/tap/gg-stack
cargo install gg-stack
git-gud automatically detects your remote provider from the URL (github.com or gitlab.com) and uses the appropriate CLI tool.
Self-hosted instances: For GitHub Enterprise or self-hosted GitLab (e.g.,
gitlab.mycompany.com), rungg setupto manually select your provider.
Authenticate with your provider before using git-gud:
# For GitHub
gh auth login
# For GitLab
glab auth login
# Create a new stack
gg co my-feature
# Make changes and commit (normal git workflow)
git add . && git commit -m "Add data model"
git add . && git commit -m "Add API endpoint"
git add . && git commit -m "Add UI component"
# View your stack
gg ls
# Sync with remote (creates PRs/MRs)
gg sync --draft
# Navigate within the stack
gg first # Go to first commit
gg next # Go to next commit
gg prev # Go to previous commit
gg last # Return to stack head
# After review feedback, modify a commit
gg mv 1 # Move to commit 1
# make changes...
gg sc # Squash changes into current commit (or: gg amend)
# Land approved PRs/MRs
gg land --all
# Clean up merged stacks
gg clean
📚 Full documentation — guides, command reference, configuration, and more.
gg co supports managed Git worktrees so you can develop a stack in its own checkout while keeping your original repository working tree untouched.
gg co my-feature --wt
# or
gg co my-feature --worktree
This creates (or reuses) a managed worktree for the stack and checks it out there.
By default, git-gud creates worktrees next to your repository using:
../<repo-name>.<stack-name>
For example, if your repo is at /code/my-repo, stack user-auth is created at:
/code/my-repo.user-auth
You can customize the base directory with defaults.worktree_base_path in .git/gg/config.json.
{
"defaults": {
"worktree_base_path": "/tmp/gg-worktrees"
}
}
gg ls / gg ls --all shows [wt] for stacks that have an associated worktree.gg clean detects associated stack worktrees and removes them as part of cleanup (with confirmation unless --all is used).# 1) Create stack in a worktree
gg co user-auth --wt
# 2) Work inside the new worktree
cd ../my-repo.user-auth
git add . && git commit -m "Add user model"
git add . && git commit -m "Add auth endpoints"
# 3) Sync stacked branches / PRs/MRs
gg sync
# 4) Inspect stacks (worktree stacks are marked with [wt])
gg ls --all
# 5) After landing, clean stack + managed worktree
gg clean