2 releases
Uses new Rust 2024
| 0.1.1 | Jan 31, 2026 |
|---|---|
| 0.1.0 | Jan 21, 2026 |
#704 in Development tools
93KB
2K
SLoC
kibitz
A terminal UI for kibitzing on your coding agent's changes. Watch git diffs in real-time with file tree navigation and delta integration.
Features
- File tree navigation - Browse changed files with vim-like keybindings
- Delta integration - Beautiful syntax-highlighted diffs via delta (required)
- Smart diff display - Shows unstaged changes by default, toggle to staged with
s - Hunk navigation - Jump between diff hunks with
J/K - Commit history - Browse through commit history with
[/] - Hot reload - Automatically refreshes when files change
- Toggle tree - Hide/show file tree with
tfor full-width diff view - Configurable - TOML config for delta args and colors
Requirements
- delta - Must be installed and in PATH:
# macOS brew install git-delta # Cargo cargo install git-delta # Other: https://dandavison.github.io/delta/installation.html
Installation
Homebrew (macOS/Linux)
brew install Crazytieguy/tap/kibitz
Cargo
cargo install kibitz
Pre-built binaries
Download from GitHub Releases.
Or use the install script (macOS/Linux):
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Crazytieguy/kibitz/releases/latest/download/kibitz-installer.sh | sh
Usage
Run in any git repository:
kibitz
Keybindings
Arrow keys and j/k are interchangeable. Press ? for in-app help.
| Key | Action |
|---|---|
q |
Quit |
? |
Show help |
j/k or ↓/↑ |
Navigate file tree |
Alt+j/Alt+k or Alt+↓/Alt+↑ |
Scroll diff line by line |
Ctrl+j/Ctrl+k or PageUp/PageDown |
Scroll diff half page |
Shift+J/Shift+K or Shift+↓/Shift+↑ |
Next / prev hunk |
l/Enter/→ |
Expand folder |
h/← |
Collapse folder / go to parent |
Space |
Page down diff |
g/Home |
Top of diff |
G/End |
Bottom of diff |
| Mouse scroll | Scroll diff |
t |
Toggle file tree visibility |
s |
Toggle staged/unstaged (when file has both) |
[ |
Go back one commit in history |
] |
Go forward (toward working tree) |
Status Icons
| Icon | Meaning |
|---|---|
M |
Modified |
A |
Added |
D |
Deleted |
R |
Renamed |
? |
Untracked |
S |
Staged |
± |
Has both staged and unstaged changes |
Configuration
Configuration is loaded from TOML files in two locations (local overrides global):
- Global:
~/Library/Application Support/kibitz/config.toml(macOS) or~/.config/kibitz/config.toml(Linux) - Local:
.kibitz.tomlin repository root
Example Configuration
[delta]
# Additional arguments passed to delta (appended after defaults)
args = "--side-by-side --line-numbers"
[colors]
# Semantic color palette for consistent theming
# Colors can be specified as:
# - ANSI index (0-255): 4
# - Named color: "blue", "red", "green", "yellow", "cyan", "magenta", "white", "black"
# - Hex RGB: "#ff5500"
text = "white" # Primary text (hints, descriptions). Default: terminal default
text_muted = "darkgray" # Subtle UI elements (scrollbar, untracked files)
accent = 4 # Folders, borders, headers (default: ANSI blue)
success = 2 # Added/staged files (default: ANSI green)
warning = 3 # Modified files (default: ANSI yellow)
error = 1 # Deleted files (default: ANSI red)
info = 6 # Renamed files (default: ANSI cyan)
Delta Arguments
The delta.args field accepts any arguments supported by delta. These are appended after the default arguments (--paging=never --features={theme}). Common options:
--side-by-side- Side-by-side diff view--line-numbers- Show line numbers--navigate- Enable navigation markers--dark/--light- Force color theme
See delta documentation for all options.
Planned Features
- Configurable keybindings - Remap keys via config file
- CLI options - Override config via command line (
--delta-args, etc.) - Theme hot-reload - Respond to terminal theme change signals (SIGUSR1)
- XDG config path - Use
~/.config/kibitz/on all platforms instead of platform-native paths
Development
Testing with tmux
When developing with Claude Code, use a tmux pane for testing:
- Open a tmux pane next to Claude Code
- Get the pane info:
echo $TMUX_PANE && tmux display-message -p '#S' - Share the session name and pane ID with Claude
- Claude can then send commands and capture output for testing
Dependencies
~22–38MB
~605K SLoC