feat(#1928): remove sunset Gemini CLI runtime, redirect to Antigravity (#1996)

* feat(#1928): remove sunset gemini cli runtime, redirect to antigravity

Google sunset Gemini CLI on 2026-06-18; Antigravity CLI is its official successor (already a first-class GSD runtime). Remove the gemini runtime from the enum (16->15), aliases, labels, config-home fragment, install path, converters (convertClaudeToGemini{Markdown,Toml,Agent}, convertSlashCommandsToGeminiMentions), capability descriptor, gemini-extension.json, RULESET.GEMINI.*, and the interactive menu (renumbered, no gap).

--gemini now prints an explicit deprecation notice citing the 2026-06-18 sunset and redirects to --antigravity (no silent alias, per the issue's Hyrum's-Law rejection). Antigravity is preserved throughout: its GEMINI.md contextFileName, .gemini/antigravity config home, the shared convertGeminiToolName/claudeToGeminiTools tool vocabulary, and the 'gemini' hookEvents dialect it declares. GEMINI.md retargeted as Antigravity's context file.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore(#1928): backfill changeset PR number (#1996)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* chore(#1928): drop Gemini CLI from issue templates (review nit)

Removes the sunset Gemini CLI runtime from the two GitHub issue-template
runtime lists that the removal PR missed, per @davesienkowski's review nit:
- feature_request.yml: 'Applicable runtimes' checkbox (a user could otherwise
  request a feature for a runtime GSD no longer supports)
- bug_report.yml: 'Runtime' dropdown + the stale ~/.gemini/settings.json
  retrieval-help line

Leaves the post-removal templates fully consistent with the Antigravity redirect.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Tom Boucher
2026-07-04 13:32:51 -04:00
committed by GitHub
parent 55604e9124
commit 8f2ebbe9bf
91 changed files with 872 additions and 4528 deletions

View File

@@ -24,16 +24,20 @@ import childProcess from 'node:child_process';
* runtime/shell combination.
*
* Current evidence-backed policy:
* - Gemini on Windows requires `& ` for quoted node/bash runners.
* - Claude Code on Windows does NOT: its hook commands execute under bash/Git
* Bash and `& ` breaks there (#3413).
* - Claude Code on Windows does NOT need it: its hook commands execute under
* bash/Git Bash and `& ` breaks there (#3413).
* - #1928: Gemini CLI — the ONLY runtime with a verified need for the `& `
* prefix on Windows — was removed (Google sunset it 2026-06-18). No currently
* supported runtime has a verified need, so this seam is now inert. It is
* retained (not deleted) so a future runtime with a verified need is a
* one-line re-enable, per the conservative policy below. Note: Antigravity —
* the Gemini-backend successor — never matched the old `runtime === 'gemini'`
* check, so its behavior (no prefix) is unchanged.
*
* Keep the policy conservative until another runtime has a verified need.
*/
export function hookCommandNeedsPowerShellCallOperator(opts: { platform?: string; runtime?: string } = {}): boolean {
const platform = opts.platform || process.platform;
const runtime = opts.runtime || 'generic';
return platform === 'win32' && runtime === 'gemini';
export function hookCommandNeedsPowerShellCallOperator(_opts: { platform?: string; runtime?: string } = {}): boolean {
return false;
}
/**
@@ -96,7 +100,7 @@ export function formatManagedHookScriptToken(scriptPath: string, opts: { platfor
export function projectLocalHookPrefix({ runtime = 'claude', dirName }: { runtime?: string; dirName?: string | null }): string | undefined | null {
if (!dirName) return dirName;
return (runtime === 'gemini' || runtime === 'antigravity')
return (runtime === 'antigravity')
? dirName
: `"$CLAUDE_PROJECT_DIR"/${dirName}`;
}