mirror of
https://github.com/msitarzewski/agency-agents/
synced 2026-06-09 10:13:17 +00:00
feat(gemini-cli): switch to native subagents (#565)
Migrates Gemini CLI to native subagents (~/.gemini/agents/) + quotes zk-steward description. Rebased from #472; e2e-verified with real gemini v0.43.0. Closes #473. Co-Authored-By: Tomo Wang <tomo_wang@163.com>
This commit is contained in:
committed by
GitHub
parent
723e7e1dd5
commit
f954ca5378
+4
-17
@@ -11,7 +11,7 @@
|
||||
#
|
||||
# Tools:
|
||||
# antigravity — Antigravity skill files (~/.gemini/antigravity/skills/)
|
||||
# gemini-cli — Gemini CLI extension (skills/ + gemini-extension.json)
|
||||
# gemini-cli — Gemini CLI subagent files (~/.gemini/agents/*.md)
|
||||
# opencode — OpenCode agent files (.opencode/agents/*.md)
|
||||
# cursor — Cursor rule files (.cursor/rules/*.mdc)
|
||||
# aider — Single CONVENTIONS.md for Aider
|
||||
@@ -179,11 +179,11 @@ convert_gemini_cli() {
|
||||
slug="$(slugify "$name")"
|
||||
body="$(get_body "$file")"
|
||||
|
||||
outdir="$OUT_DIR/gemini-cli/skills/$slug"
|
||||
outfile="$outdir/SKILL.md"
|
||||
# Gemini CLI subagent format: .md file in ~/.gemini/agents/
|
||||
outdir="$OUT_DIR/gemini-cli/agents"
|
||||
outfile="$outdir/${slug}.md"
|
||||
mkdir -p "$outdir"
|
||||
|
||||
# Gemini CLI skill format: minimal frontmatter (name + description only)
|
||||
cat > "$outfile" <<HEREDOC
|
||||
---
|
||||
name: ${slug}
|
||||
@@ -638,19 +638,6 @@ main() {
|
||||
local count
|
||||
count="$(run_conversions "$t")"
|
||||
total=$(( total + count ))
|
||||
|
||||
# Gemini CLI also needs the extension manifest (written by this process when --tool gemini-cli)
|
||||
if [[ "$t" == "gemini-cli" ]]; then
|
||||
mkdir -p "$OUT_DIR/gemini-cli"
|
||||
cat > "$OUT_DIR/gemini-cli/gemini-extension.json" <<'HEREDOC'
|
||||
{
|
||||
"name": "agency-agents",
|
||||
"version": "1.0.0"
|
||||
}
|
||||
HEREDOC
|
||||
info "Wrote gemini-extension.json"
|
||||
fi
|
||||
|
||||
info "Converted $count agents for $t"
|
||||
done
|
||||
fi
|
||||
|
||||
+11
-18
@@ -13,7 +13,7 @@
|
||||
# claude-code -- Copy agents to ~/.claude/agents/
|
||||
# copilot -- Copy agents to ~/.github/agents/ and ~/.copilot/agents/
|
||||
# antigravity -- Copy skills to ~/.gemini/antigravity/skills/
|
||||
# gemini-cli -- Install extension to ~/.gemini/extensions/agency-agents/
|
||||
# gemini-cli -- Install agents to ~/.gemini/agents/
|
||||
# opencode -- Copy agents to .opencode/agents/ in current directory
|
||||
# cursor -- Copy rules to .cursor/rules/ in current directory
|
||||
# aider -- Copy CONVENTIONS.md to current directory
|
||||
@@ -176,7 +176,7 @@ tool_label() {
|
||||
claude-code) printf "%-14s %s" "Claude Code" "(claude.ai/code)" ;;
|
||||
copilot) printf "%-14s %s" "Copilot" "(~/.github + ~/.copilot)" ;;
|
||||
antigravity) printf "%-14s %s" "Antigravity" "(~/.gemini/antigravity)" ;;
|
||||
gemini-cli) printf "%-14s %s" "Gemini CLI" "(gemini extension)" ;;
|
||||
gemini-cli) printf "%-14s %s" "Gemini CLI" "(~/.gemini/agents)" ;;
|
||||
opencode) printf "%-14s %s" "OpenCode" "(opencode.ai)" ;;
|
||||
openclaw) printf "%-14s %s" "OpenClaw" "(~/.openclaw/agency-agents)" ;;
|
||||
cursor) printf "%-14s %s" "Cursor" "(.cursor/rules)" ;;
|
||||
@@ -362,24 +362,17 @@ install_antigravity() {
|
||||
}
|
||||
|
||||
install_gemini_cli() {
|
||||
local src="$INTEGRATIONS/gemini-cli"
|
||||
local dest="${HOME}/.gemini/extensions/agency-agents"
|
||||
local src="$INTEGRATIONS/gemini-cli/agents"
|
||||
local dest="${HOME}/.gemini/agents"
|
||||
local count=0
|
||||
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 "$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"
|
||||
[[ -d "$src" ]] || { err "integrations/gemini-cli/agents missing. Run ./scripts/convert.sh --tool gemini-cli first."; return 1; }
|
||||
mkdir -p "$dest"
|
||||
local f
|
||||
while IFS= read -r -d '' f; do
|
||||
cp "$f" "$dest/"
|
||||
(( count++ )) || true
|
||||
done < <(find "$skills_dir" -mindepth 1 -maxdepth 1 -type d -print0)
|
||||
ok "Gemini CLI: $count skills -> $dest"
|
||||
done < <(find "$src" -maxdepth 1 -name "*.md" -print0)
|
||||
ok "Gemini CLI: $count agents -> $dest"
|
||||
}
|
||||
|
||||
install_opencode() {
|
||||
|
||||
Reference in New Issue
Block a user