diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json index beaf9b1..24501b7 100644 --- a/.codex-plugin/plugin.json +++ b/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "legion", - "version": "8.0.3", + "version": "8.0.4", "description": "Official Codex plugin bundle for Legion's multi-agent planning, execution, review, and shipping workflows.", "author": { "name": "9thLevelSoftware", diff --git a/AGENTS.md b/AGENTS.md index d14446f..fbf6e55 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Legion -A multi-CLI plugin for orchestrating 48 AI specialist personalities as a coordinated legion. Works with Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Kiro CLI, Windsurf, OpenCode, and Aider. +A multi-CLI plugin for orchestrating 49 AI specialist personalities as a coordinated legion. Works with Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Antigravity CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, and Aider. ## MANDATORY: User Interaction Rule diff --git a/CHANGELOG.md b/CHANGELOG.md index 957268b..b877831 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,14 @@ All notable changes to the Legion plugin are documented here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This project uses [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [8.0.4] - 2026-05-27 + +### Added +- **Antigravity CLI Support** — Full native integration for the brand new Antigravity CLI (`agy`), the successor to Gemini CLI. +- **Antigravity Plugin Installer** — Native installation surface mapping under `.agents/plugins/legion` (local) and `~/.gemini/config/plugins/legion` (global) with a generated `plugin.json` manifest. +- **CLI Adapter & Routing** — Comprehensive `adapters/antigravity-cli.md` adapter detailing capabilities, known quirks, interaction protocol, and parallel wave execution protocols. +- **Versioning & Website Updates** — Synchronized metadata, updated README, website, and certification checklists to ensure smooth NPM publication. + ## [8.0.3] - 2026-05-17 ### Changed diff --git a/CLAUDE.md b/CLAUDE.md index be21492..a770b52 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -1,6 +1,6 @@ # Legion -A multi-CLI plugin for orchestrating 48 AI specialist personalities as a coordinated legion. Works with Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Kiro CLI, Windsurf, OpenCode, and Aider. +A multi-CLI plugin for orchestrating 49 AI specialist personalities as a coordinated legion. Works with Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Antigravity CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, and Aider. ## MANDATORY: User Interaction Rule diff --git a/README.md b/README.md index 289349b..691b449 100644 --- a/README.md +++ b/README.md @@ -25,6 +25,7 @@ Replace `--claude` with your runtime of choice: | `--cursor` | Cursor | | `--copilot` | GitHub Copilot CLI | | `--gemini` | Google Gemini CLI | +| `--antigravity` | Antigravity CLI | | `--kiro` | Kiro CLI (preferred) | | `--amazon-q` | Deprecated alias for `--kiro` | | `--windsurf` | Windsurf | @@ -42,6 +43,7 @@ Replace `--claude` with your runtime of choice: | OpenAI Codex CLI | Beta | Native prompt commands plus a Legion bridge skill; use `/project:legion-start` or `/prompts:legion-start` | | GitHub Copilot CLI | Beta | Native `/legion-start` skills plus a `legion-orchestrator` agent profile | | Google Gemini CLI | Beta | Native `/legion:start` custom commands in `.gemini/commands/legion/` | +| Antigravity CLI | Certified | Native `/legion:start` plugins in `.agents/plugins/legion/` (local) or `~/.gemini/config/plugins/legion/` (global) | | Kiro CLI (formerly Amazon Q Developer CLI) | Beta | Native `@legion-orchestrator` custom agent plus steering files | | OpenCode | Beta | Native `/legion-start` custom commands plus a Legion subagent | | Kilo CLI | Beta | Native `/legion-start` custom commands plus a Legion subagent | @@ -87,6 +89,7 @@ This repository now also ships a repo-native Codex plugin manifest at `.codex-pl | OpenAI Codex CLI | `/project:legion-start` | `/prompts:legion-start` | | GitHub Copilot CLI | `/legion-start` or `/agent legion-orchestrator` | `/legion-start` or `/agent legion-orchestrator` | | Google Gemini CLI | `/legion:start` | `/legion:start` | +| Antigravity CLI | `/legion:start` | `/legion:start` | | Kiro CLI | `@legion-orchestrator` | `@legion-orchestrator` | | OpenCode | `/legion-start` | `/legion-start` | | Kilo CLI | `/legion-start` | `/legion-start` | @@ -984,8 +987,8 @@ These activate automatically when their prerequisites are met: ## Requirements - Node.js 18+ (install-time only; the installer lazy-loads `yaml` for safe Kilo Code mode merges) -- One of the 10 supported AI CLI runtimes or the Kilo Code plugin: - Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, Aider, or Kilo Code Plugin +- One of the 11 supported AI CLI runtimes or the Kilo Code plugin: + Claude Code, OpenAI Codex CLI, Cursor, GitHub Copilot CLI, Google Gemini CLI, Antigravity CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, Aider, or Kilo Code Plugin ## Contributing diff --git a/adapters/antigravity-cli.md b/adapters/antigravity-cli.md new file mode 100644 index 0000000..1578f22 --- /dev/null +++ b/adapters/antigravity-cli.md @@ -0,0 +1,71 @@ +--- +cli: antigravity-cli +cli_display_name: "Antigravity CLI" +version: "1.0" +support_tier: "certified" +capabilities: + parallel_execution: true + agent_spawning: true + structured_messaging: false + native_task_tracking: true + read_only_agents: true + supports_extended_thinking: true +detection: + primary: "plugin.json exists in .agents/plugins/legion or ~/.gemini/config/plugins/legion" + secondary: "AGENTS.md exists in CWD or ~/.gemini/antigravity-cli/settings.json exists" +max_prompt_size: 2097152 +known_quirks: + - "no-structured-messaging" +--- + +# Antigravity CLI Adapter + +Antigravity CLI (`agy`) is the certified successor to Google's Gemini CLI. It supports native plugins staged under `.agents/plugins/legion` (local) or `~/.gemini/config/plugins/legion` (global). Legion installs as a compliant Antigravity plugin with a `plugin.json` manifest, bringing its full suite of 49 agents, skills, and slash commands. + +## Tool Mappings + +| Generic Concept | Implementation | +|-----------------|---------------| +| `spawn_agent_personality` | Spawn a background agent with the specified personality and task using the Antigravity agent system (`agy subagent spawn`). | +| `spawn_agent_autonomous` | Spawn an autonomous background agent task (`agy task spawn`). | +| `spawn_agent_readonly` | Spawn a background agent with explicit read-only instruction sets. Read-only is enforced by blocking write/edit tools. | +| `coordinate_parallel` | Concurrent dispatch of multiple subagents inside the Antigravity plugin harness. Each agent writes results to its respective file. | +| `collect_results` | Each agent writes its outcome to `.planning/phases/{NN}/{NN}-{PP}-RESULT.md`. | +| `shutdown_agents` | Terminate active background agents using the `/tasks kill` slash command or direct API call. | +| `cleanup_coordination` | Clean up temporary workspace plugin directories. | +| `ask_user` | Structured question prompts via the Antigravity CLI prompt overlay (similar to `AskUserQuestion`). | +| `model_planning` | `gemini-2.5-pro` (default planning model) | +| `model_execution` | `gemini-2.5-flash` (default execution model) | +| `model_check` | `gemini-2.5-flash` | +| `global_config_dir` | `~/.gemini/antigravity-cli/` | +| `plugin_discovery_glob` | `/.gemini/config/plugins/legion/plugin.json` — **resolve `` first** using `os.homedir()` or `echo $HOME` to get the absolute path. Do NOT pass `~` or environment variables directly to the Glob tool. | +| `commit_signature` | `Co-Authored-By: Antigravity ` | + +## Interaction Protocol + +Antigravity CLI supports high-fidelity interactive user prompts. The `ask_user` tool utilizes the CLI's native prompt overlay to present multiple-choice list selections. If unavailable, it falls back to a numbered plain-text menu prompt that parses numerical choices from standard input. + +## Execution Protocol + +### Phase Initialization + +Write the wave checklist and plan artifacts to `.planning/phases/{NN}/WAVE-CHECKLIST.md`. + +### Wave Execution + +**Dispatch mode:** parallel plugin-based execution via native subagent spawning + filesystem polling. + +Antigravity CLI natively coordinates parallel background agents using its agent system: +1. For each plan in the active wave, resolve its assigned agent personality from the `agents/` directory in the Legion plugin. +2. Initialize parallel background processes using the `/tasks` scheduler. +3. Plans that share file workspaces are protected from concurrent edits by verifying that their `files_modified` arrays do not overlap. +4. Each background subagent writes its final plan outcome and task outputs directly to `.planning/phases/{NN}/{NN}-{PP}-RESULT.md`. +5. The orchestrator polls the designated result paths every 5 seconds until all tasks in the current wave complete or a 30-minute timeout is reached. + +### Result Collection + +After each wave, read and parse the generated plan result files. Update the phase execution checklist with status and outcome metrics. + +### Phase Cleanup + +No special cleanup needed. Stale background task logs are closed and archived. diff --git a/bin/install.js b/bin/install.js index 2ba0cbd..35748fe 100644 --- a/bin/install.js +++ b/bin/install.js @@ -89,6 +89,8 @@ Runtime (pick one): --cursor Cursor --copilot GitHub Copilot CLI --gemini Google Gemini CLI + --antigravity Antigravity CLI + --agy Alias for --antigravity --kiro Kiro CLI (preferred) --amazon-q Deprecated alias for --kiro --windsurf Windsurf @@ -1253,6 +1255,84 @@ function install(runtimeKey, scope, verify = false) { break; } + case 'antigravity-plugin': { + // 1. Write plugin.json manifest + const pluginJsonPath = joinPath(surface.path, 'plugin.json'); + const manifest = { + name: "legion", + version: pkg.version, + description: pkg.description, + author: pkg.author.name || pkg.author, + repository: pkg.repository.url || pkg.repository, + keywords: pkg.keywords, + license: pkg.license + }; + writeManagedFile(pluginJsonPath, JSON.stringify(manifest, null, 2), nativeArtifacts); + console.log(` ${surface.key}: plugin.json -> ${pluginJsonPath}`); + + // 2. Copy skills/ directory recursive to surface.path/skills + const destSkillsDir = joinPath(surface.path, 'skills'); + ensureDirs([destSkillsDir]); + const skillSrcDirs = listDirs(src.skillsSrc); + for (const skillSrc of skillSrcDirs) { + const skillName = path.basename(skillSrc); + const destSkillPath = joinPath(destSkillsDir, skillName); + ensureDirs([destSkillPath]); + for (const entry of fs.readdirSync(skillSrc)) { + const srcPath = joinPath(skillSrc, entry); + const destPath = joinPath(destSkillPath, entry); + if (fs.statSync(srcPath).isDirectory()) { + copyDirRecursive(srcPath, destPath); + } else if (entry === 'SKILL.md') { + let content = fs.readFileSync(srcPath, 'utf8'); + if (skillName === 'workflow-common') { + content = rewriteAgentPathResolution(content, paths.manifestFile); + } + fs.writeFileSync(destPath, content); + } else { + fs.copyFileSync(srcPath, destPath); + } + } + // Recursively push all files inside to nativeArtifacts + const walkArtifacts = (dir) => { + const entries = fs.readdirSync(dir, { withFileTypes: true }); + for (const entry of entries) { + const full = joinPath(dir, entry.name); + if (entry.isDirectory()) { + walkArtifacts(full); + } else { + nativeArtifacts.push({ path: full }); + } + } + }; + walkArtifacts(destSkillPath); + nativeArtifacts.push({ path: destSkillPath, kind: 'dir' }); + } + console.log(` ${surface.key}: skills -> ${destSkillsDir}`); + + // 3. Copy agents/ directory to surface.path/agents + const destAgentsDir = joinPath(surface.path, 'agents'); + ensureDirs([destAgentsDir]); + const agentFiles = listMdFiles(src.agentsSrc); + for (const agentFile of agentFiles) { + const base = path.basename(agentFile); + const destAgentPath = joinPath(destAgentsDir, base); + fs.copyFileSync(agentFile, destAgentPath); + nativeArtifacts.push({ path: destAgentPath }); + } + console.log(` ${surface.key}: agents -> ${destAgentsDir}`); + + // 4. Copy transformed commands/ to surface.path/commands + const destCommandsDir = joinPath(surface.path, 'commands'); + ensureDirs([destCommandsDir]); + for (const [commandName, commandContent] of transformedCommands.entries()) { + const commandPath = joinPath(destCommandsDir, `${commandName}.md`); + writeManagedFile(commandPath, commandContent, nativeArtifacts); + } + console.log(` ${surface.key}: commands -> ${destCommandsDir}`); + break; + } + case 'opencode-agent': { const backedUp = writeManagedFile(surface.path, generateOpenCodeAgent(paths), nativeArtifacts); if (backedUp) { diff --git a/bin/runtime-metadata.js b/bin/runtime-metadata.js index d036a1a..62a9dbf 100644 --- a/bin/runtime-metadata.js +++ b/bin/runtime-metadata.js @@ -249,6 +249,40 @@ const RUNTIME_METADATA = { }, ], }, + antigravity: { + key: 'antigravity', + flag: '--antigravity', + aliases: ['--agy'], + label: 'Antigravity CLI', + adapterFile: 'antigravity-cli.md', + supportTier: 'certified', + disposition: 'native-plugins', + installSurface: 'native plugins with manifest, skills, and agents', + scopeSupport: { local: true, global: true }, + storageLayout: 'legion', + allowedTools: ['Read', 'Write', 'Edit', 'Bash', 'Grep', 'Glob'], + supportsAtRefs: false, + nativeSurfaces: [ + { + key: 'antigravity-plugin', + type: 'antigravity-plugin', + pathKind: 'dir', + localPath: '$PROJECT/.agents/plugins/legion', + globalPath: '$HOME/.gemini/config/plugins/legion', + }, + ], + entrypoints: { + local: '/legion:start', + global: '/legion:start', + }, + evidence: [ + { + title: 'Plugins structure', + url: 'https://antigravity.google', + verifiedOn: '2026-03-11', + }, + ], + }, kiro: { key: 'kiro', flag: '--kiro', @@ -598,6 +632,7 @@ const RUNTIME_ORDER = [ 'cursor', 'copilot', 'gemini', + 'antigravity', 'kiro', 'windsurf', 'opencode', diff --git a/checksums.sha256 b/checksums.sha256 index d571561..f00a5f8 100644 --- a/checksums.sha256 +++ b/checksums.sha256 @@ -1,6 +1,7 @@ -5fdacb1222b3e2e10fac707b112ad2162c63e52f2e6af84723086d3538c5f69a .codex-plugin/plugin.json +7a3b03b5db1c7d38027ea39c05c4ee319fff5ef61e4da16c66bf883b7a7d6e10 .codex-plugin/plugin.json ba73af176b9915c9d5857c92dacf20a8c9396274ac99b0c01c1e5b8e522ecf81 adapters/ADAPTER.md 57e66234293d10037ad39ecc54ddbc07c5bc68205e3f958167a0f85ecd1f6b77 adapters/aider.md +76277abb2d7f26c9a0d640027264a7689e9c5a3e0a4e0eb9233d002e4158b4a5 adapters/antigravity-cli.md 06961cf1290db71811a753f72d1587e99783c15baee5634889f56c940f0c3f17 adapters/claude-code.md aa87795826ae75e0df45e777763d12b34487a5411c48e3e13f8193c3ae918f41 adapters/codex-cli.md 05b808da111d624716f6f3fccf607136975c0db207f2d2f853ca0b2b1e6f7bde adapters/copilot-cli.md @@ -60,8 +61,8 @@ b4426eccac6df34166c4f66523fd713a00812ab19c0c2a7b2d1d3a2987392a71 agents/testing d419cedcfefaa32faeb0c2ac21439c9f77d0442670ed4560bd0f950954fd5940 agents/xr-cockpit-interaction-specialist.md 156e480600de5a008a7b2f5b9fdcb66ec4b71cf2f1dacb3b905a8183ac608c85 agents/xr-immersive-developer.md 9b146d8c8e08554e366778b59a95c03f6deb7a7733921a57414ae21fe987890c agents/xr-interface-architect.md -b7ebb80427c03bc03097815450715b359df269a992546d434948d87a17257522 bin/install.js -9930f8fe3b0ad0fb5eeaa4bff684f4faf205e335b6f3604e947767a24b363507 bin/runtime-metadata.js +b0975dd0a6f3d422f842430b831bf081e5c3250cf742b95ba1f2a688c5b5d2f1 bin/install.js +abca4d84c47a5b85bfd03ff19073cefbe9d4667ac678697f4eb38aae4d1206ad bin/runtime-metadata.js 6258017a9bfb6ef967d1f1d95682d37b4d155779f61151c4a5757f2d422b03ad commands/advise.md 678e94a09f951ba1f6172f004506958dd1dda95583065901d7e993a0cf99e123 commands/agent.md 3437849ecaad8ee282b9ac355b0f9389ea2a97f010b9b8479095f32b276dc7c1 commands/board.md @@ -79,15 +80,15 @@ d3828355bba0db2e7d176d04bee595c95ab32a6d3303fd12da605fb142d58d4e commands/revie e073e325d7981e85a523351561d2653796adcd5fce769c73b033798078b4e728 commands/ship.md c2e2b38cd51bda71fda6f524767bbb1b28b855736cf92dd54931d46f94c6f350 commands/start.md 74d5061f338ac4b91a6f601c9798446afaf09f36f9966e41108d5c6b0e081d09 commands/status.md -d71f42f3ff8e427746d68dba41875403d33ba3723bfc53910ce392a4d5025c69 commands/update.md +704152627220aa1e7983cc3de73c359c14ce8a5a65d6cdcc9169116cdfbade88 commands/update.md c259f17a410f9cfc948c5a7bbb7f9c0f5cda02f7c381a859752b33f08f0e141d commands/validate.md 6d6328964998c37acb4eb21bdc8485339a3bd2bfc749f0157498864a8ecb8310 docs/control-modes.md -e9d3786ccdd7cb32ec06a64e54b4074bab1d3ab6f05d184d6253cf080fbb053a docs/runtime-audit.md -639338e6e5ee5fc32c755de575b9e87e2270a816fcb310f13f7703a4d8a53d5e docs/runtime-certification-checklists.md +5ba9ee52d3066771dc09d7deef1ee389acf2fc7436c7b836378a9b8828ab650b docs/runtime-audit.md +6f2f91394ac834929fcdf3e9917932e98de0c5e24fd4bfb604d5df23f26ef0f6 docs/runtime-certification-checklists.md b5ba3aefa7b87dd8fe95017801976515d704ac82ec8fd0a115d9dc1098fdc59a docs/security/install-integrity.md e43149ae6e8cdc675f54b7c5fc5d5ea5847bd7f404fbc4bc36ad847a34b8b9ff docs/settings.schema.json -ae3c6ecc86b2fbde941271d8349a5914ed5f78d1996e20bcc459569a81b893aa package.json -5c29f47a51898778d57d8d55ca7fcd5656ee100e7b9bc1b1c79b2958a469ce73 README.md +a50f5d94cb9dbeb2908a1b25f2041a3e4b4e4b40889d67348f7718a1c1fdcc11 package.json +123b06e4b41ba4263700f2d8b7a975d6cb54a8b05eb0fc387ff379539e8944df README.md 6693f48633f8527f6feeb7cf3d9f88c7b235c728129848625a8aa9443d6e63e5 settings.json 2e8909340b49da1d32fd361ea800db7e4e3c58681781cc5ab84d896f7e061fa1 skills/agent-creator/SKILL.md d3755d1a037b92fc518049051e8e07bd04b378ad11a90cfef8accb8bbb751602 skills/agent-registry/CATALOG.md @@ -130,4 +131,4 @@ bc7d13659b5e4ae4a75fbc84ba60d3724cf1a50a06ff4bd18984f159d0701614 skills/ship-pi 27b587dbe5bb4be8faaf0fbc4b7b50399f8bac544a9a1ab3da1a27b365ac6003 skills/workflow-common-domains/SKILL.md ed808a0eab115829e76c9cfadf86004109fd221ce0af1994367d150b4a5ec641 skills/workflow-common-github/SKILL.md 3cfba03208bfae33f0c940d3ffb4cf66d1e1939c3759930f0251e12d36c7375f skills/workflow-common-memory/SKILL.md -d35720610b24bc4c9e94a7d22d4534e6dce6c3c7b6a13ef7dbd8b9bf4b3b839c skills/workflow-common/SKILL.md +867ddec5df26560d02cd634dd6e3345e1d44e168b3c33c9717970f525ba84bc4 skills/workflow-common/SKILL.md diff --git a/commands/update.md b/commands/update.md index 5ba0017..9554857 100644 --- a/commands/update.md +++ b/commands/update.md @@ -27,6 +27,7 @@ skills/workflow-common-core/SKILL.md - cursor → --cursor - copilot-cli → --copilot - gemini-cli → --gemini + - antigravity-cli → --antigravity - kiro-cli → --kiro - amazon-q → --amazon-q (deprecated alias for --kiro) - windsurf → --windsurf diff --git a/docs/index.html b/docs/index.html index 5fc8eb4..f105fa3 100644 --- a/docs/index.html +++ b/docs/index.html @@ -761,6 +761,7 @@

Summon the Legion

npx @9thlevelsoftware/legion --codex # OpenAI Codex CLI npx @9thlevelsoftware/legion --cursor # Cursor npx @9thlevelsoftware/legion --gemini # Google Gemini CLI +npx @9thlevelsoftware/legion --antigravity # Antigravity CLI # + copilot, kiro, windsurf, opencode, kilo, kilo-code, aider # Then, in any project directory: @@ -1164,6 +1165,31 @@

Dynamic Knowledge Index

+ +
+

v8.0.4 — Antigravity CLI Adapter

+

+ Official native plugin integration for the brand new Antigravity CLI (agy), + the successor to Google Gemini CLI, bringing premium multi-agent workflows and parallel wave coordination. +

+
+
+

Native Plugin Structure

+

Installs as a compliant Antigravity plugin under .agents/plugins/legion (local) or ~/.gemini/config/plugins/legion (global) with a generated plugin.json manifest.

+
+
+

Parallel Waves

+

Leverages Antigravity's native subagent spawn mechanics to execute coordinate parallel waves with filesystem-based result polling.

+
+
+

11 CLI Runtimes

+

Enriches the detection step 1 probe with Antigravity validation, expanding Legion's certified ecosystem coverage.

+
+
+
+ +
+

v8.0.3 — Codebase Map & Design Discovery

@@ -1269,8 +1295,8 @@

Native Wrappers

Installs flat /legion-start workflows to .kilo/commands/, a legion-orchestrator subagent to .kilo/agents/, and Agent-Skills-formatted copies of every Legion skill to .kilo/skills/<name>/SKILL.md for Kilo's native skill loader.

-

10 Runtimes

-

Legion now covers 10 AI CLI runtimes: Claude Code, Codex CLI, Cursor, Copilot CLI, Gemini CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, and Aider.

+

11 Runtimes

+

Legion now covers 11 AI CLI runtimes: Claude Code, Codex CLI, Cursor, Copilot CLI, Gemini CLI, Antigravity CLI, Kiro CLI, Windsurf, OpenCode, Kilo CLI, and Aider.

Detection Protocol

diff --git a/docs/runtime-audit.md b/docs/runtime-audit.md index c7bfb28..29a5bc1 100644 --- a/docs/runtime-audit.md +++ b/docs/runtime-audit.md @@ -10,6 +10,7 @@ Claude Code remains the control runtime. Every other runtime below was re-audite | Cursor | Experimental | Rules-only | Yes | No | `.cursor/rules/legion.mdc` | Plain-language Legion requests | | GitHub Copilot CLI | Beta | Skills and custom agent | Yes | Yes | `.github/skills/`, `.github/agents/`, `~/.copilot/skills/`, `~/.config/copilot/agents/` | `/legion-start` or `/agent legion-orchestrator` | | Google Gemini CLI | Beta | Native commands | Yes | Yes | `.gemini/commands/legion/*.toml` or `~/.gemini/commands/legion/*.toml` | `/legion:start` | +| Antigravity CLI | Certified | Native plugins | Yes | Yes | `.agents/plugins/legion/` plus `~/.gemini/config/plugins/legion/` | `/legion:start` | | Kiro CLI (formerly Amazon Q Developer CLI) | Beta | Custom agent and steering | Yes | Yes | `.kiro/agents/`, `.kiro/steering/`, `~/.kiro/agents/`, `~/.kiro/steering/` | `@legion-orchestrator` | | Windsurf | Experimental | Rules-only | Yes | No | `.windsurf/rules/legion.md` | Plain-language Legion requests | | OpenCode | Beta | Commands and subagent | Yes | Yes | `.opencode/command/`, `.opencode/agent/`, `~/.config/opencode/command/`, `~/.config/opencode/agent/` | `/legion-start` | @@ -46,6 +47,10 @@ Claude Code remains the control runtime. Every other runtime below was re-audite - [Configuration and GEMINI.md](https://github.com/google-gemini/gemini-cli?tab=readme-ov-file#configuration) - [Extensions](https://github.com/google-gemini/gemini-cli/blob/main/docs/extension.md) +### Antigravity CLI + +- [Plugins](https://antigravity.google) + ### Kiro CLI - [Amazon Q Developer CLI is now Kiro CLI](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line.html) diff --git a/docs/runtime-certification-checklists.md b/docs/runtime-certification-checklists.md index 7537afa..ee37806 100644 --- a/docs/runtime-certification-checklists.md +++ b/docs/runtime-certification-checklists.md @@ -37,6 +37,13 @@ Use these checklists for manual verification when CI cannot prove runtime-native - Verify Gemini reads the authoritative `.legion/commands/legion/start.md` file. - Confirm nested namespace commands still resolve as `/legion:`. +## Antigravity CLI + +- Confirm `.agents/plugins/legion/plugin.json` or `~/.gemini/config/plugins/legion/plugin.json` exists and is valid JSON. +- Verify skills, agents, and commands directories exist inside the plugin folder. +- Restart Antigravity CLI and run `agy inspect` to verify the `legion` plugin is active. +- Verify Antigravity CLI can run `/legion:start` and execute the installed plugin commands. + ## Kiro CLI (formerly Amazon Q Developer CLI) - Confirm `.kiro/agents/legion-orchestrator.md` or `~/.kiro/agents/legion-orchestrator.md` exists. diff --git a/package.json b/package.json index 9b0b0ae..2265b82 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@9thlevelsoftware/legion", - "version": "8.0.3", + "version": "8.0.4", "description": "Orchestrate 49 AI specialist personalities as a coordinated legion — project initialization, phase planning, parallel execution, quality review, code polish, shipping, and portfolio management.", "bin": { "legion": "bin/install.js" diff --git a/scripts/release-check.js b/scripts/release-check.js index 1858404..1835130 100644 --- a/scripts/release-check.js +++ b/scripts/release-check.js @@ -166,6 +166,7 @@ function checkRuntimeSupportTable() { 'Cursor', 'GitHub Copilot CLI', 'Google Gemini CLI', + 'Antigravity CLI', 'Kiro CLI (formerly Amazon Q Developer CLI)', 'Windsurf', 'OpenCode', diff --git a/skills/workflow-common/SKILL.md b/skills/workflow-common/SKILL.md index 6d7fd12..f033aae 100644 --- a/skills/workflow-common/SKILL.md +++ b/skills/workflow-common/SKILL.md @@ -40,6 +40,7 @@ Step 1: Tool probe (primary detection) - Cursor: `.cursor/rules/legion.mdc` exists - Copilot CLI: `.github/skills/legion-start/SKILL.md`, `~/.copilot/skills/legion-start/SKILL.md`, `.github/agents/legion-orchestrator.agent.md`, or `~/.config/copilot/agents/legion-orchestrator.agent.md` exists - Gemini CLI: `.gemini/commands/legion/start.toml` or `~/.gemini/commands/legion/start.toml` exists + - Antigravity CLI: `.agents/plugins/legion/plugin.json` or `~/.gemini/config/plugins/legion/plugin.json` exists - Kiro CLI: `.kiro/agents/legion-orchestrator.md`, `~/.kiro/agents/legion-orchestrator.md`, `.kiro/steering/legion.md`, or `~/.kiro/steering/AGENTS.md` exists - Windsurf: `.windsurf/rules/legion.md` exists - OpenCode: `.opencode/command/legion-start.md`, `~/.config/opencode/command/legion-start.md`, `.opencode/agent/legion-orchestrator.md`, or `~/.config/opencode/agent/legion-orchestrator.md` exists diff --git a/tests/adapter-conformance.test.js b/tests/adapter-conformance.test.js index bbd751b..b3d26fe 100644 --- a/tests/adapter-conformance.test.js +++ b/tests/adapter-conformance.test.js @@ -332,11 +332,11 @@ describe('Adapter Conformance: Tool Mappings Completeness', () => { }); describe('Adapter Conformance: Cross-adapter Consistency', () => { - test('exactly 11 adapter files exist (excluding ADAPTER.md)', () => { + test('exactly 12 adapter files exist (excluding ADAPTER.md)', () => { assert.equal( adapterFiles.length, - 11, - `Expected 11 adapter files, found ${adapterFiles.length}: ${adapterFiles.join(', ')}` + 12, + `Expected 12 adapter files, found ${adapterFiles.length}: ${adapterFiles.join(', ')}` ); }); @@ -385,6 +385,7 @@ describe('Adapter Conformance: Detection Cross-Reference with workflow-common', cursor: 'Cursor', 'copilot-cli': 'Copilot CLI', 'gemini-cli': 'Gemini CLI', + 'antigravity-cli': 'Antigravity CLI', 'kiro-cli': 'Kiro CLI', windsurf: 'Windsurf', opencode: 'OpenCode', diff --git a/tests/installer-smoke.test.js b/tests/installer-smoke.test.js index 7ad6481..5bd90ef 100644 --- a/tests/installer-smoke.test.js +++ b/tests/installer-smoke.test.js @@ -121,6 +121,14 @@ function expectedNativeFiles(runtimeKey, scope, projectDir, homeDir) { expected.push(path.join(surfacePath, 'board-of-directors', 'SKILL.md')); expected.push(path.join(surfacePath, 'wave-executor', 'SKILL.md')); break; + case 'antigravity-plugin': + expected.push(path.join(surfacePath, 'plugin.json')); + expected.push(path.join(surfacePath, 'skills', 'code-polish', 'SKILL.md')); + expected.push(path.join(surfacePath, 'skills', 'workflow-common', 'SKILL.md')); + expected.push(path.join(surfacePath, 'skills', 'phase-decomposer', 'SKILL.md')); + expected.push(path.join(surfacePath, 'skills', 'board-of-directors', 'SKILL.md')); + expected.push(path.join(surfacePath, 'skills', 'wave-executor', 'SKILL.md')); + break; default: throw new Error(`Unhandled native surface type in tests: ${surface.type}`); }