feat(provider): add Gemini CLI provider#94
Open
aurokin wants to merge 4 commits into
Open
Conversation
…emini-provider # Conflicts: # src/provider.test.ts # src/provider.ts
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.
Author Note: The intent of this PR is to add Gemini CLI support to Clawpatch. I know antigravity was just announced i'll start on that next >.> . I analyzed Gemini CLI source, probed the CLI behavior directly, reviewed the implementation as it was built, and dogfooded this build while reviewing the final PR with Clawpatch using both Codex and Gemini.
Update: I can't add antimatter, going to add the feedback from the agent below the main PR
Summary
Adds Gemini CLI as a Clawpatch provider for map, review, revalidate, and fix workflows.
Changes
geminiprovider command construction and JSON envelope parsing.--approval-mode=plan.--approval-mode=auto_edit.CLAWPATCH_GEMINI_TRUST_WORKSPACE=truefor trusted workspace execution.HOME/XDG environment while seeding only minimal auth files.CLAWPATCH_GEMINI_ALLOW_UNPATCHED=1.Validation
pnpm format:checkpnpm typecheckpnpm lintpnpm testpnpm buildCLAWPATCH_GEMINI_TRUST_WORKSPACE=true node dist/cli.js doctor --provider gemini --jsonWhy we can't add Antigravity yet
Decision note: do not implement the Antigravity provider yet.
Antigravity CLI is not ready for a Clawpatch provider vertical slice because the current verified agy 1.0.0 surface does not yet meet Clawpatch's provider contract:
No reliable machine-readable output mode is exposed. agy has --print , but no documented or local --output-format=json / structured schema flag comparable to Codex or Gemini CLI.
--print cannot take the prompt on stdin, so large Clawpatch prompts would need argv handling or temp-file indirection that Antigravity has not documented.
Auth failure is not classifiable by exit code alone: auth timeout prints an error but exits 0.
Read-only safety is not proven. The available flags are --sandbox and --dangerously-skip-permissions; there is no verified plan/read-only approval mode equivalent, and current user settings include always-proceed permissions.
Startup creates Antigravity project state before auth. Running from a temp runner directory may keep the target repo clean, but authenticated --add-dir behavior still needs proof.
There is no exposed --model flag, so Clawpatch --model behavior cannot currently be mapped cleanly.
The next step should be authenticated HITL evidence in a synthetic repo. Implementation should wait until we can prove: reliable JSON-only responses, clean target worktree behavior, controlled read-only/write modes, target-file access through --add-dir, timeout behavior, and any supported model-selection path.