Files
lazygitclj/README.md
Adam Jeniski f77bf3bbfc
SCIP Index / index (push) Successful in 1m41s
Trigger CI for cross-repo fix
2026-02-03 19:02:43 -05:00

79 lines
1.7 KiB
Markdown

# lazygitclj
A lazygit-inspired TUI for Git written in Clojure, targeting Babashka for fast startup.
![Files Panel](screenshots/files-panel.png)
## 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](screenshots/files-panel.png)
### Branches Panel (3)
Switch branches, create new branches, merge, and fast-forward.
![Branches Panel](screenshots/branches-panel.png)
### Commits Panel (4)
Browse commit history, checkout commits, cherry-pick, and revert.
![Commits Panel](screenshots/commits-panel.png)
### Stash Panel (5)
Manage stashes - apply, pop, drop, or create branches from stash.
![Stash Panel](screenshots/stash-panel.png)
### Help Menu (?)
Press `?` to see all available keybindings.
![Help Menu](screenshots/help-menu.png)
## Installation
Requires [Babashka](https://github.com/babashka/babashka).
```bash
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
```bash
bb start # Run the TUI
bb test # Run unit tests
bb test:e2e # Run VHS tape tests
```
## License
MIT