Skip to content

GreyElaina/jjk

 
 

Repository files navigation

Jujutsu Kaizen

banner

A Visual Studio Code extension for the Jujutsu (jj) version control system.

VS Code Extension Discord

Fork notes

This repository is a fork-oriented build of Jujutsu Kaizen. It keeps the core goal of a native-feeling jj workflow in VS Code, while carrying local changes that may differ from upstream extension behavior.

Notable fork changes include:

  • jj-style move actions in the diff gutter toolbar for moving hunks or selected ranges between the Working Copy and parent changes.
  • Native VS Code restore/revert gutter actions are left to VS Code itself instead of being duplicated by this extension.
  • The development build prepares the native fake editor binary used by interactive jj operations.

When reporting behavior differences, please include whether the issue happens in this fork build or in the upstream extension as well.

🚀 Features

The goal of this extension is to bring the great UX of Jujutsu into the VS Code UI. We are currently focused on achieving parity for commonly used features of VS Code's built-in Git extension, such as the various operations possible via the Source Control view.

Here's what you can do so far:

📁 File Management

  • Track file statuses in the Working Copy
  • Monitor file statuses across all parent changes
  • View detailed file diffs for Working Copy and parent modifications
    view file diff
  • View line-by-line blame
    view blame

💫 Change Management

  • Create new changes with optional descriptions
  • Edit descriptions for Working Copy and parent changes
    edit description
  • Move changes between Working Copy and parents
    squash
  • Move specific lines from the Working Copy to its parent changes squash range
  • Discard changes
    restore
  • Browse and navigate revision history
    revision history
  • Inspect the Source Control Graph with commit metadata, full commit messages, change stats, and quick hover actions for editing or creating a follow-up change
  • Create merge changes
    revision history

🔄 Operation Management

  • Undo jj operations or restore to a previous state
    undo

📋 Prerequisites

  • Ensure jj is installed and available in your system's $PATH, or configure a custom path using the jjk.jjPath setting

🐛 Known Issues

If you encounter any problems, please report them on GitHub!

📝 License

This project is licensed under the MIT License.

About

https://github.com/keanemind/jjk 's fork, expanded with hunk-level operations

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • TypeScript 75.5%
  • HTML 14.1%
  • Zig 5.3%
  • CSS 3.1%
  • JavaScript 1.8%
  • Shell 0.2%