git-loom is a Git CLI tool that makes working with integration branches seamless. Inspired by tools like jujutsu and Git Butler, git-loom helps you work on multiple features simultaneously while keeping your branches organized and independent.
▶ Watch it in action: command line · TUI
Important
git-loom has been written with the help of AI, especially Claude
Full documentation is available at https://narnaud.github.io/git-loom/
- Shell setup (completions for PowerShell, Clink, bash, zsh, fish)
- Configuration (remote type, push remote, hidden branches)
- Working with AI agents (let Claude Code drive loom)
Workflow:
init Initialize a new integration branch
update, up Pull-rebase and update submodules
push, pr Push a branch to remote
agent Install the loom skill for AI agents
Staging:
add Stage files using short IDs or paths [-p for interactive hunks]
Commits:
commit, ci Create a commit on a feature branch [-p for interactive hunks]
fold Amend, fixup, or move commits [-p for interactive hunks] [amend, fixup, mv, rub]
absorb Auto-distribute changes into originating commits
split Split a commit into two [-p for interactive hunks]
swap Swap two commits
reword, rw Reword a commit message or rename a branch
drop, rm Drop a change, commit, or branch
Branches:
branch, br Create a feature branch
merge Merge an existing branch into integration
unmerge Remove a branch from integration (keeps the ref)
switch, sw Switch to any branch for testing (without merging)
worktree, wt Manage worktrees, each with its own integration branch (list by default, new, drop, path)
Inspection:
status Show the branch-aware status (default command)
tui Interactive status TUI (tree + diff, with actions)
show, sh Show commit details (like git show)
diff, di Show a diff using short IDs (like git diff)
trace Show the latest command trace
Recovery:
continue, cont Resume a paused operation after resolving conflicts
abort Cancel a paused operation and restore original state
cargo install git-loomSee the installation guide for more options (Scoop, pre-built binaries, from source).
Contributions are welcome!
This project uses pre-commit to manage Git hooks. Install the hooks with:
pre-commit install --install-hooksThis ensures commit messages and code quality checks run automatically before each commit.
MIT License - Copyright (c) Nicolas Arnaud-Cormos
See LICENSE file for details.
Inspired by:
- jujutsu - A Git-compatible VCS with powerful features for managing complex workflows
- Git Butler - A Git client that makes working with virtual branches easy
