An AI-powered git assistant that generates meaningful commit messages, creates changelogs, explores repository history, and streamlines your development workflow.
β¨ Key Features:
- π€ AI-Powered Commit Messages - Generate contextual commits from your staged changes
- π Conventional Commits - Full support with automatic validation and formatting (extends to
coco commit --splittoo β every group's title respects the spec) - π§ Commitlint Integration - Seamless integration with your existing commitlint configuration
- π Local AI Support - Run completely offline with Ollama (no API costs, full privacy)
- π₯οΈ Coco UI Git Workstation - Sixteen top-level views (history, status, diff, compose, branches, tags, stash, worktrees, pull-request, PR triage, issues, conflicts, reflog, bisect, submodules, changelog) reachable via
g-prefixed chords, with an interactive command palette (:), global search (/), and one-keystroke workflows:Ssplit staged changes,Lgenerate a changelog,Ccreate a PR seeded from changelog,Eopen the commit draft in$EDITOR - ποΈ Multi-Repo Workspace -
coco workspace(aliasws) scans your current directory for git repos and gives you a sortable, filterable overview β branch, dirty count, ahead/behind, open PR count β thenEnterdrills into any one as a fullcoco uisession - π¨ 108 Color Themes - Catppuccin, Gruvbox, Dracula, Tokyo Night, Monokai Pro, RosΓ© Pine, Selenized, Solarized, and many more (29 light) β browse and live-preview them with the in-app theme picker (
gC), then apply with one keystroke; or set one viacoco ui --theme <name>/ config.NO_COLORhonored - π―
--repo <dir>global flag - Drive any coco command against any repository withoutcd-ing first - π¦ Package Manager Friendly - Works with npm, yarn, and pnpm
- π₯ Team Ready - Shared configurations and enterprise deployment
# Try without installing
npx git-coco@latest init
# Install globally
npm install -g git-coco
# Setup and configure
coco init
# Generate your first commit
git add .
coco commit -icoco commit- Generate commit messages from staged changescoco amend- Regenerate the last commit's message from its diff andgit commit --amendcoco changelog- Create changelogs from commit historycoco pr create- Generate a PR title and body from the branch diff, then open it viagh(GitHub) orglab(GitLab)coco recap- Summarize recent changes and activitycoco review- AI-powered code review of your changes (--severity <n>and--stagedfor CI gating)coco log- Explore commit history with graph, filters, JSON output, and commit detailscoco ui- Open the full-screen Git workstation TUIcoco workspace(aliasws) - Multi-repo overview TUI; drill into any repo as acoco uisessioncoco issues/coco prs- List GitHub or GitLab issues / pull requests (stdout or interactive triage)coco doctor- Diagnose your environment, config, and provider setup (--costshows per-task model routing plus usage by task, model, and repo;--clearwipes the local usage ledger)coco init- Interactive setup wizard
Global flags:
--repo <dir>targets any repository,--jsonrequests machine-readable output where supported, and--quiet(-q) suppresses status chrome while keeping results on stdout.
Smart default (0.57.0+): running
cocowith no subcommand routes by environment βcoco uiinside a git repo,coco workspaceoutside one, orcoco initon a fresh install. It no longer defaults tocommit; usecoco commitfor messages (or--commit/COCO_DEFAULT=committo restore the old default).
Local usage stats (0.69.0+): coco keeps a local, per-machine record of AI usage (prompt-token estimate and latency by task, model, and repo) to power
coco doctor --cost. It stays on your machine and records no prompt, diff, or code content. The first interactive run enables it after a one-time notice; non-interactive and CI runs stay off. Opt out anytime withcoco init,telemetry.usage: false, orCOCO_USAGE_LOG=0.
Multi-forge (0.70.0+):
coco prs,coco issues,coco pr create, and the fullcoco uiworkstation (PR/issue triage, inspectors, and every per-row action) work with GitHub, GitHub Enterprise, and GitLab. coco detects the forge from your remote and shells out to the matching CLI:ghfor GitHub / GitHub Enterprise,glabfor GitLab (install it and runglab auth login).
# Make your changes
git add .
# Generate commit message (interactive mode recommended)
coco commit -i
# Or use stdout mode
git commit -m "$(coco commit)"# Enable conventional commits format
coco commit --conventional
# With additional context
coco commit -a "Fixes login timeout" --conventional
# Include ticket from branch name
coco commit --append-ticket --conventional# Generate changelog for releases
coco changelog --since-last-tag
# Summarize recent work
coco recap --yesterday
# Code review before committing
coco review
# Explore commit history
coco ui
coco ui --view status
coco log --limit 20
coco log -i
coco log --view full --limit 20
coco log --all --limit 20
coco log --author "Grace Hopper" --path src
coco log --commit HEAD
coco log --format jsoncoco ui and coco log -i share a chord-driven navigation model. Press g and then a second key to jump anywhere; < (or Esc) pops the navigation stack back.
g h history g c compose g x conflicts
g s status g b branches g r reflog
g d diff g t tags g C theme picker
g w worktrees g z stash < back
g p pull request Esc back / close modal
? help overlay
: command palette
The command palette (:) is an interactive launcher with fuzzy filter and recently-used at the top β every keybinding and workflow action is reachable from there. / searches the active view (history, branches, tags, stash, or reflog). On branches, tags, and history, press m to mark a ref as the compare base β then Enter on a second ref opens a git diff <base>..<head> view. See the Coco UI and TUI Navigation wiki pages for the full keymap.
Configure coco for your workflow with the interactive setup wizard:
# Setup wizard
coco init
# Project-specific setup
coco init --scope projectAI Providers: seven first-class providers (API keys read from config or env)
- OpenAI - GPT-4o / GPT-4.1 family (
OPENAI_API_KEY) - Anthropic - Claude 4 / 3.x family (
ANTHROPIC_API_KEY) - Google Gemini - Gemini 2.5 / 2.0 / 1.5 (
GEMINI_API_KEYorGOOGLE_API_KEY) - Mistral - Mistral large/medium/small, Codestral, Ministral (
MISTRAL_API_KEY) - Azure OpenAI - native Azure deployments (
AZURE_OPENAI_API_KEY+ instance/deployment/api-version) - AWS Bedrock - via the AWS credential chain (
AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY/AWS_REGION) - Ollama - Local models, no API costs, full privacy
- Plus any OpenAI-compatible endpoint (OpenRouter, custom
baseURL)
Example Configuration:
{
"mode": "interactive",
"conventionalCommits": true,
"logTui": {
"theme": {
"preset": "catppuccin"
}
},
"service": {
"provider": "openai",
"model": "gpt-4o"
}
}For comprehensive guides, advanced usage, and detailed configuration options, visit our complete documentation:
π Coco Wiki
Essential Guides:
- Getting Started - Complete beginner's guide from installation to first commit
- Command Reference - Detailed command options and examples
- Configuration Overview - All configuration options and setup methods
- Coco UI - GitKraken-style terminal workstation guide
- Interactive Log TUI - History-focused
coco log -iguide - Team Collaboration - Enterprise deployment and team adoption strategies
Advanced Resources:
- Using Ollama - Local AI setup for privacy and cost control
- Advanced Usage - Custom prompts, automation, and power-user features
- Troubleshooting - Solutions for common issues and debugging
- Troubleshooting Guide - Comprehensive problem-solving resource
- GitHub Issues - Bug reports and feature requests
- Discord Community - Real-time help and discussion
We welcome contributions! Check out our CONTRIBUTING.md for more information.
MIT Β© gfargo
