mcpField
J
jujutsu

jujutsu

github.com/cryfsDevelopment2.3k40 installsUpdated 4w ago
Repository

About jujutsu

A Jujutsu (jj) version-control skill for developers working in repositories colocated with Git. It explains the working-copy-as-commit model and maps common Git tasks to jj commands.

Key features

  1. 01Git-to-jj command mapping
  2. 02Working-copy and commit model
  3. 03Bookmark and remote workflows
  4. 04Command and workflow references

Use cases

  1. 01Translate familiar Git tasks to jj
  2. 02Check changes and revision history
  3. 03Fetch or push repository updates

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/cryfs/cryfs --skill jujutsu

After installing, type/jujutsuin Claude Code to confirm it loaded.

Bundled files

References and scripts installed along with SKILL.md.

commands-reference.md
revsets.md
workflows.md

Details

From the project README

Jujutsu (jj) Version Control Guide

Jujutsu is a modern, Git-compatible version control system. This project uses jj colocated with git.

Key Differences from Git

ConceptGitJujutsu
Staging areaExplicit git addNone - working copy IS a commit
BranchesNamed refsBookmarks (auto-follow rewrites)
StashSeparate stash stackNot needed - just use commits
Amendgit commit --amendJust edit files, or use jj squash
IdentityCommit ID onlyChange ID (stable) + Commit ID

Essential Commands

TaskCommand
Statusjj status or jj st
Diffjj diff
Logjj log
Commit & continuejj commit -m "message"
Update messagejj describe -m "message"
New empty commitjj new
Squash into parentjj squash
Undo last operationjj undo
Fetch from remotejj git fetch
Push to remotejj git push
Create & push bookmarkjj git push --named name=@
Push existing bookmarkjj git push --bookmark name

Working Copy Model

The working copy (@) is always a commit. File changes are automatically tracked - no staging required.

parent commit
    ↓
@ (working copy) ← your edits go here automatically

Quick Git-to-Jujutsu Translation

GitJujutsu
git statusjj st
git diffjj diff
git logjj log
git add . && git commit -m "msg"jj commit -m "msg"
git pushjj git push
git pulljj git fetch then jj rebase -d main@origin
git checkout -b branchjj new main then jj bookmark set branch
git branchjj bookmark list
git stashjj new (just start new commit)
git blamejj file annotate

Additional References

Comments

Markdown supported