[feat] Support Antigravity CLI (agy) as a delivery target
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 45/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- typescript
- Domain
- tooling
Research direction
Start by finding the built-in toolPaths defaults, KNOWN_AGENTS, and SELF_MODE_AGENT_CHOICES in the TypeScript CLI source; check how existing agents handle file-based resources such as MCP and settings. Then decide how agy should deliver its skills.json entries and rules, since the issue describes two possible approaches. Done means agy can be enabled and receives team resources without conflicting with Gemini paths.
Written by the indexing model from the issue text.
Description
Problem
Antigravity CLI (agy, Google's Gemini-based coding agent) is not a recognized agent in teamai, so members who use it get none of the team's resources.
Verified against [email protected]:
toolPathsbuilt-in defaults contain 20 keys, none of themagy/antigravity:
claude, codex, tclaude, tcodex, cursor, copilot, joycode, qoder, kiro, trae, zcode, omp, pi, codebuddy, openclaw, hermes, dsh, workbuddy, opencode, museKNOWN_AGENTScontains 38 entries (includingwindsurf,kilocode,junie,augment) — also noagy.- A full-text search of
dist/cli.jsforantigravity/agyreturns 0 hits. teamai init --agent agyhas no template to resolve against, andenabledAgentsin the local config can only enable agents that already exist intoolPaths.
So this is a capability gap in the CLI, not a local activation problem.
Proposed Solution
Add an agy (Antigravity CLI) entry to the toolPaths defaults, plus an agy entry in KNOWN_AGENTS (and in SELF_MODE_AGENT_CHOICES if single-repo mode should support it).
The paths below come from the CLI's own bundled documentation (~/.gemini/antigravity-cli/builtin/skills/agy-customizations/docs/*.md, agy v1.4.7) and were cross-checked against this machine's install.
| Resource | Location | Notes |
|---|---|---|
| customization root | ~/.gemini/config/ (user), <project>/.agents/ (project) |
agy's docs describe a generic "customization root"; the global one is ~/.gemini/config/ |
skills |
<root>/skills.json → entries[].path |
not a fixed directory. agy discovers skills through a declarative manifest, so a plain skills/ path will be ignored |
rules |
GEMINI.md / AGENTS.md walked up from CWD |
no dedicated rules directory; no frontmatter; 24 KB per file, 20k tokens aggregate |
mcp |
<root>/mcp_config.json ({"mcpServers": {...}}) |
present on this machine but empty (0 bytes); agy mcp list reports "No MCP servers configured" |
hooks |
<root>/hooks.json |
events include PreInvocation, PostInvocation, PostToolUse, Stop; entries use the { matcher, hooks: [{ type, command, timeout }] } shape |
agents |
not documented as a user-scope path | agy has agy agent list and a plugin marketplace, but no documented dir for team-supplied subagents |
claudemd |
n/a | covered by the AGENTS.md rule path above |
Two shapes are possible, and I don't know which the project prefers:
A. Path-shaped entry, matching every existing tool. Requires two extras:
- a
skills.jsonwriter (entries[]merge, not a directory copy), sinceskillsis not a directory; - a decision on the rules channel —
claudemd→AGENTS.md, or arulesfile that agy actually reads. Note that agy does not read arules/directory.
B. Plugin-shaped entry. agy has a first-class plugin system (agy plugin list/install/enable/disable, marketplaces under <root>/cache/marketplaces/), and agy plugin import [gemini|claude] already imports user-scope Gemini and Claude customizations. Teamai could emit an agy plugin instead of hand-placing files, which sidesteps the skills.json problem entirely — but it is a new delivery shape for teamai and would need its own ownership/lifecycle record.
I'd lean toward A for consistency with the other 20 tools, with skills.json treated the way teamai already treats tools with non-directory configs (mcp / settings are files today), and B left as a follow-up if more agents adopt plugin manifests.
Alternatives Considered
- Custom
toolPathsin the team'steamai.yaml.toolPathsis typedrecord(string, ToolPathsSchema), so a team can add anagykey today. But the MCP and hook sync paths iterate the built-in agent enum, so a custom key cannot reach them — the team would get skills/rules only, with no guarantee against future CLI changes. Worth documenting as the interim workaround, not as the solution. - A
scripts/postPullhook that copies resources into~/.gemini/antigravity-cli/. Works, but bypasses role gating andstate.jsontracking, soteamai pullcannot prune or report on what it delivered. This is what downstream teams are pushed into without native support. - Wait for upstream. Not viable — the 38-entry
KNOWN_AGENTSlist already includes several less common agents, so omitting agy looks like an oversight rather than a deliberate deferral.
Additional Context
agy --versionon this machine: 1.4.7.agyis on PATH at~/.local/bin/agy.- Existing issue #1419 ([feat] Deliver team culture and shared instructions to Qoder, Kiro and Trae) and #1418 ([feat] Read the sessions of more tools) point in the same direction, so an "add agent X" issue has precedent here.
- Trap worth noting for whoever implements this:
KNOWN_AGENTSalready mapsgemini→.gemini/skills. Antigravity lives under the same~/.gemini/parent but in~/.gemini/antigravity-cli/+~/.gemini/config/, so anagyentry must not point at.gemini/skillsor the two will overwrite each other. - Happy to open a PR with the
toolPathsentry and theskills.jsonwriter if the path-shaped approach is acceptable.
Published from a team-level teamai deployment (20 agents enabled, user scope) where members actively use agy alongside Claude Code, Codex and opencode.
- Dominant language
- TypeScript
- Stars
- 5.6k
- Forks
- 471
- Avg merge
- 19h 39m
- Merged PRs (30d)
- 404
Getting set up
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Tencent/teamai-cli
-
[feat] deep-enrich: compare the G documents with the wiki method, then write what is missingPossibly taken @huong8373tt-beep claimed this today. Open
Difficulty 5/5 Over a week Newbie friendliness 42/100
Tencent/teamai-cli#1565 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Tencent/teamai-cli#1564 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Tencent/teamai-cli#1563 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Tencent/teamai-cli#1562 ·
Maintainers usually reply within 1 day
-
Difficulty 5/5 Over a week Newbie friendliness 20/100
Tencent/teamai-cli#1552 · 1 comment ·
Maintainers usually reply within 1 day
All issues in Tencent/teamai-cli
Similar issues
-
b:minor bug
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
software-mansion/argent#1698 ·
Maintainers usually reply within 1 day
-
e2e-failure ready-to-code
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
redhat-developer/rhdh-plugin-export-overlays#4624 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
better-auth/better-auth#12132 · 1 reaction ·
Maintainers usually reply within 1 day
-
automation missing-model model-sync provider:tinfoil
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
anomalyco/models.dev#12053 ·
Maintainers usually reply within 1 day
-
o8 next debug build aborts on Glass to Dark appearance switch (nil identifier messaged before check)Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
hurttlocker/o8#5112 ·