Initial commit — Antigravity plugin v0.1.0
Plugin Claude Code miroir du plugin codex officiel d'OpenAI, mais pour Google Antigravity (agy CLI). Headless via: agy --print --dangerously-skip-permissions --print-timeout 10m Includes: - 1 forwarder agent (antigravity-rescue) - 5 slash commands (setup, rescue, status, result, cancel) - 3 internal skills (cli-runtime, result-handling, gemini-prompting) - agy-companion.mjs runtime (task / setup / status / result / cancel) - marketplace.json for `/plugin marketplace add` Tested: setup OK, foreground task OK, background workflow OK (except OAuth refresh which requires interactive TTY). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
119
README.md
Normal file
119
README.md
Normal file
@@ -0,0 +1,119 @@
|
||||
# Antigravity plugin for Claude Code
|
||||
|
||||
Use **Google Antigravity (Gemini)** from inside Claude Code to delegate tasks in headless mode.
|
||||
|
||||
Mirror of the [OpenAI Codex plugin](https://github.com/openai/codex) pattern, but for Google's `agy` CLI.
|
||||
|
||||
## What it does
|
||||
|
||||
Adds 5 slash commands and 1 agent to Claude Code:
|
||||
|
||||
| Command | What it does |
|
||||
|---|---|
|
||||
| `/antigravity:setup` | Check if `agy` is installed, offer to install it |
|
||||
| `/antigravity:rescue <prompt>` | Delegate a task to Gemini via `agy --print --dangerously-skip-permissions` |
|
||||
| `/antigravity:status [<jobId>]` | List background jobs and their state |
|
||||
| `/antigravity:result [<jobId>]` | Print the full log of a background job |
|
||||
| `/antigravity:cancel <jobId>` | SIGTERM a background job |
|
||||
|
||||
Plus an agent `antigravity:antigravity-rescue` used internally by `/antigravity:rescue` (and that Claude can invoke proactively).
|
||||
|
||||
## Headless mode
|
||||
|
||||
Under the hood, the plugin invokes:
|
||||
|
||||
```bash
|
||||
agy --print --dangerously-skip-permissions --print-timeout <T> "<prompt>"
|
||||
```
|
||||
|
||||
- `--print` runs a single prompt non-interactively (no TUI)
|
||||
- `--dangerously-skip-permissions` auto-approves all tool calls (necessary for unattended execution)
|
||||
- `--print-timeout` is set to 10 min foreground / 30 min background by default
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. Install Antigravity CLI:
|
||||
```bash
|
||||
curl -fsSL https://antigravity.google/cli/install.sh | bash
|
||||
```
|
||||
2. **Run `agy` once interactively** in a terminal to complete Google OAuth sign-in.
|
||||
This stores credentials so headless / background calls don't get stuck on auth.
|
||||
3. Add this plugin to Claude Code (see below).
|
||||
|
||||
> ⚠️ **Auth note** — Background jobs cannot complete an OAuth flow (no TTY).
|
||||
> If your `agy` token expires, the next foreground call will refresh it via browser.
|
||||
> Always do one foreground rescue (or a manual `agy` call) before relying on `--background`.
|
||||
|
||||
## Install in Claude Code
|
||||
|
||||
From Claude Code:
|
||||
|
||||
```
|
||||
/plugin marketplace add file:///Users/olivierdupont/Desktop/diversclaude/antigravity-plugin
|
||||
/plugin install antigravity
|
||||
```
|
||||
|
||||
Then verify:
|
||||
|
||||
```
|
||||
/antigravity:setup
|
||||
```
|
||||
|
||||
## Usage examples
|
||||
|
||||
```
|
||||
/antigravity:rescue Investigate the failing test in src/utils.test.ts and propose a fix.
|
||||
|
||||
/antigravity:rescue --background Refactor the entire payment module to use Stripe Connect Express instead of the current generic Stripe integration. Apply the changes directly.
|
||||
|
||||
/antigravity:rescue --sandbox --add-dir /tmp/sandbox-experiment Create a quick prototype that reads CSV and outputs JSON.
|
||||
|
||||
/antigravity:rescue --resume Apply the top fix from the previous diagnosis.
|
||||
```
|
||||
|
||||
After a background job:
|
||||
|
||||
```
|
||||
/antigravity:status
|
||||
/antigravity:result agy-abc-12345
|
||||
/antigravity:cancel agy-abc-12345
|
||||
```
|
||||
|
||||
## Project layout
|
||||
|
||||
```
|
||||
antigravity-plugin/
|
||||
├── .claude-plugin/plugin.json # plugin manifest
|
||||
├── agents/
|
||||
│ └── antigravity-rescue.md # forwarder subagent
|
||||
├── commands/
|
||||
│ ├── setup.md
|
||||
│ ├── rescue.md
|
||||
│ ├── status.md
|
||||
│ ├── result.md
|
||||
│ └── cancel.md
|
||||
├── skills/
|
||||
│ ├── antigravity-cli-runtime/ # internal: how to invoke agy-companion
|
||||
│ ├── antigravity-result-handling/ # internal: how to display output
|
||||
│ └── gemini-prompting/ # internal: how to write good Gemini prompts
|
||||
└── scripts/
|
||||
└── agy-companion.mjs # central wrapper (task / setup / status / result / cancel)
|
||||
```
|
||||
|
||||
## Differences with the Codex plugin
|
||||
|
||||
| Codex plugin (1.0.4) | This Antigravity plugin (0.1.0) |
|
||||
|---|---|
|
||||
| `codex` CLI from OpenAI | `agy` CLI from Google |
|
||||
| GPT-5.x family of models | Gemini family |
|
||||
| `codex --json` headless mode | `agy --print` headless mode |
|
||||
| Full job persistence (state.mjs, jobs DB) | Minimal jobs dir at `~/.cache/antigravity-plugin/jobs/` |
|
||||
| Review / adversarial-review / stop-gate hooks | Not in v0.1 (just `task`) |
|
||||
| Multi-model support, effort tuning | Not in v0.1 (Gemini default) |
|
||||
| Resume-last logic via thread IDs | Naive `--continue` (agy's default) |
|
||||
|
||||
For most rescue/delegation use cases, the v0.1 surface is sufficient.
|
||||
|
||||
## License
|
||||
|
||||
MIT. This plugin is not affiliated with Google or OpenAI.
|
||||
Reference in New Issue
Block a user