A modern, minimalist Git TUI
Designed for clarity, speed, and smooth integration with your terminal workflow.
Linux / macOS:
curl -s https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.sh | bashWindows (PowerShell):
iwr https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.ps1 -UseBasicParsing | iexgit clone https://github.com/thewizardshell/froggit.git
cd froggit
go mod tidy
go build
./froggitFroggit can be customized using a froggit.yml configuration file. The configuration file should be placed in the same directory as the Froggit executable.
Create a froggit.yml file next to your Froggit executable with the following structure:
ui:
  branding: true          # Show Froggit branding (default: true)
  position: "center"      # UI position: "left", "center", "right" (default: "left")
git:
  autofetch: true         # Automatically fetch from remote (default: true)
  defaultbranch: "main"   # Default branch for new repositories (default: "main")| Option | Type | Default | Description | 
|---|---|---|---|
branding | 
boolean | true | 
Display Froggit branding and visual elements | 
position | 
string | "left" | 
UI positioning: "left", "center", or "right" | 
| Option | Type | Default | Description | 
|---|---|---|---|
autofetch | 
boolean | true | 
Automatically fetch from remote repositories on startup | 
defaultbranch | 
string | "main" | 
Default branch name for new repositories and push operations | 
Minimal Configuration:
git:
  defaultbranch: "master"Full Configuration:
ui:
  branding: false
  position: "center"
git:
  autofetch: false
  defaultbranch: "develop"Note: If no configuration file is found, Froggit will use the default values shown above.
- Git installed and accessible in your terminal
 - Go 1.20+ (only required if building from source)
 - A terminal with Nerd Fonts support
 - GitHub CLI (
gh) β optional, for GitHub integration 
| Feature | Status | Description | 
|---|---|---|
| Stage all | π’ | Stage all changes | 
| Branches | π’ | View and manage branches | 
| Remotes | π’ | Manage remote repositories | 
| Push | π’ | Push changes to remote | 
| Fetch | π’ | Fetch from remote | 
| Pull | π’ | Pull changes (when remote changes available) | 
| Commit | π’ | Create commits | 
| Discard changes | π’ | Discard uncommitted changes | 
| Refresh | π’ | Refresh repository status | 
| Advanced mode | π’ | Access to logs, merge, stash, rebase | 
| Logs | π’ | View commit history | 
| Merge | π’ | Merge branches | 
| Stash | π‘ | Stash changes | 
| Rebase | π’ | Rebase branches | 
| Feature | Status | Description | 
|---|---|---|
| Create repository | π’ | Create new GitHub repository | 
| Clone repository | π’ | Clone from your GitHub repositories | 
π’ Supported Β Β π‘ In Development Β Β π΄ Planned
Froggit integrates seamlessly with GitHub CLI to enhance your workflow.
gh auth loginOnce authenticated, Froggit will detect gh and enable features like cloning repositories directly from GitHub.
β / β: Navigate filesSpace: Stage/unstage filesa: Stage all changesx: Discard changesc: Commit changes
b: View branchesn: Create new branchd: Delete branchEnter: Switch branch
A: Enter advanced modeM: Merge (in advanced mode)R: Rebase (in advanced mode)
q,Ctrl+C: QuitEsc: Go back?: Show help
For a complete list of shortcuts, see the keyboard shortcuts documentation.
- Installation Guide
 - Architecture Overview
 - Development Guide
 - Contributing Guidelines
 - Keyboard Shortcuts
 
- Git Handbook β A practical, visual Git reference
 
We welcome contributions! Please see our Contributing Guidelines for details on how to get started.
This project is licensed under the MIT License - see the LICENSE file for details.
Vicente Roa
GitHub: @thewizardshell

