Anonymous branches, real undo, and it speaks git fluently.
Spoiler: I've been using jj on a real Astro 5 project for a week and I'm not going back. Jujutsu is what happens when someone redesigns git with twenty years of hindsight and then makes it cohabit with your existing repos.
The Setup
Install jj, point it at an existing git repo, and your workflow changes immediately. Every working copy is a commit. Every command is undo-able. Branches are optional — you mostly don't need them.
# install on macOS
brew install jj
# colocate with an existing git repo (no migration needed)
cd ~/Documents/GitHub/velocity8.5
jj git init --colocate
# start work — no branch needed
jj new -m "wip: hero gallery tilt fix"The Money Pattern
The big shift is that you edit commits in place. No more git commit --amend --no-edit ritual. You just change files and the current commit updates. Pushed something dumb? jj undo. Behold:
# rewrite description on the fly
jj describe -m "feat(gallery): clamp tilt for mobile"
# split a fat commit into two
jj split
# squash into parent
jj squash
# nuked your work? doesn't matter
jj undoThe Catch
The community is still small. Stack Overflow basically doesn't exist for jj yet — you read the docs or you read the source. The mental model swap (commits not branches) takes a weekend. And some git GUIs get confused by colocated repos.
The Verdict
If you ship across a multi-project monorepo and live in the terminal, jj is the upgrade git never gave you. Pair it with lazygit on the rare occasions you want a UI and you've got a workflow that makes Cursor + Claude Code feel even faster. Try it on one repo. You'll convert the rest by Friday.