Adam Jeniski 2657545018 Add VHS e2e tests and output recordings
Includes test tapes for navigation, branch operations, stash operations,
help panel, commits, and cursor navigation. Resolved stash conflicts by
keeping simpler test versions.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-22 11:01:11 -05:00
2026-01-21 17:49:39 -05:00
2026-01-21 20:48:25 -05:00
2026-01-21 17:49:39 -05:00
2026-01-21 17:49:39 -05:00
2026-01-21 17:49:39 -05:00
2026-01-21 20:48:25 -05:00

lazygitclj

A lazygit-inspired TUI for Git written in Clojure, targeting Babashka for fast startup.

Files Panel

Features

  • Elm Architecture: Clean Model-Update-View pattern for predictable state management
  • Fast startup: Runs on Babashka for sub-second launch times
  • Familiar keybindings: Vim-style navigation (j/k, h/l) matching lazygit
  • Full Git workflow: Stage, commit, branch, merge, stash, and more

Panels

Files Panel (2)

View and manage staged/unstaged files with inline diffs.

Files Panel

Branches Panel (3)

Switch branches, create new branches, merge, and fast-forward.

Branches Panel

Commits Panel (4)

Browse commit history, checkout commits, cherry-pick, and revert.

Commits Panel

Stash Panel (5)

Manage stashes - apply, pop, drop, or create branches from stash.

Stash Panel

Help Menu (?)

Press ? to see all available keybindings.

Help Menu

Installation

Requires Babashka.

git clone https://github.com/yourusername/lazygitclj.git
cd lazygitclj
bb start

Keybindings

Key Action
q Quit
? Help
r Refresh
h/l Previous/Next panel
j/k Move down/up
2-5 Jump to panel
space Stage/unstage (Files), Checkout (Commits/Branches), Apply (Stash)
c Commit
p/P Pull/Push
z/Z Undo/Redo

Development

bb start      # Run the TUI
bb test       # Run unit tests
bb test:e2e   # Run VHS tape tests

License

MIT

Description
No description provided
Readme 12 MiB
Languages
Clojure 100%