coco workstation

Your whole Git workflow, keyboard-first

Stop juggling a Git GUI, your terminal, and the browser. coco ui puts history, diffs, staging, PRs, and issues behind muscle-memory keystrokes — one fast surface, sharpened by AI.

npx git-coco@latest ui
16
views
49
themes
<100ms
boot
0
mouse
workspace → repo → history
~/coco $ ui --view

Explore every surface

Sixteen specialized views, plus the cross-view actions that span them — each purpose-built for a specific Git workflow. Toggle between them and hover to preview.

coco ui — historyg h

History

Browse commit history with graph visualization.

↑ ↓ to explore · click to enlarge

~/coco $ ws

Every repo, one keystroke away

coco ws scans your directory for repositories and gives you a sortable, filterable overview — dirty state, ahead/behind, open PRs. Clone a remote or add a repo by path without leaving the TUI, then press Enter to drive any of them as a full workstation.

c — clone

Clone a remote straight into your launch directory; the destination auto-fills from the URL.

coco
a — add

Register an existing repo by path, with tab completion as you type.

coco
enter — drive it

Drill into any repo as a full workstation — history, diffs, branches, and back.

coco
~/coco $ workflows

Key workflows

Real Git operations, not just a viewer. Stage hunks, compose commits, review PRs, and rewrite history — all from the keyboard.

01

Tactile hunk staging

Open a changed file and stage it hunk by hunk. Each hunk carries a ● staged / ○ unstaged badge, the selected hunk is highlighted with an accent bar, and ↑/↓ walk between them — so you stage exactly what you mean, never the whole file by accident.

+↑/↓+Space
coco ui
02

Stash like a pro

Stash from any view with gZ — even mid-diff — then manage stashes that actually read: every entry shows its origin branch, file count, and age, with a live contents preview. Rename one, branch off it, apply keeping your index, or undo a drop, all without leaving the keyboard.

g+Z+R
coco ui
03

Side-by-side diff

Read changes in a split-pane diff with syntax highlighting and line-level navigation — staged or unstaged, any commit or file, without leaving the keyboard.

g+d
coco ui
04

Compose with AI draft

Open the compose view, draft a message from your staged changes with one keystroke, edit it to taste, and commit — Conventional Commits and commitlint respected.

g+c
coco ui
05

Pull-request actions

Merge, approve, request changes, and comment on PRs straight from the PR view. Review the diff, check CI status, and act — no browser round-trip.

g+p
coco ui
06

History mutations

Revert, reset, rebase, and cherry-pick from the history view. Cursor to any commit and apply the operation with a single key — with reflog one keystroke away if you need to walk it back.

g+h
coco ui
07

Fits any terminal

Down to an 80×24 tmux split, the three-pane IDE folds to a single full-width pane you Tab between — no feature locked behind screen real estate. Press v to peek the sidebar without losing your place, then snap right back.

Tab+v
coco ui
~/coco $ commit · changelog · split

Sharp commands, too

The workstation isn't the whole story. coco's standalone commands bring the same AI to your everyday flow — no TUI required.

coco commit

AI-drafted Conventional Commit messages from your staged changes.

coco
coco changelog

Release notes generated from any branch, range, or tag.

coco
coco commit --split

Break a messy staging area into clean, AI-planned commits.

coco
~/coco $ ui --theme

Forty-nine ways to make it yours

From Catppuccin to Gruvbox to Synthwave — every preset is a complete palette, surface and all. Plus full NO_COLOR support for minimal environments.

Browse all themes
49 built-in themes · hover to pause, click to enlarge

Every surface, themed

The history wall above is just the start. The syntax-highlighted diff and the status surface recolor with your theme too — here are a few of the presets, dark and light.

Diff

The diff view in the catppuccin theme
catppuccin
The diff view in the gruvbox theme
gruvbox
The diff view in the dracula theme
dracula
The diff view in the tokyo-night theme
tokyo-night
The diff view in the nord theme
nord
The diff view in the rose-pine theme
rose-pine
The diff view in the github-light theme
github-light
The diff view in the catppuccin-latte theme
catppuccin-latte

Status

The status view in the catppuccin theme
catppuccin
The status view in the gruvbox theme
gruvbox
The status view in the dracula theme
dracula
The status view in the tokyo-night theme
tokyo-night
The status view in the nord theme
nord
The status view in the rose-pine theme
rose-pine
The status view in the github-light theme
github-light
The status view in the catppuccin-latte theme
catppuccin-latte

NO_COLOR support

Set NO_COLOR=1 to strip all color output. Respects the no-color.org convention.

~/coco $ compare

How coco stacks up

Coming from another Git client? Here's what you get with coco ui.

Featurecoco uiGitKrakenlazygitgituitig
Terminal-native (no Electron)
Keyboard-first navigation~
Hunk-level staging
AI commit messages~
AI code review
AI changelog generation
AI commit splitting~
Multi-provider / local AI
One-keystroke PR creation
GitHub issue / PR triage
Conflict resolution helper~~
Bisect & reflog recovery~~~
Recursive submodule drill-in~~
Theming + NO_COLOR~~~~
Free & open source
first-class~ partial / possible not availableComparison is a fair-faith snapshot; corrections welcome.

Try the workstation

Install coco and launch the TUI. One command to get started.

npx git-coco@latest init