feat(adapters): add gemini-cli runtime adapter - #379
Merged
Conversation
Adds a `gemini-cli` workspace runtime backed by Google's Gemini CLI (@google/gemini-cli, ~101k ★, Apache 2.0). Mirrors the claude-code adapter pattern: Docker image installs the CLI, CLIAgentExecutor drives the subprocess, A2A MCP tools wire via ~/.gemini/settings.json. Changes: - workspace-template/adapters/gemini_cli/ — new adapter (Dockerfile, adapter.py, __init__.py, requirements.txt); setup() seeds GEMINI.md from system-prompt.md and injects A2A MCP server into settings.json - workspace-template/cli_executor.py — adds gemini-cli to RUNTIME_PRESETS (--yolo flag, -p prompt, --model, GEMINI_API_KEY env auth); adds mcp_via_settings preset flag to skip --mcp-config injection for runtimes that own their own settings file - workspace-configs-templates/gemini-cli/ — default config.yaml + system-prompt.md template - tests/test_adapters.py — adds gemini-cli to expected adapter set - CLAUDE.md — documents new runtime row in the image table Requires: GEMINI_API_KEY global secret. Build: bash workspace-template/build-all.sh gemini-cli Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This was referenced Apr 16, 2026
HongmingWang-Rabbit
added a commit
that referenced
this pull request
Apr 16, 2026
docs(devrel): gemini-cli runtime tutorial (feat #379)
molecule-ai Bot
pushed a commit
that referenced
this pull request
Apr 21, 2026
Adds a `gemini-cli` workspace runtime backed by Google's Gemini CLI (@google/gemini-cli, ~101k ★, Apache 2.0). Mirrors the claude-code adapter pattern: Docker image installs the CLI, CLIAgentExecutor drives the subprocess, A2A MCP tools wire via ~/.gemini/settings.json. Changes: - workspace-template/adapters/gemini_cli/ — new adapter (Dockerfile, adapter.py, __init__.py, requirements.txt); setup() seeds GEMINI.md from system-prompt.md and injects A2A MCP server into settings.json - workspace-template/cli_executor.py — adds gemini-cli to RUNTIME_PRESETS (--yolo flag, -p prompt, --model, GEMINI_API_KEY env auth); adds mcp_via_settings preset flag to skip --mcp-config injection for runtimes that own their own settings file - workspace-configs-templates/gemini-cli/ — default config.yaml + system-prompt.md template - tests/test_adapters.py — adds gemini-cli to expected adapter set - CLAUDE.md — documents new runtime row in the image table Requires: GEMINI_API_KEY global secret. Build: bash workspace-template/build-all.sh gemini-cli Co-authored-by: DevOps Engineer <devops@molecule.ai> Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
molecule-ai Bot
pushed a commit
that referenced
this pull request
Apr 21, 2026
docs(devrel): gemini-cli runtime tutorial (feat #379)
HongmingWang-Rabbit
pushed a commit
that referenced
this pull request
Jun 12, 2026
Both tutorials cited misattributed PRs and claimed shipped runtimes that didn't exist (RFC internal#730 finding): - google-adk-runtime.md: cited 'PR #550' (actually a MemoryTab test suite) + 'already first-class'. Rewritten to the REAL implementation — ADK engine-only (google-adk[mcp]==2.1.0, no [a2a]), Vertex AI via ADC (keyless), a2a-1.x bridge — with correct PR refs (template PR #1, core #2003, ci #26) + a landing-status banner. - gemini-cli-runtime.md: cited 'PR #379' (actually CI cleanup); no gemini-cli runtime exists in manifest/knownRuntimes. Added a correction banner pointing to the real google-adk runtime. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
gemini-clias a new workspace runtime adapter backed by Google Gemini CLI (~101k ⭐, Apache 2.0, v0.38.1)claude-codeadapter pattern: Dockerfile installs@google/gemini-cliglobally,CLIAgentExecutordrives the subprocess, A2A MCP tools wire via~/.gemini/settings.json(Gemini CLI's native MCP config path)What changed
workspace-template/adapters/gemini_cli/Dockerfile,adapter.py,__init__.py,requirements.txtworkspace-template/cli_executor.pygemini-clitoRUNTIME_PRESETS; addsmcp_via_settingspreset flag to skip--mcp-configinjection for runtimes that own their own settings fileworkspace-configs-templates/gemini-cli/config.yaml+system-prompt.mdworkspace-template/tests/test_adapters.pygemini-clito expected adapter registry setCLAUDE.mdArchitecture decisions
claude-code, not a sharedagentic-clibase class. The shared-base refactor is deferred to when a 3rd agentic-CLI runtime arrives (tracked separately).~/.gemini/settings.json. Gemini CLI does not accept--mcp-configas a CLI flag — it reads from the user settings file. The adapter'ssetup()method merges the A2A MCP server into that file, preserving any user-defined MCP tools.GEMINI.mdfrom the working directory as persistent context (equivalent ofCLAUDE.mdfor claude-code).setup()seeds it fromsystem-prompt.mdon first boot.gemini-cliworkspace.Build
Test plan
1213 passed, 2 skipped, 2 xfailed)gemini-cliindiscover_adapters()CLIAgentExecutorcommand for gemini-cli is['gemini', '--yolo', '--model', ..., '-p', ...]— no--mcp-configflagdocker build -t workspace-template:gemini-cli -f workspace-template/adapters/gemini_cli/Dockerfile workspace-template/succeeds (requires Docker + npm registry access)GEMINI_API_KEYset: workspace boots,delegate_taskround-trips,commit_memory/recall_memorywork🤖 Generated with Claude Code