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
424 downloads per month
3.5MB
2.5K
SLoC
jjj
A modal interface for Jujutsu, inspired by the utility of Lazygit and the powerful interface of Helix.
✨ 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
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!
🛠️ 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