fix gemini cli installer preflight

This commit is contained in:
stablegenius49 2026-03-12 14:45:18 -07:00
parent 78d9167215
commit 3ddf9b6b4b
4 changed files with 20 additions and 4 deletions

View File

@ -582,8 +582,10 @@ See [integrations/antigravity/README.md](integrations/antigravity/README.md) for
<summary><strong>Gemini CLI</strong></summary>
Installs as a Gemini CLI extension with one skill per agent plus a manifest.
On a fresh clone, generate the Gemini extension files before running the installer.
```bash
./scripts/convert.sh --tool gemini-cli
./scripts/install.sh --tool gemini-cli
```

View File

@ -23,10 +23,13 @@ supported agentic coding tools.
# Install a specific home-scoped tool
./scripts/install.sh --tool antigravity
./scripts/install.sh --tool gemini-cli
./scripts/install.sh --tool copilot
./scripts/install.sh --tool openclaw
./scripts/install.sh --tool claude-code
# Gemini CLI needs generated integration files on a fresh clone
./scripts/convert.sh --tool gemini-cli
./scripts/install.sh --tool gemini-cli
```
For project-scoped tools such as OpenCode, Cursor, Aider, and Windsurf, run
@ -88,8 +91,11 @@ See [antigravity/README.md](antigravity/README.md) for details.
Agents are packaged as a Gemini CLI extension with individual skill files.
The extension is installed to `~/.gemini/extensions/agency-agents/`.
Because the Gemini manifest and skill folders are generated artifacts, run
`./scripts/convert.sh --tool gemini-cli` before installing from a fresh clone.
```bash
./scripts/convert.sh --tool gemini-cli
./scripts/install.sh --tool gemini-cli
```

View File

@ -6,6 +6,10 @@ installs to `~/.gemini/extensions/agency-agents/`.
## Install
```bash
# Generate the Gemini CLI integration files first
./scripts/convert.sh --tool gemini-cli
# Then install the extension
./scripts/install.sh --tool gemini-cli
```

View File

@ -325,16 +325,20 @@ install_gemini_cli() {
local src="$INTEGRATIONS/gemini-cli"
local dest="${HOME}/.gemini/extensions/agency-agents"
local count=0
[[ -d "$src" ]] || { err "integrations/gemini-cli missing. Run convert.sh first."; return 1; }
local manifest="$src/gemini-extension.json"
local skills_dir="$src/skills"
[[ -d "$src" ]] || { err "integrations/gemini-cli missing. Run ./scripts/convert.sh --tool gemini-cli first."; return 1; }
[[ -f "$manifest" ]] || { err "integrations/gemini-cli/gemini-extension.json missing. Run ./scripts/convert.sh --tool gemini-cli first."; return 1; }
[[ -d "$skills_dir" ]] || { err "integrations/gemini-cli/skills missing. Run ./scripts/convert.sh --tool gemini-cli first."; return 1; }
mkdir -p "$dest/skills"
cp "$src/gemini-extension.json" "$dest/gemini-extension.json"
cp "$manifest" "$dest/gemini-extension.json"
local d
while IFS= read -r -d '' d; do
local name; name="$(basename "$d")"
mkdir -p "$dest/skills/$name"
cp "$d/SKILL.md" "$dest/skills/$name/SKILL.md"
(( count++ )) || true
done < <(find "$src/skills" -mindepth 1 -maxdepth 1 -type d -print0)
done < <(find "$skills_dir" -mindepth 1 -maxdepth 1 -type d -print0)
ok "Gemini CLI: $count skills -> $dest"
}