A modern, minimalist Git TUI
Designed for clarity, speed, and smooth integration with your terminal workflow.
[](https://github.com/thewizardshell/froggit/releases)
[](https://github.com/thewizardshell/froggit/actions/workflows/test-installers.yml)
[](#)
[](#)
## Installation
### Quick Install (Recommended)
**Linux / macOS:**
```bash
curl -s https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.sh | bash
```
**Windows (PowerShell):**
```powershell
iwr https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.ps1 -UseBasicParsing | iex
```
### Build from Source
```bash
git clone https://github.com/thewizardshell/froggit.git
cd froggit
go mod tidy
go build
./froggit
```
## Configuration
Froggit can be customized using a `froggit.yml` configuration file. The configuration file should be placed in the same directory as the Froggit executable.
### Creating Configuration File
Create a `froggit.yml` file next to your Froggit executable with the following structure:
```yaml
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")
```
### Configuration Options
#### UI Settings (`ui`)
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| `branding` | boolean | `true` | Display Froggit branding and visual elements |
| `position` | string | `"left"` | UI positioning: `"left"`, `"center"`, or `"right"` |
#### Git Settings (`git`)
| 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 |
### Example Configurations
**Minimal Configuration:**
```yaml
git:
defaultbranch: "master"
```
**Full Configuration:**
```yaml
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.
## Requirements
- [Git](https://git-scm.com/) installed and accessible in your terminal
- [Go 1.20+](https://go.dev/dl/) (only required if building from source)
- A terminal with [Nerd Fonts](https://www.nerdfonts.com/) support
- [GitHub CLI](https://cli.github.com/) (`gh`) – optional, for GitHub integration
## Feature Support
### Git Operations
| 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 |
### GitHub CLI Integration
| Feature | Status | Description |
|---------|--------|-------------|
| Create repository | 🟢 | Create new GitHub repository |
| Clone repository | 🟢 | Clone from your GitHub repositories |
### GitHub Copilot Integration
| Feature | Status | Description |
|---------|--------|-------------|
| AI commit messages | 🟢 | Generate commit messages with Copilot |
🟢 Supported 🟡 In Development 🔴 Planned
## GitHub Copilot Integration
Froggit can generate AI-powered commit messages using your existing GitHub Copilot subscription.
### Requirements
You need to have GitHub Copilot authenticated through one of these:
- **VS Code** with GitHub Copilot extension
- **copilot.vim** or **copilot.lua** for Neovim
- Any editor that stores Copilot tokens in `~/.config/github-copilot/`
### Usage
1. Stage your changes
2. Press `c` to enter commit view
3. Press `Tab` to generate an AI commit message
Froggit automatically detects if Copilot is available and shows the option in the commit view.
> **Note:** No additional API keys needed - Froggit uses your existing Copilot authentication.
## GitHub CLI Integration
Froggit integrates seamlessly with [GitHub CLI](https://cli.github.com/) to enhance your workflow.
```bash
gh auth login
```
Once authenticated, Froggit will detect `gh` and enable features like cloning repositories directly from GitHub.