chore: actualizar script y docs para auto-registro de agentes
- new-agent.sh: reemplaza edicion del rulesRegistry map con insercion de un blank import simple. Ahora tambien sustituye AGENT_ID_PLACEHOLDER en agent.go con el ID real del agente. - create_agent.md: actualiza template de agent.go con patron init() + agents.Register(), secciones de registro en launcher y checklist. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -310,6 +310,7 @@ YAML
|
||||
cp "$TEMPLATE/agent.go" "$DIR/agent.go"
|
||||
sed -i "s/_template/$PACKAGE/g" "$DIR/agent.go"
|
||||
sed -i "s/Package _template/Package $PACKAGE/g" "$DIR/agent.go"
|
||||
sed -i "s/AGENT_ID_PLACEHOLDER/$ID/g" "$DIR/agent.go"
|
||||
ok "agent.go creado desde template"
|
||||
|
||||
# ── Copiar prompts/system.md desde template y personalizar ───────────────
|
||||
@@ -320,21 +321,21 @@ ok "prompts/system.md creado desde template"
|
||||
ok "Scaffold creado en $DIR/"
|
||||
echo ""
|
||||
|
||||
# ── Actualizar cmd/launcher/main.go ───────────────────────────────────────
|
||||
# ── Actualizar cmd/launcher/main.go — añadir blank import ────────────────
|
||||
LAUNCHER="cmd/launcher/main.go"
|
||||
BLANK_IMPORT="_ \"github.com/enmanuel/agents/agents/$ID\""
|
||||
|
||||
if grep -q "\"$ID\":" "$LAUNCHER" 2>/dev/null; then
|
||||
warn "$ID ya está en rulesRegistry de $LAUNCHER — saltando"
|
||||
if grep -q "agents/$ID\"" "$LAUNCHER" 2>/dev/null; then
|
||||
warn "$ID ya tiene blank import en $LAUNCHER — saltando"
|
||||
else
|
||||
TAB=$'\t'
|
||||
IMPORT_LINE="${TAB}${PACKAGE}agent \"github.com/enmanuel/agents/agents/$ID\""
|
||||
REGISTRY_LINE="${TAB}\"$ID\": ${PACKAGE}agent.Rules,"
|
||||
IMPORT_LINE="${TAB}${BLANK_IMPORT}"
|
||||
|
||||
# Insertar import después del último import agents/agents/*
|
||||
# Insertar blank import después del último blank import de agents/
|
||||
if awk -v new_import="$IMPORT_LINE" '
|
||||
{
|
||||
lines[NR] = $0
|
||||
if ($0 ~ /[a-z_]+agent "github\.com\/enmanuel\/agents\/agents\/[^"]+"/)
|
||||
if ($0 ~ /_ "github\.com\/enmanuel\/agents\/agents\//)
|
||||
last_import = NR
|
||||
}
|
||||
END {
|
||||
@@ -346,24 +347,11 @@ else
|
||||
}
|
||||
' "$LAUNCHER" > /tmp/_launcher_tmp; then
|
||||
mv /tmp/_launcher_tmp "$LAUNCHER"
|
||||
ok "Import añadido en $LAUNCHER"
|
||||
ok "Blank import añadido en $LAUNCHER"
|
||||
else
|
||||
warn "No se pudo insertar el import automáticamente — añádelo manualmente:"
|
||||
warn "No se pudo insertar el blank import — añádelo manualmente:"
|
||||
echo -e " ${GRN}${IMPORT_LINE}${RST}"
|
||||
fi
|
||||
|
||||
# Insertar entry en rulesRegistry antes del cierre }
|
||||
if awk -v new_entry="$REGISTRY_LINE" '
|
||||
/^var rulesRegistry/ { in_reg = 1 }
|
||||
in_reg && /^\}/ { print new_entry; in_reg = 0 }
|
||||
{ print }
|
||||
' "$LAUNCHER" > /tmp/_launcher_tmp; then
|
||||
mv /tmp/_launcher_tmp "$LAUNCHER"
|
||||
ok "Registry entry añadida en $LAUNCHER"
|
||||
else
|
||||
warn "No se pudo insertar el registry entry — añádelo manualmente:"
|
||||
echo -e " ${GRN}${REGISTRY_LINE}${RST}"
|
||||
fi
|
||||
fi
|
||||
|
||||
echo ""
|
||||
|
||||
Reference in New Issue
Block a user