.agent/configurar-gemini-agents.sh
2026-06-23 12:21:41 -03:00

87 lines
2.6 KiB
Bash

#!/bin/sh
# =============================================================================
# configurar-gemini-agents.sh — Configura agentes Azteca no Antigravity
#
# Cria symlinks de .gemini/agents/ag-* → .agent/agents/ag-*
# para que o Antigravity descubra os agentes customizados.
#
# Uso (executar na RAIZ do projeto filho, onde .agent/ é submodule):
# sh .agent/configurar-gemini-agents.sh
#
# O script automaticamente gera os agent.json se ainda não existirem.
#
# Resultado:
# .gemini/agents/ag-back → ../../.agent/agents/ag-back
# .gemini/agents/ag-front → ../../.agent/agents/ag-front
# ... (todos os agentes)
# =============================================================================
set -e
# Verificar que estamos na raiz de um projeto com .agent/
if [ ! -d ".agent/agents" ]; then
echo "❌ Diretório .agent/agents/ não encontrado."
echo " Execute este script na raiz do projeto (onde .agent/ é submodule)."
exit 1
fi
# Verificar/gerar agent.json
FIRST_AGENT=$(ls .agent/agents/ | head -1)
if [ ! -f ".agent/agents/$FIRST_AGENT/agent.json" ]; then
echo "⚙ agent.json não encontrados. Gerando..."
if [ -f ".agent/adaptadores/antigravity/gerar-agent-json.sh" ]; then
sh .agent/adaptadores/antigravity/gerar-agent-json.sh
echo ""
else
echo "❌ Adaptador não encontrado: .agent/adaptadores/antigravity/gerar-agent-json.sh"
exit 1
fi
fi
# Criar .gemini/agents/ se não existir
mkdir -p .gemini/agents
# Contadores
CRIADOS=0
EXISTENTES=0
# Criar symlinks para cada agente
for agente_dir in .agent/agents/*/; do
agente=$(basename "$agente_dir")
# Verificar que tem agent.json
if [ ! -f "$agente_dir/agent.json" ]; then
echo "⚠ Pulando $agente (sem agent.json)"
continue
fi
destino=".gemini/agents/$agente"
if [ -L "$destino" ]; then
# Symlink já existe — verificar se aponta para o lugar certo
atual=$(readlink "$destino")
esperado="../../.agent/agents/$agente"
if [ "$atual" = "$esperado" ]; then
EXISTENTES=$((EXISTENTES + 1))
continue
else
echo "🔄 Atualizando symlink: $agente ($atual → $esperado)"
rm "$destino"
fi
elif [ -d "$destino" ]; then
echo "⚠ $destino é um diretório real (não symlink) — pulando"
continue
fi
ln -s "../../.agent/agents/$agente" "$destino"
CRIADOS=$((CRIADOS + 1))
echo "✅ Symlink: .gemini/agents/$agente → .agent/agents/$agente"
done
echo ""
echo "📋 Resumo:"
echo " Criados: $CRIADOS"
echo " Já existiam: $EXISTENTES"
echo " Total de agentes: $(ls -d .agent/agents/*/ | wc -l)"
echo ""
echo "✅ Pronto! Os agentes Azteca agora são acessíveis via @ag-* no chat do Antigravity."