A modal interface for Jujutsu, inspired by the utility of Lazygit and the powerful interface of Helix.
# Make sure Jujutsu is installed
cargo install jj-cli
# Install jjj
cargo install jjj
- 🌱 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
throughjj 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!
Clone the repository locally and build.
jj git clone https://github.com/icorbrey/jjj.git
cd jjj
cargo dev
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.
jjj
is distributed under the MIT license.