{"id":44011218,"url":"https://github.com/coollabsio/jean-tui","last_synced_at":"2026-02-07T14:36:05.882Z","repository":{"id":322626455,"uuid":"1085266293","full_name":"coollabsio/jean-tui","owner":"coollabsio","description":"AI-Powered Git Worktree TUI with Claude Code Support","archived":false,"fork":false,"pushed_at":"2026-01-01T15:41:23.000Z","size":6766,"stargazers_count":22,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-01-06T20:22:19.317Z","etag":null,"topics":["ai","claude-code","git","tmux","tui","worktree"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coollabsio.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-10-28T20:02:42.000Z","updated_at":"2026-01-06T20:17:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/coollabsio/jean-tui","commit_stats":null,"previous_names":["coollabsio/jean","coollabsio/jean-tui"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/coollabsio/jean-tui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coollabsio%2Fjean-tui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coollabsio%2Fjean-tui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coollabsio%2Fjean-tui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coollabsio%2Fjean-tui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coollabsio","download_url":"https://codeload.github.com/coollabsio/jean-tui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coollabsio%2Fjean-tui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29197023,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T14:35:27.868Z","status":"ssl_error","status_checked_at":"2026-02-07T14:25:51.081Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude-code","git","tmux","tui","worktree"],"created_at":"2026-02-07T14:36:04.634Z","updated_at":"2026-02-07T14:36:05.861Z","avatar_url":"https://github.com/coollabsio.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# jean - AI-Powered Git Worktree TUI with Claude Code Support\n\n## What is jean?\n\njean 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:\n\n- **Manage worktrees** instantly with single keystrokes\n- **Automate workflows** with AI-generated commit messages, branch names, and PR descriptions\n- **Handle GitHub PRs** without leaving the terminal\n- **Open editors** directly on worktrees\n- **Maintain persistent Claude CLI sessions** for each branch\n\nBuilt with [Bubble Tea](https://github.com/charmbracelet/bubbletea) and designed for developers who juggle multiple feature branches simultaneously.\n\n\u003e **Why \"jean\"?** Named after Jean-Claude Van Damme - combining \"Jean\" (the CLI) with \"Claude\" (AI integration). A perfect martial arts kick of productivity!\n\n## Features\n\n- **Git Worktree Management** - Create, switch, and delete worktrees with single keystrokes\n- **AI-Powered Workflow** - Auto-generate commit messages, branch names, and PR content (11+ AI models)\n- **GitHub PR Automation** - Create draft PRs, browse PRs, merge with strategy selection\n- **Tmux Sessions** - Persistent Claude CLI and terminal sessions per worktree\n- **5 Themes** - Matrix, Coolify, Dracula, Nord, Solarized with dynamic switching\n- **Multi-Editor Support** - Open worktrees in VS Code, Cursor, Neovim, Vim, Sublime, Atom, or Zed\n- **Branch Management** - Rename branches, checkout, change base branch, pull from base\n- **Debug Logging** - Enable logs for troubleshooting\n\n## Installation\n\n### Quick Install (Recommended)\n\n```bash\ncurl -fsSL https://github.com/coollabsio/jean-tui/raw/main/install.sh | bash\n```\n\nOr with Go 1.21+:\n\n```bash\ngo install github.com/coollabsio/jean-tui@latest\njean init  # Set up shell integration\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/coollabsio/jean-tui\ncd jean\ngo build -o jean\nsudo mv jean /usr/local/bin/\njean init\n```\n\n## Prerequisites\n\n- **Git**: For worktree operations\n- **tmux**: For session management (`brew install tmux` on macOS, `sudo apt install tmux` on Linux)\n- **GitHub CLI**: For PR operations (`brew install gh` on macOS, `sudo apt install gh` on Linux)\n\n## Quick Start\n\nRun in any Git repository:\n\n```bash\ncd /path/to/your/repo\njean\n```\n\nOr test on another repo without navigating:\n\n```bash\njean -path /path/to/other/repo\n```\n\n## Keybindings Quick Reference\n\n### Navigation \u0026 Core\n| Key | Action |\n|-----|--------|\n| `↑`/`↓` or `j`/`k` | Navigate worktrees |\n| `Enter` | Switch to worktree (Claude session) |\n| `t` | Open terminal session |\n| `q` | Quit |\n\n### Worktree Management\n| Key | Action |\n|-----|--------|\n| `n` | Create new worktree |\n| `a` | Create from existing branch |\n| `d` | Delete worktree |\n| `o` | Open in editor |\n| `r` | Refresh (fetch + auto-pull) |\n\n### Git Operations\n| Key | Action |\n|-----|--------|\n| `b` | Change base branch |\n| `B` | Rename branch |\n| `K` | Checkout branch |\n| `c` | Commit (with AI) |\n| `p` | Push to remote |\n| `u` | Update from base |\n\n### GitHub \u0026 PRs\n| Key | Action |\n|-----|--------|\n| `P` | Create draft PR |\n| `N` | Create worktree from PR |\n| `L` | Local merge (worktree → base) |\n| `v` | View PR in browser |\n| `M` | Merge PR |\n| `g` | Open repo in browser |\n\n### Application\n| Key | Action |\n|-----|--------|\n| `e` | Select editor |\n| `s` | Settings menu |\n| `S` | Manage tmux sessions |\n| `h` | Help modal |\n\n## Configuration\n\n### User Config\nSettings stored in `~/.config/jean/config.json` per repository:\n- **Base branch** - Default branch for new worktrees\n- **Editor** - Preferred IDE (code, cursor, nvim, vim, subl, atom, zed)\n- **Theme** - Visual theme (press `s` → Theme to change)\n- **AI Settings** - OpenRouter API key, model selection, feature toggles\n- **Debug logs** - Enable logging to `/tmp/jean-debug.log`\n\n### Tmux Configuration\n\nPress `s` → Tmux Config to install an opinionated tmux configuration with:\n- Mouse support \u0026 scrolling\n- 10k line scrollback buffer\n- 256 color + true color support\n- Shift+Left/Right to switch windows\n- Ctrl+D to detach\n- Better pane borders and status bar\n\n### Setup Scripts\n\nAutomatically run commands when creating new worktrees. Create `jean.json` in your repository root:\n\n```json\n{\n  \"scripts\": {\n    \"setup\": \"npm install \u0026\u0026 cp $JEAN_ROOT_PATH/.env .\"\n  }\n}\n```\n\n**Environment variables available:**\n- `JEAN_WORKSPACE_PATH` - Path to the newly created worktree\n- `JEAN_ROOT_PATH` - Path to the repository root directory\n- `JEAN_BRANCH` - Current branch name\n\nThe 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.\n\n## Workflows\n\n### Create Draft PR (Single Command)\nPress `P` to:\n1. Auto-commit changes\n2. Rename branch with AI (optional)\n3. Generate PR title/description with AI (optional)\n4. Create draft PR\n5. Store PR URL\n\n### Push with Smart Naming\nPress `p` to:\n1. Check for uncommitted changes\n2. Auto-commit if needed\n3. Rename random branches with AI\n4. Push to remote\n\n### Session Management\n\nBoth Claude and terminal sessions can coexist for the same worktree:\n- `Enter` creates Claude session (`jean-\u003cbranch\u003e`)\n- `t` creates terminal session (`jean-\u003cbranch\u003e-terminal`)\n- Detach anytime with `Ctrl+B D`\n- View all sessions with `S`\n\n## Themes\n\n5 built-in themes available (press `s` → Theme):\n1. **Matrix** - Green terminal aesthetic\n2. **Coolify** - Purple/violet theme\n3. **Dracula** - Pink/cyan theme\n4. **Nord** - Blue/cyan theme\n5. **Solarized** - Blue/teal theme\n\n## Development\n\n### Build \u0026 Test\n```bash\n# Run locally\ngo run main.go\n\n# Build binary\ngo build -o jean\n\n# Test with custom path\ngo run main.go -path /path/to/test/repo\n\n# Check version\n./jean --version\n```\n\n### Project Structure\n- `main.go` - CLI entry point\n- `tui/` - Bubble Tea TUI (model, update, view, styles)\n- `git/` - Git worktree operations\n- `session/` - Tmux session management\n- `config/` - Configuration management\n- `github/` - GitHub PR operations\n- `openrouter/` - AI integration\n\nFor detailed architecture and development guides, see [CLAUDE.md](./CLAUDE.md).\n\n## Platform Support\n\n- **Linux** ✅ Full support\n- **macOS** ✅ Full support\n- **Windows** ⚠️ WSL2 required\n\n## Dependencies\n\n- [Bubble Tea](https://github.com/charmbracelet/bubbletea) - TUI framework\n- [Lipgloss](https://github.com/charmbracelet/lipgloss) - Terminal styling\n- [Bubbles](https://github.com/charmbracelet/bubbles) - TUI components\n\n## Contributing\n\nContributions are welcome! Submit a Pull Request.\n\n## License\n\nMIT\n\n## Acknowledgments\n\n- Inspired by [git-worktree-tui](https://github.com/FredrikMWold/git-worktree-tui)\n- Built with [Charm](https://charm.sh/) ecosystem\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoollabsio%2Fjean-tui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoollabsio%2Fjean-tui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoollabsio%2Fjean-tui/lists"}