Gemini CLI (Beta)
devcoach runs the full coaching loop in Google's Gemini CLI: the MCP server (tools + resources),
automatic lesson cues after each task (Gemini's AfterAgent/BeforeAgent hooks mirror Claude Code's
Stop/UserPromptSubmit), and the devcoach agent skill. Requires Node.js ≥ 24 and Gemini CLI
with hooks support.
The Gemini CLI integration is beta: the coaching engine is the same battle-tested core used with Claude Code, but the Gemini hook wiring is newer. Please report anything odd on GitHub issues.
Option A — one command (recommended)
npx -y devcoach install --gemini
This registers everything devcoach needs:
- MCP server — via
gemini mcp addwhen thegeminiCLI is on your PATH (falls back to writing~/.gemini/settings.json) - Hooks —
AfterAgent(lesson cue after each task) +BeforeAgent(priming) in~/.gemini/settings.json - Skill — the devcoach coaching skill into
~/.agents/skills/devcoach/(the cross-tool Agent Skills directory Gemini reads natively)
Check the wiring anytime with npx -y devcoach doctor, and re-run the install after upgrading
devcoach to refresh the skill.
Option B — the Gemini extension
The devcoach extension bundles the MCP server, hooks, and skill in one package. Grab
devcoach-gemini-extension-<version>.zip from the
latest release, unzip it, and:
gemini extensions install <path-to-unzipped-folder>
Install the extension or run devcoach install --gemini — not both. Both register the same
hooks, and a double registration would double-count your interactions (devcoach detects the
extension and skips the duplicate hooks, but keep it to one on purpose). devcoach doctor warns
if both are active.
How pacing works
Identical to Claude Code: lessons are rate-limited (default max 2/day, 4h gap) and paced every N
interactions per session. A hook-forced retry never re-cues (Gemini sends the same
stop_hook_active guard Claude does), and plan-style turns are unaffected.
→ Next: Coaching in your agent.