# lazyjj

> Terminal UI for Jujutsu version control system, providing interactive log browsing, file management, and bookmark operations

Stars: 1.2k · Language: Rust · License: Apache-2.0 · Categories: Git

- Repository: https://github.com/Cretezy/lazyjj
- Page: https://www.trmn.sh/tools/lazyjj

## Install

- Cargo binstall: `cargo binstall lazyjj`
- Cargo: `cargo install lazyjj --locked`
- Arch Linux: `pacman -S lazyjj`

## Overview

lazyjj is a terminal-based user interface for the Jujutsu version control system, built in Rust using Ratatui. It provides an interactive way to browse revision history, manage changes, and perform common jj operations without repeatedly typing CLI commands.

The tool centers around three main tabs: Log for browsing the revision graph and performing operations like creating new changes, editing, describing, and abandoning changes; Files for viewing current change files and conflicts with diff display; and Bookmarks for managing local and remote bookmarks with operations like create, rename, delete, and track/untrack. All tabs support switching between color-words and git diff formats, and include detailed side panels for examining changes.

Developers using Jujutsu as their version control system would benefit from lazyjj's visual interface for complex operations like squashing changes, managing bookmarks across remotes, and navigating revision history. The tool integrates directly with the jj CLI, executing commands in the background while providing immediate visual feedback. Configuration options allow customization of colors, diff formats, layout orientation, and key bindings through jj's existing config system.

### Installation

```bash
# via Cargo binstall
cargo binstall lazyjj
```

```bash
# via Cargo
cargo install lazyjj --locked
```

```bash
# via Arch Linux
pacman -S lazyjj
```

![lazyjj terminal interface demo](https://media.trmn.sh/cached/70121db881dd2efdc815dceade802ba6d99a26b29d1b31df9672fb334e9e45a9.mp4)

## Alternatives

- [serie](https://www.trmn.sh/tools/serie.md): Terminal UI for git commit graphs using image protocols to render rich visualizations in supported terminals (Rust, 2.2k stars)
- [gitnr](https://www.trmn.sh/tools/gitnr.md): Cross-platform CLI tool for creating .gitignore files from GitHub and TopTal template collections (Rust, 239 stars)
- [ftdv](https://www.trmn.sh/tools/ftdv.md): Terminal-based diff viewer for Git with interactive file tree navigation and configurable external diff tool support. (Rust, 72 stars)
- [gitu](https://www.trmn.sh/tools/gitu.md): Terminal user interface for Git inspired by Magit, providing visual staging, branching, and repository management (Rust, 2.9k stars)
- [git absorb](https://www.trmn.sh/tools/git-absorb.md): Git subcommand that automatically creates fixup! commits from staged changes by finding the commit each hunk belongs to, with optional autosquash rebase. (Rust, 5.8k stars)

---

Canonical: https://www.trmn.sh/tools/lazyjj
