Files
agents_and_robots/agents/_template/agent.go
T
egutierrez 0cd7e36a14 feat: desacoplar launcher del registro estatico de agentes
Introduce un registro global de reglas en agents/registry.go con
Register() y GetRules(). Cada paquete de agente se auto-registra
via init(), eliminando la necesidad de editar manualmente el map
rulesRegistry en cmd/launcher/main.go.

Cambios:
- agents/registry.go: nuevo registro global con sync.RWMutex
- agents/*/agent.go: cada agente llama agents.Register() en init()
- agents/_template/agent.go: placeholder AGENT_ID_PLACEHOLDER para scaffold
- cmd/launcher/main.go: elimina rulesRegistry, usa blank imports +
  agents.GetRules() para obtener reglas por agent ID

Patron: init() + blank import (estandar Go: database/sql, image codecs)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-08 23:00:08 +00:00

19 lines
497 B
Go

// Package _template es un agente plantilla (no lanzable).
// Sirve como referencia canonica para crear nuevos agentes.
// Al crear un nuevo agente, new-agent.sh reemplaza _template y AGENT_ID_PLACEHOLDER.
package _template
import (
"github.com/enmanuel/agents/agents"
"github.com/enmanuel/agents/pkg/decision"
)
func init() {
agents.Register("AGENT_ID_PLACEHOLDER", Rules)
}
// Rules devuelve las reglas de este agente (vacio para el template).
func Rules() []decision.Rule {
return nil
}