e481cb8783
Implementa issue 0025: catálogo central de automatizaciones cron y scaffolder.
- crons/: directorio de automatizaciones nombradas con README explicando la
convención. Incluye dos ejemplos listos para usar:
· good-morning (send_message, 0 9 * * *) — saludo diario
· daily-summary (llm_prompt, 0 18 * * *) — resumen generado por LLM
- dev-scripts/cron/new.sh: scaffolder interactivo — pregunta nombre,
descripción, tipo de acción y cron expression; crea schedule.yaml +
archivo de prompt vacío; imprime el bloque YAML para copiar en config.yaml.
- dev-scripts/cron/list.sh: lista todas las automatizaciones del catálogo
con nombre, tipo, cron y descripción en formato tabular.
- dev-scripts/cron/apply.sh: añade la automatización al config.yaml del
agente indicado usando yq si está disponible; si no, imprime el bloque
YAML para copiar a mano (sin dependencias obligatorias).
- shell/cron/scheduler.go: exporta Fire(ctx, sc) para disparo inmediato
de un schedule sin esperar al timer cron — útil en tests y CLI.
- shell/cron/scheduler_test.go: cuatro tests nuevos para Fire()
(send_message inline, llm_prompt, sin output_room, sin LLM).
TestScheduler_SkipsInvalidSchedule y TestFire_LLMPrompt_NoLLM_Skips
reemplazados por versiones instantáneas usando Fire en lugar de
@every 100ms + sleep, eliminando ~700ms de tiempo de test.
dev-scripts
Scripts bash para operaciones del día a día con los bots Matrix.
Todos los scripts comparten funciones comunes definidas en _common.sh (colores, helpers de proceso, descubrimiento de agentes, carga de .env).
Estructura
dev-scripts/
├── _common.sh funciones compartidas (sourced por todos los scripts)
├── server/ gestión del launcher (ciclo de vida del servidor)
└── agent/ gestión de agentes individuales (setup, registro, E2EE)
server/
Scripts para controlar el launcher unificado que ejecuta todos los agentes.
| Script | Descripción |
|---|---|
start.sh |
Inicia el launcher (compila si es necesario) |
stop.sh |
Detiene el launcher (SIGTERM, espera 5s, SIGKILL) |
restart.sh |
Reinicia el launcher (stop + start) |
ps.sh |
Muestra el proceso del launcher con detalle (PID, mem, CPU, uptime) |
logs.sh [lines] |
Tail -f de los logs del launcher |
dashboard.sh |
Abre la TUI interactiva de gestión |
server.sh <cmd> |
CLI unificado que enruta a los scripts anteriores |
agent/
Scripts para crear, registrar, verificar y gestionar agentes individuales.
| Script | Descripción |
|---|---|
new-agent.sh <id> [name] |
Genera scaffold completo (config, agent.go, prompts) |
register.sh <id> [name] |
Registra bot en Matrix via Synapse admin API |
verify.sh [id] |
Verifica/regenera dispositivos E2EE (cross-signing) |
avatar.sh <id> <img> |
Sube avatar y sincroniza displayname |
reset-password.sh <id> |
Resetea password sin invalidar el token |
remove.sh <id> |
Deshabilita un agente (enabled: false, no borra datos) |
list.sh |
Muestra todos los agentes y su estado |