feat: catálogo crons/ + scripts dev-scripts/cron/ + Fire() en scheduler
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.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
Genera un breve resumen del día para el equipo. Incluye:
|
||||
|
||||
- Un saludo de cierre del día
|
||||
- Un recordatorio de mantener el ánimo y la energía para mañana
|
||||
- Una frase motivadora corta
|
||||
|
||||
Responde en español, de forma amigable y concisa (máximo 3-4 líneas).
|
||||
@@ -0,0 +1,15 @@
|
||||
# Automatización: daily-summary
|
||||
name: daily-summary
|
||||
description: "Resumen diario generado por el LLM"
|
||||
|
||||
# Cron por defecto: cada día a las 18:00
|
||||
default_cron: "0 18 * * *"
|
||||
|
||||
# Acción
|
||||
action:
|
||||
kind: llm_prompt
|
||||
# Relativo a la raíz del proyecto
|
||||
template: crons/daily-summary/prompts/prompt.md
|
||||
|
||||
# Sala de salida por defecto (vacío = el agente debe configurar output_room)
|
||||
default_output_room: ""
|
||||
Reference in New Issue
Block a user