docs: añadir política create_command y actualizar docs

Nueva política create_command.md que documenta cómo añadir comandos
directos (!xxx) a un agente usando RegisterCommand.

Actualiza create_agent.md para no usar reglas en comandos (ahora se
gestionan via RegisterCommand). Actualiza index.md y CLAUDE.md para
referenciar la nueva política.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-07 01:40:01 +00:00
parent 62783f3655
commit e2f14e7abb
4 changed files with 157 additions and 12 deletions
+5 -12
View File
@@ -40,16 +40,9 @@ import "github.com/enmanuel/agents/pkg/decision"
func Rules() []decision.Rule {
return []decision.Rule{
// Any DM or mention → LLM
{
Name: "help",
Match: decision.MatchCommand("help"),
Actions: []decision.Action{{
Kind: decision.ActionKindReply,
Reply: &decision.ReplyAction{Content: "<descripción de capacidades>"},
}},
},
{
Name: "llm-fallback",
Name: "llm-all",
Match: func(ctx decision.MessageContext) bool {
return ctx.IsDirectMsg || ctx.IsMention
},
@@ -65,10 +58,10 @@ func Rules() []decision.Rule {
**Reglas estrictas:**
- **PURO**: solo imports de `pkg/decision`, cero I/O, cero side effects
- Package name = ID sin guiones ni `_bot` (e.g. `monitor-bot``package monitor`)
- Reglas se evalúan en orden — específicas arriba, catch-all al final
- El catch-all DEBE cubrir `ctx.IsDirectMsg || ctx.IsMention`
- **No usar reglas para comandos** (`!help`, `!ping`, etc.) — los comandos se gestionan via `RegisterCommand` (ver policy `create_command.md`)
- Las reglas solo aplican a mensajes normales (sin prefijo `!`)
Para añadir reglas extra, insertar antes del catch-all. Tipos de acción disponibles:
Tipos de acción disponibles:
- `ActionKindReply` — respuesta estática (con `ReplyAction{Content: "..."}`)
- `ActionKindLLM` — pasa al LLM (con `LLMAction{}`)