all work

agy-plugin-cc — Antigravity inside Claude Code

  • JavaScript
  • Node.js
  • Claude Code Plugin
  • Antigravity CLI
  • workspace isolation

A Claude Code port of opencode-plugin-cc, itself a port of the official openai/codex-plugin-cc surface, driving Google's Antigravity CLI (agy). It carries the review, adversarial-review, rescue, transfer, status, result, cancel, and setup command surface, plus an optional stop-time review gate. Headless agy has no read-only mode, so reviews use a disposable workspace copy rather than the real repository. Independent project, not affiliated with Google or OpenAI.

View code

Project overview

Role Sole adapter and maintainer of the Claude Code port — agy workspace scoping, mirror-based read-only reviews, command surface, job store, model honesty

Scenario

Claude Code needed a controlled way to use a second model through Antigravity, while headless agy cannot grant reads without also allowing writes. A reviewer that can read the repository can write it too.

Product strategy

The port keeps the command surface but makes read-only review a filesystem boundary: a disposable working-tree copy has no .git and the real tree is fingerprinted before and after. That boundary is for read-only review only — write-capable rescue runs deliberately get the real repository. Claude Code keeps files, git, and final judgment.

Outcome and current stage

Public v0.1.0 · port of the codex-plugin-cc surface via opencode-plugin-cc · mirror-based read-only reviews · optional stop-time review gate

My contribution

  • Claude Code commands for review, adversarial-review, rescue, transfer, status, result, cancel, and setup, with an optional stop-time review gate
  • Mirror-based read-only review: a disposable copy without .git, no repository path disclosure, tree_changed_during_readonly_run checks, and findings rewritten to real paths. What it guarantees is that the review cannot touch your tree, index, or branches — not that agy is sandboxed, since it still runs with permission prompts skipped
  • Model honesty: agy has no user-side model setting, so the plugin reports only an observed model or none at all
  • Background job control with a job id printed before the run, polling, and a conversation id for continuation