jujutsu

Squash jj commits into clean history with stable change IDs.

40|3|Updated Feb 8, 2018
One-click install
npx skills add https://github.com/jm96441n/dotfiles --skill jujutsu-jm96441n
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: jujutsu
Source: https://github.com/jm96441n/dotfiles/tree/main/.config/opencode/skill/jujutsu
Command: npx skills add https://github.com/jm96441n/dotfiles --skill jujutsu-jm96441n

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Jujutsu (jj) provides a squash-driven workflow that keeps history clean and focused on intent, reducing noise from frequent commits and simplifying change review.

Core Features & Use Cases

  • Squash-based commits: create a scratch commit and squash into the main commit to preserve a concise, meaningful history.
  • Change-IDs and working copy semantics: operate with stable identifiers and a commit-centric workflow for easier traceability.
  • Bookmarks and interoperability: manage bookmarks explicitly and interoperate with raw git when needed for CI or tooling.

Quick Start

Create a main commit with jj new main -m "feat: initial work" and then create a scratch commit with jj new, finishing by squashing into the parent.

Frequently Asked Questions about jujutsu

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How does squash-based version control keep commit history clean?

To create a commit in jj, use jj new main -m "feat: initial work" to establish your main commit. Then, generate a scratch commit with jj new, and finally squash your scratch work into the parent commit to preserve a meaningful history.

Can I interoperate jj with raw git for CI and tooling?

Change-IDs in version control provide stable identifiers for commits throughout the squash workflow. They operate with working copy semantics to ensure easier traceability, allowing you to track changes consistently even as commits are squashed and modified.

Is a squash workflow suitable for team software projects?

Yes, a squash workflow is suitable for team software projects where commit hygiene and change traceability matter. It supports feature work, hotfixes, and code reviews by maintaining a clean, descriptive history for both solo and team contexts.

Why should I use jj over git for version control?

You should use jj over git for faster version control because it adopts a squash-driven workflow with stable change IDs. This approach reduces noise from frequent commits and simplifies change review compared to traditional git workflows.