AI commits, changelogs, code review, PR creation, a structured agent/MCP API, and a full keyboard-driven git workstation — all from one CLI. coco commit turns your staged diff into a Conventional-Commits-ready message. coco commit --split breaks a large staging area into logical multi-commit groups. coco changelog writes your release notes. coco review catches issues before they ship. coco pr create generates a title and body and opens it on your forge. coco agent and coco mcp expose the same generation engine to coding agents through versioned JSON and four local read-only MCP tools. And coco ui ties it all together in a terminal workstation with 16 views, chord navigation, and one-keystroke workflows. Seven AI providers — including fully local Ollama — on GitHub, GitHub Enterprise, GitLab, and Bitbucket.
The package is git-coco; the command is
coco.
git add .
coco commit # AI writes the message from your staged changesThat's the core. Everything else — changelogs, code review, PRs, and the workstation — is the same engine pointed at more of your git workflow.
- 🤖 Smart commits — contextual AI messages from your staged diff, with Conventional Commits and commitlint validation built in
- 🔌 Agent-native — versioned JSON/stdin operations plus four discoverable local MCP tools for commit drafts, reviews, changelogs, and recaps
- 🏠 Local-first — run fully offline with Ollama (no API costs, nothing leaves your machine)
- 🖥️ Terminal workstation — 16 views (history, status, diff, branches, PRs, issues, and more) via
g-chord navigation + command palette - 🌐 Multi-forge — GitHub, GitHub Enterprise, GitLab, and Bitbucket from the same tool
- 🎨 120+ themes — Catppuccin, Gruvbox, Dracula, Tokyo Night, and many more, with a live picker (
gC) - 🩺 Self-diagnosing —
coco doctoraudits your config, providers, and model routing in one command
# Homebrew (macOS/Linux)
brew install gfargo/tap/coco
# curl
curl -fsSL https://coco.griffen.codes/install.sh | sh
# npm (needs Node 22+)
npm install -g git-coco
# try without installing
npx git-coco@latest initcoco init # pick a provider, set preferences
git add .
coco commit -i # generate your first commit (interactive)| Command | What it does |
|---|---|
coco commit |
Generate commit messages from staged changes |
coco commit --split |
Break a large diff into logical multi-commit groups |
coco amend |
Regenerate and rewrite the last commit message |
coco changelog |
Create changelogs from commit history (by branch, tag, or range) |
coco pr create |
Generate PR title + body and open via gh / glab / Bitbucket API |
coco recap |
Summarize recent changes for standups or handoffs |
coco review |
AI code review with severity gating for CI (--severity) |
coco agent |
Run commit-draft, review, changelog, or recap through versioned JSON/stdin |
coco mcp |
Start a local stdio MCP server with four read-only generation tools |
coco ui |
Full-screen git workstation — 16 views, keyboard-driven |
coco workspace |
Multi-repo overview; drill into any repo as a coco ui session |
coco log |
Commit history with graph, filters, and JSON output |
coco prs / coco issues |
List PRs or issues across GitHub, GitLab, or Bitbucket |
coco doctor |
Diagnose config, providers, model routing, and usage stats |
coco init |
Interactive setup wizard |
Global flags: --repo <dir> targets any repo without cd, --json for machine output, --quiet suppresses chrome.
Use coco directly from coding agents and IDEs without scraping interactive terminal output:
# Inspect the strict protocol-v1 schemas
coco agent schema --task review
# Run a one-shot structured operation
coco agent commit-draft --input request.json --repo /work/project
# Expose four local stdio MCP tools, bound to one repository
coco mcp --repo /work/projectBoth transports share typed commit-draft, review, changelog, and recap operations. They accept safe repository scopes or caller-supplied patches/summaries and return explicit success/failure envelopes. MCP tools never create commits, write repository files, post comments, or mutate a forge. When local usage stats are already enabled, calls add metadata-only agent-cli/mcp records to the user-cache ledger; prompts, diffs, and code are never recorded.
See Agent CLI and MCP for client setup, every parameter and schema, safety boundaries, examples, analytics, and troubleshooting.
coco init # interactive setup
coco init --scope project # project-specific configSeven providers out of the box — OpenAI, Anthropic, Google Gemini, Mistral, Azure OpenAI, AWS Bedrock, Ollama — plus any OpenAI-compatible endpoint. Keys read from config or environment (OPENAI_API_KEY, ANTHROPIC_API_KEY, GEMINI_API_KEY, etc.).
{
"service": { "provider": "openai", "model": "gpt-4o" },
"conventionalCommits": true
}See the Configuration Overview for every option — themes, per-task model routing, output modes, and more.
📚 Wiki — Getting Started, Command Reference, Configuration, Coco UI, Using Ollama, Team Collaboration, Troubleshooting
🤖 Agent CLI and MCP — structured operations, MCP client setup, schemas, safety, analytics, and troubleshooting
💬 Discord — real-time help and discussion
🐛 Issues — bug reports and feature requests
We welcome contributions — see CONTRIBUTING.md to get started.
MIT © gfargo


