4 releases (2 breaking)

0.2.1 Apr 21, 2025
0.2.0 Apr 15, 2025
0.1.0 Apr 8, 2025
0.0.0 Mar 13, 2025

#787 in Command line utilities

Download history 122/week @ 2025-03-12 2/week @ 2025-03-19 6/week @ 2025-03-26 81/week @ 2025-04-02 110/week @ 2025-04-09 164/week @ 2025-04-16 67/week @ 2025-04-23

424 downloads per month

MIT license

3.5MB
2.5K SLoC

jjj

Crates.io Downloads (latest version) Crates.io Downloads (recent)

A modal interface for Jujutsu, inspired by the utility of Lazygit and the powerful interface of Helix.

A screenshot of jjj running

✨ Installation

# Make sure Jujutsu is installed
cargo install jj-cli

# Install jjj
cargo install jjj

✳️ Features

🌳 Mature feature  ·  🌱 New feature  ·  🔜 Coming soon
  • 🌱 View the current output of jj log
  • 🌱 Auto-refresh the log to keep up with external changes
  • 🌱 Switch the view's revset on the fly with <space>r
  • 🌱 Configure jjj through jj config set jjj.[key] [value]
  • 🔜 Convert uninitialized folders and Git repositories into Jujutsu repositories
  • 🔜 Create new commits
  • 🔜 Abandon existing commits
  • 🔜 Modify the description on existing commits

And more to come!

🛠️ Contributing

Clone the repository locally and build.

jj git clone https://github.com/icorbrey/jjj.git
cd jjj
cargo dev

📐 Architecture

jjj runs as a minimal Bevy app that renders to the terminal with Ratatui. It interfaces with Jujutsu via shell commands, meaning you do need to have Jujutsu installed first.

There are three primary modules:

  • backend: Handles interactions with underlying Jujutsu repositories.
  • frontend: Handles user interaction and rendering at the component level.
  • screens: Coordinates rendering logic for various screens.

⚖️ License

jjj is distributed under the MIT license.

Dependencies

~35–49MB
~841K SLoC