A blazing-fast TUI replacement for GitKraken - manage your Git repos with style!
Project description
๐ OctoTUI
We love GitKraken so much, we wanted to bring that beautiful experience to the terminal!
GitKraken is amazing - it's gorgeous, intuitive, and makes Git feel approachable. But as terminal enthusiasts, we found ourselves constantly context-switching between our editor and GitKraken. We wanted that same delightful experience without ever leaving the command line.
OctoTUI is our love letter to both GitKraken and the terminal.
๐ What We Kept from GitKraken
- โ Beautiful, intuitive visual diffs
- โ Hunk-level staging control
- โ Branch visualization and management
- โ Commit history browsing
๐ฏ What We Added for Terminal Lovers
- ๐ค AI-powered commit messages (via GAC)
- ๐ 100% free and open source
- ๐ Never leave your terminal flow
๐ธ Screenshots
Status Tab
See your repository status at a glance: current branch, remote tracking, sync status (ahead/behind), and working tree changes. Manage branches and remote operations all in one place.
Files Tab
Browse your entire repository with a familiar tree view. Press e to open any file in your configured editor.
Unstaged Changes
Review your unstaged changes with beautiful syntax-highlighted diffs. Stage or discard individual hunks with a single click.
Staged Changes
See exactly what's going into your next commit. Unstage hunks if you change your mind.
Commit Tab
Write your commit message with a subject and body. Or let AI generate it for you with the Generate with GAC button!
Settings Tab
Configure your editor, theme, and AI provider for commit message generation. Supports 30+ AI providers including OpenAI, Anthropic, Ollama, and more.
๐ฆ Installation
Quick Start (Recommended)
# Using uvx (isolated, recommended)
uvx octotui
From Source (For Contributors)
git clone https://github.com/never-use-gui/octotui.git
cd octotui
uv run octotui
System Requirements
- ๐ Python 3.11+
- ๐ง Git
- ๐ป Any terminal with 256+ colors
First-Time Workflow
- Review Changes: See your diffs in beautiful color
- Stage Hunks: Click or use
sto stage individual changes - Generate Commit: Press
gfor AI-powered message (optional) - Commit: Press
cto commit with your message - Push: Press
pto push to remote
Pro tip: Press h anytime to see all available keybindings! ๐
๐ค AI-Powered Commits
Setup (Optional but Awesome)
# Install GAC (Git Auto Commit)
uv pip install 'gac>=0.18.0'
Configuration
- Press
Ctrl+Gin OctoTUI - Choose your provider (we recommend Cerebras for free tier)
- Select your model
- Paste your API key
- Save & enjoy AI commit messages!
โจ๏ธ Keybindings
๐ Navigation
| Key | Action |
|---|---|
โ/โ |
Navigate files/hunks |
โ/โ |
Navigate between files |
Enter |
Select file |
Tab |
Cycle through buttons |
e |
Edit file in external editor |
๐ View Switching (1-8)
| Key | Tab |
|---|---|
1 |
Status |
2 |
Files |
3 |
Unstaged |
4 |
Staged |
5 |
Commit |
6 |
Graph |
7 |
History |
8 |
Settings |
๐ Git Operations
| Key | Action |
|---|---|
s |
Stage selected file |
u |
Unstage selected file |
a |
Stage ALL unstaged changes |
x |
Unstage ALL staged changes |
c |
Commit staged changes |
๐ฟ Branch & Remote
| Key | Action |
|---|---|
b |
Switch branch |
r |
Refresh status |
p |
Push to remote |
o |
Pull from remote |
๐ค AI Features
| Key | Action |
|---|---|
g |
Generate AI commit message |
Ctrl+G |
Configure GAC settings |
โ๏ธ Application
| Key | Action |
|---|---|
h |
Show help modal |
q |
Quit application |
Ctrl+D |
Toggle dark mode |
๐จ Git Status Colors
| Color | Meaning |
|---|---|
| ๐ข Green | Staged files (ready to commit) |
| ๐ก Yellow | Modified files (unstaged) |
| ๐ต Blue | Directories |
| ๐ฃ Purple | Untracked files |
| ๐ด Red | Deleted files |
Code Quality Standards
- โ Follow the Zen of Python
- โ DRY (Don't Repeat Yourself)
- โ YAGNI (You Aren't Gonna Need It)
- โ SOLID principles
- โ Keep files under 600 lines
- โ Write tests for new features
- โ
Pass
ruff checkwith zero errors
๐ Tech Stack
- Textual: Modern TUI framework
- GitPython: Git operations
- GAC: AI commit generation
- Ruff: Lightning-fast Python linter
๐ License
MIT License - see LICENSE for details
๐ Acknowledgments
๐ฌ Community
- ๐ Issues: GitHub Issues
๐ If you like OctoTUI, give us a star! ๐
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file octotui-0.1.11.tar.gz.
File metadata
- Download URL: octotui-0.1.11.tar.gz
- Upload date:
- Size: 52.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d7f9c7659c8c48b475de64dd9ebaa287a3135ae1dc282254385b64539018ac70
|
|
| MD5 |
f244589a6b0bea63877bdad044b2b55d
|
|
| BLAKE2b-256 |
0e34025fcc70569c6c99036bf10eae6f4d508372a08540f0e1b07ecea07847be
|
File details
Details for the file octotui-0.1.11-py3-none-any.whl.
File metadata
- Download URL: octotui-0.1.11-py3-none-any.whl
- Upload date:
- Size: 61.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d9aa990a5b31ebe8f20417eaa751bd2128056cd994d63c2fe7ceb0e768682acf
|
|
| MD5 |
015af8a0a1b0c8f5c3812c29ce716130
|
|
| BLAKE2b-256 |
d47bc15aeb27c53afaf837e53ab7a8a6e44cf16ccd9d939946b62ec3c223c258
|