Skip to content

feat(cli): add Antigravity CLI as a flat host for skills - #957

Draft
tkman59 wants to merge 2 commits into
nextfrom
feat/511-antigravity-host
Draft

tkman59 wants to merge 2 commits into
nextfrom
feat/511-antigravity-host

Conversation

@tkman59

@tkman59 tkman59 commented Oct 5, 2026

Copy link
Copy Markdown

🎯 What & why

Teams moved from Gemini CLI to Antigravity CLI (agy) get no AIDD install. This adds an isolated antigravity flat profile that writes AIDD skills under .agents/skills/, from aidd setup --ai antigravity and from aidd translate --to antigravity --as flat. First of four PRs for #511: skills only; the memory hook, agents and docs follow.

🛠️ How it works

  • Profile in cli/src/contexts/tools/domain/profiles/antigravity/, modelled on Kilo: skills supported, every other artifact supported: false with a reason, hooks refused until the next phase.
  • Skills sit one level deep. Measured on agy 1.2.14 (2026-10-05): a probe at .agents/skills/flat-probe/SKILL.md logs expanded slash command "flat-probe" (skill); one at .agents/skills/aidd-probe/nested-probe/SKILL.md logs no expansion. So Antigravity can't use the skills/<plugin>/<skill>/ tree Kilo and OpenCode get.
  • A flat profile now declares its skill layout: nested (default, unchanged for every existing tool) or single-level, skills/<plugin>-<skill>/ (plugins-capability.ts:136, set at antigravity/profile.ts:45). The flat install reads it when writing (content-translator.ts:353) and when matching a built file back to its plugin (built-tree-materialization-translator.ts:185). Before that, setup installed 0 skills from the one-level tree.
  • Local-path install no longer emits commands for a tool without a commands capability (content-translator.ts:257); it wrote a stray .agents/commands/ for Antigravity. No other tool's output changes.
  • Registration everywhere tool-addition-cost.arch demands, a tools-antigravity mutation scope (82.5), and a { tool: antigravity, mode: flat } row in the build-per-tool matrix.

🧪 How to verify

  • cd cli && pnpm test: 6818 passed.
  • Golden: golden.json gains only the antigravity:flat cell; no existing cell changes.
  • In an empty git repo: aidd setup --source local --path <framework> --ai antigravity --plugins all --yes writes 51 .agents/skills/*/SKILL.md, all one level deep. Then, logged in to agy: agy -p "/aidd-context-11-explore" --add-dir . logs expanded slash command "aidd-context-11-explore" (skill) in ~/.gemini/antigravity-cli/log/cli-*.log. Read the log, not the turn: print mode hangs after answering.
  • tests/e2e/clean-antigravity-foreign-file.e2e.test.ts: a user file under .agents/skills/ survives aidd clean.

⚠️ Heads-up

  • No CI runtime smoke, unlike Kilo: an agy turn needs a Google login. CI covers the golden cell and the matrix build only.
  • Known limitation, tracked outside feat(cli): support Antigravity CLI as a flat host #511: Codex and Antigravity both write .agents/skills/; uninstalling one deletes plugin files the other still records.
  • Plugin-prefix matching: a single-level skill belongs to a plugin by its <plugin>- prefix, so a future plugin named aidd-dev-x would match aidd-dev. Flat agents already work this way.
  • Local pre-commit: scripts-tests was excluded for this commit. check-written-file-hook.test.js writes and deletes a file in cli/src while comments-name-files-that-exist.test.js reads that directory in parallel (ENOENT .hook-probe-<pid>-broken.ts). This happens locally only, and the same suite passes run serially (549/549). CI skips the writer because Biome isn't installed there.

🔗 Linked issue

Refs #511

✅ I certify

  • I DO CERTIFY I READ EACH LINE OF THE PULL REQUEST BECAUSE I AM A SOFTWARE ENGINEER, NOT A AI PUPPY.

🤖 Generated with Claude Code

tkman59 and others added 2 commits October 5, 2026 17:52
Teams moved from Gemini CLI to Antigravity CLI (agy) have no AIDD
install. This adds an isolated `antigravity` flat profile that writes
AIDD skills under `.agents/skills/`, from setup and from
`translate --to antigravity --as flat`.

agy 1.2.14 discovers a skill only directly under `.agents/skills/`: a
probe at `.agents/skills/<plugin>/<skill>/SKILL.md` logs no expansion,
one at `.agents/skills/<skill>/SKILL.md` logs `expanded slash command`.
A flat profile can therefore declare a `single-level` skill layout,
`skills/<plugin>-<skill>/`, which the flat install now recognises; every
other tool keeps the `nested` default.

Hooks and agents stay unsupported until their own phases. The golden
snapshot gains only the `antigravity:flat` cell.

Refs #511

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The setup smoke asserts a `.<tool>/` directory per AI tool, but
Antigravity writes under the shared `.agents/` root, so `pnpm smoke`
failed with "antigravity dir missing after --ai all".

Refs #511

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant