A TUI for Jujutsu / jj.
lazyjj is a Terminal User Interface (TUI) for Jujutsu (jj), a modern version control system. Built in Rust with Ratatui, it provides an intuitive graphical interface for interacting with jj repositories without leaving the terminal. The tool serves as a visual layer over the jj command-line interface, making complex version control operations more accessible and efficient.
The application features multiple tabs for different aspects of repository management: a Log tab for viewing commit history and change details, a Files tab for examining file changes and diffs, a Bookmarks tab for managing repository bookmarks, and a Command log for tracking executed operations. Key functionality includes creating and editing changes, managing bookmarks, viewing diffs with multiple formats, squashing changes, and handling git fetch/push operations. Users can toggle between different diff formats, run jj commands directly through a command popup, and navigate using familiar vim-style keybindings.
lazyjj is designed for developers who use Jujutsu for version control and prefer terminal-based tools with rich visual interfaces. It's particularly useful for those who want the power of jj's advanced change management features but find the command-line interface cumbersome for complex operations. The tool maintains full compatibility with jj's configuration system and can be customized to match user preferences for colors, layouts, and diff formats.
# via Cargo (with binstall)
cargo binstall lazyjj
# via Cargo
cargo install lazyjj --locked
# via Arch Linux
pacman -S lazyjj