Skip to content

feat: add support for Gemini CLI #125

Description

@ryzizub

Description

Gemini CLI (https://github.com/google-gemini/gemini-cli). Tier-2 target under epic #51 alongside Codex.

Gemini CLI is a "universal" agent: it reads .agents/skills/ directly, so once the repo is published to the open standard (#50), skills land in Gemini CLI for free. The remaining work is MCP and hooks.

Scope

  • Skills — verified to load from .agents/skills/ and to degrade where a referenced MCP tool is absent (Phase 0).
  • MCP — wire dart and very-good-cli servers via Gemini CLI settings.json.
  • Hooks — port the enforcement layer (auto analyze/format, CLI gating) to Gemini CLI hooks. Gemini CLI's hook system mirrors the Claude Code JSON-over-stdin contract and exit-code semantics (same PreToolUse / PostToolUse / UserPromptSubmit / Stop events) and ships migration tooling that converts existing Claude Code hooks to its format.
  • Subagent — Gemini CLI has full subagent support (since v0.36, custom agents as Markdown + YAML frontmatter in .gemini/agents, close to our existing format). Port the flutter-reviewer agent so it dispatches natively.
  • CI — loader job that installs the skills and asserts they load in Gemini CLI.

Docs: https://geminicli.com/docs/hooks/reference/ and https://developers.googleblog.com/subagents-have-arrived-in-gemini-cli/

Requirements

  • Skills load in Gemini CLI via .agents/skills/
  • dart + very-good-cli MCP wired via settings.json
  • Enforcement hooks ported via Gemini's Claude-hook migration tooling
  • Gemini CLI loader CI job added
  • All CI/CD checks are passing.
  • There is no drop in the test coverage percentage.

Additional Context

Part of epic #51. Tier 2 / wave 1 alongside Codex (#46) and OpenCode (#127).

Metadata

Metadata

Assignees

Labels

featureA new feature or requestp1High-priority issues at the top of the work list

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions