- Key
- Action
- ↑ / ↓ or j / k
- Navigate worktrees
- Enter
- Switch to worktree (Claude session)
- t
- Open terminal session
Specs
- KeyAction
- ↑ / ↓ or j / kNavigate worktrees
- EnterSwitch to worktree (Claude session)
- tOpen terminal session
- qQuit
- KeyAction
- nCreate new worktree
- aCreate from existing branch
- dDelete worktree
- oOpen in editor
- rRefresh (fetch + auto-pull)
- KeyAction
- bChange base branch
- BRename branch
- KCheckout branch
- cCommit (with AI)
- pPush to remote
- uUpdate from base
- KeyAction
- PCreate draft PR
- NCreate worktree from PR
- LLocal merge (worktree → base)
- vView PR in browser
- MMerge PR
- gOpen repo in browser
- KeyAction
- eSelect editor
- sSettings menu
- SManage tmux sessions
- hHelp modal
README
Repository archived in favor of the GUI version on Jean
jean - AI-Powered Git Worktree TUI with Claude Code Support
What is jean?
jean is a terminal user interface (TUI) that makes working with Git worktrees effortless. Instead of managing multiple branches and worktrees manually, jean gives you a clean, keyboard-driven interface to:
- Manage worktrees instantly with single keystrokes
- Automate workflows with AI-generated commit messages, branch names, and PR descriptions
- Handle GitHub PRs without leaving the terminal
- Open editors directly on worktrees
- Maintain persistent Claude CLI sessions for each branch
Built with Bubble Tea and designed for developers who juggle multiple feature branches simultaneously.
Why "jean"? Named after Jean-Claude Van Damme - combining "Jean" (the CLI) with "Claude" (AI integration). A perfect martial arts kick of productivity!
Features
- Git Worktree Management - Create, switch, and delete worktrees with single keystrokes
- AI-Powered Workflow - Auto-generate commit messages, branch names, and PR content (11+ AI models)
- GitHub PR Automation - Create draft PRs, browse PRs, merge with strategy selection
- Tmux Sessions - Persistent Claude CLI and terminal sessions per worktree
- 5 Themes - Matrix, Coolify, Dracula, Nord, Solarized with dynamic switching
- Multi-Editor Support - Open worktrees in VS Code, Cursor, Neovim, Vim, Sublime, Atom, or Zed
- Branch Management - Rename branches, checkout, change base branch, pull from base
- Debug Logging - Enable logs for troubleshooting
Installation
Quick Install (Recommended)
curl -fsSL https://github.com/coollabsio/jean-tui/raw/main/install.sh | bash
Or with Go 1.21+:
go install github.com/coollabsio/jean-tui@latest
jean init # Set up shell integration
From Source
git clone https://github.com/coollabsio/jean-tui
cd jean
go build -o jean
sudo mv jean /usr/local/bin/
jean init
Prerequisites
- Git: For worktree operations
- tmux: For session management (
brew install tmuxon macOS,sudo apt install tmuxon Linux) - GitHub CLI: For PR operations (
brew install ghon macOS,sudo apt install ghon Linux)
Quick Start
Run in any Git repository:
cd /path/to/your/repo
jean
Or test on another repo without navigating:
jean -path /path/to/other/repo
Keybindings Quick Reference
Navigation & Core
| Key | Action |
|---|---|
↑/↓ or j/k |
Navigate worktrees |
Enter |
Switch to worktree (Claude session) |
t |
Open terminal session |
q |
Quit |
Worktree Management
| Key | Action |
|---|---|
n |
Create new worktree |
a |
Create from existing branch |
d |
Delete worktree |
o |
Open in editor |
r |
Refresh (fetch + auto-pull) |
Git Operations
| Key | Action |
|---|---|
b |
Change base branch |
B |
Rename branch |
K |
Checkout branch |
c |
Commit (with AI) |
p |
Push to remote |
u |
Update from base |
GitHub & PRs
| Key | Action |
|---|---|
P |
Create draft PR |
N |
Create worktree from PR |
L |
Local merge (worktree → base) |
v |
View PR in browser |
M |
Merge PR |
g |
Open repo in browser |
Application
| Key | Action |
|---|---|
e |
Select editor |
s |
Settings menu |
S |
Manage tmux sessions |
h |
Help modal |
Configuration
User Config
Settings stored in ~/.config/jean/config.json per repository:
- Base branch - Default branch for new worktrees
- Editor - Preferred IDE (code, cursor, nvim, vim, subl, atom, zed)
- Theme - Visual theme (press
s→ Theme to change) - AI Settings - OpenRouter API key, model selection, feature toggles
- Debug logs - Enable logging to
/tmp/jean-debug.log
Tmux Configuration
Press s → Tmux Config to install an opinionated tmux configuration with:
- Mouse support & scrolling
- 10k line scrollback buffer
- 256 color + true color support
- Shift+Left/Right to switch windows
- Ctrl+D to detach
- Better pane borders and status bar
Setup Scripts
Automatically run commands when creating new worktrees. Create jean.json in your repository root:
{
"scripts": {
"setup": "npm install && cp $JEAN_ROOT_PATH/.env ."
}
}
Environment variables available:
JEAN_WORKSPACE_PATH- Path to the newly created worktreeJEAN_ROOT_PATH- Path to the repository root directoryJEAN_BRANCH- Current branch name
The setup script runs automatically for every new worktree (created with n or a keys). Script failures are shown as warnings and won't block worktree creation.
Workflows
Create Draft PR (Single Command)
Press P to:
- Auto-commit changes
- Rename branch with AI (optional)
- Generate PR title/description with AI (optional)
- Create draft PR
- Store PR URL
Push with Smart Naming
Press p to:
- Check for uncommitted changes
- Auto-commit if needed
- Rename random branches with AI
- Push to remote
Session Management
Both Claude and terminal sessions can coexist for the same worktree:
Entercreates Claude session (jean-<branch>)tcreates terminal session (jean-<branch>-terminal)- Detach anytime with
Ctrl+B D - View all sessions with
S
Themes
5 built-in themes available (press s → Theme):
- Matrix - Green terminal aesthetic
- Coolify - Purple/violet theme
- Dracula - Pink/cyan theme
- Nord - Blue/cyan theme
- Solarized - Blue/teal theme
Development
Build & Test
# Run locally
go run main.go
# Build binary
go build -o jean
# Test with custom path
go run main.go -path /path/to/test/repo
# Check version
./jean --version
Project Structure
main.go- CLI entry pointtui/- Bubble Tea TUI (model, update, view, styles)git/- Git worktree operationssession/- Tmux session managementconfig/- Configuration managementgithub/- GitHub PR operationsopenrouter/- AI integration
For detailed architecture and development guides, see CLAUDE.md.
Platform Support
- Linux ✅ Full support
- macOS ✅ Full support
- Windows ⚠️ WSL2 required
Dependencies
- Bubble Tea - TUI framework
- Lipgloss - Terminal styling
- Bubbles - TUI components
Contributing
Contributions are welcome! Submit a Pull Request.
License
MIT
Acknowledgments
- Inspired by git-worktree-tui
- Built with Charm ecosystem