jk 0.2.7

A jj-native terminal UI for Jujutsu
jk-0.2.7 is not a library.
Visit the last successful build: jk-0.1.1

jk

jk is a jj-native terminal UI for Jujutsu.

It keeps jj output as the source of truth and adds an interactive jj TUI around it: inspect changes, run safe command previews, review command history, and recover through operation views without losing terminal context.

jk log view

Installation

Install with Homebrew:

brew trust --formula joshka/tap/jk
brew install joshka/tap/jk

The trust command scopes Homebrew's non-official tap trust to the jk formula.

Install prebuilt release assets with cargo-binstall:

cargo binstall jk

Or build from the crates.io source package:

cargo install jk --locked

Current Status

jk currently focuses on the daily inspect-and-recover loop:

  • inspect changes through log, show, diff, evolog, and status views;
  • review diffs with file/hunk navigation, folding, search, and View Options;
  • run direct jj commands from : command mode with captured output;
  • preview local mutations before describe, abandon, new, edit, undo, and redo;
  • inspect Command History, Operation Log, and sibling jj workspaces, including workspace-scoped log/status/diff views.

Current limitations:

  • command history is in-memory for the current jk session;
  • rebase, squash, split, restore, bookmarks, fetch, and push are still planned workflows;
  • direct a, n, and e mutation keys are dogfood shortcuts until the broader action menu exists.

Use ? inside the TUI for full screen-specific key help. The repository's Using jk guide has task-oriented examples for the current jk surface.

Commands

jk
jk log
jk log -T builtin_log_compact_full_description
jk diff
jk diff -r <revision>
jk diff --from <revision> --to <revision>
jk diff --stat
jk show <revision>
jk status
jk workspaces
jk -R /path/to/repo -n 20

Bare jk follows jj's configured ui.default-command when that command is log-like enough for navigation. Use jk log for the explicit log path.

Roadmap

The detailed roadmap lives in the repository docs:

Near-term work stabilizes this dogfoodable jk TUI for release before adding rebase-specific behavior.

See the repository README for the current status and development workflow.

License

jk is dual-licensed under either MIT or Apache-2.0.