Merge pull request #166 from stablegenius49/pr-factory/issue-165-gemini-install-preflight

Fixes #165
This commit is contained in:
Michael Sitarzewski
2026-03-12 21:56:29 -05:00
committed by GitHub
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> <summary><strong>Gemini CLI</strong></summary>
Installs as a Gemini CLI extension with one skill per agent plus a manifest. 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 ```bash
./scripts/convert.sh --tool gemini-cli
./scripts/install.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 # Install a specific home-scoped tool
./scripts/install.sh --tool antigravity ./scripts/install.sh --tool antigravity
./scripts/install.sh --tool gemini-cli
./scripts/install.sh --tool copilot ./scripts/install.sh --tool copilot
./scripts/install.sh --tool openclaw ./scripts/install.sh --tool openclaw
./scripts/install.sh --tool claude-code ./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 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. Agents are packaged as a Gemini CLI extension with individual skill files.
The extension is installed to `~/.gemini/extensions/agency-agents/`. 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 ```bash
./scripts/convert.sh --tool gemini-cli
./scripts/install.sh --tool gemini-cli ./scripts/install.sh --tool gemini-cli
``` ```

View File

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

View File

@@ -325,16 +325,20 @@ install_gemini_cli() {
local src="$INTEGRATIONS/gemini-cli" local src="$INTEGRATIONS/gemini-cli"
local dest="${HOME}/.gemini/extensions/agency-agents" local dest="${HOME}/.gemini/extensions/agency-agents"
local count=0 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" mkdir -p "$dest/skills"
cp "$src/gemini-extension.json" "$dest/gemini-extension.json" cp "$manifest" "$dest/gemini-extension.json"
local d local d
while IFS= read -r -d '' d; do while IFS= read -r -d '' d; do
local name; name="$(basename "$d")" local name; name="$(basename "$d")"
mkdir -p "$dest/skills/$name" mkdir -p "$dest/skills/$name"
cp "$d/SKILL.md" "$dest/skills/$name/SKILL.md" cp "$d/SKILL.md" "$dest/skills/$name/SKILL.md"
(( count++ )) || true (( 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" ok "Gemini CLI: $count skills -> $dest"
} }