Ir al contenido

Automatizaciones

El plugin Automatizaciones ejecuta los flujos que creas para tu propio proyecto. Una automatización es un disparador, algo que pasó (se añadió una spec, una tarea pasó a Done, un commit), y luego pasos en orden: pasos que hacen algo, pasos que se detienen y te preguntan, y pasos que comprueban el resultado antes de seguir (Seguir si). Cada paso recibe el resultado del anterior. Está activado por defecto; una automatización no hace nada hasta que la activas.

Una actividad Automatizaciones en la barra de actividades. Su barra lateral muestra primero lo que te está esperando, luego tus automatizaciones locales y las compartidas. Su página lista cada automatización con cuándo empieza, dónde se ejecuta, su última ejecución y un interruptor, y la pestaña Ejecuciones lista cada ejecución, de la más reciente a la más antigua.

Nueva automatización abre el editor, que se lee de arriba abajo:

  • Cuándo: el disparador, con búsqueda, y las condiciones que admite (la colección a la que se añade un blueprint, el estado al que pasa una tarea).
  • Entonces: los pasos. Añadir un paso lista las acciones que ofrece cada plugin, marcadas Cualquier sitio o En la app, y Sale de esta máquina para la que envía algo fuera (un push). Un paso Hacer recibe el resultado del paso anterior, lo que inició la ejecución o el resultado de cualquier paso anterior que nombres.
  • Junto a los pasos: Preguntar antes de ejecutar (siempre, la primera vez o nunca), dónde se ejecuta y por qué, y si es local o compartida. Solo un editor del framework comparte una, y una automatización compartida está desactivada para cada persona hasta que la active.

Activar te lee la automatización en frases, dice dónde se ejecuta, cuántas veces usa el agente de IA y si algo sale de esta máquina, y ofrece Probar una vez sobre un blueprint o una tarea que ya tienes.

Una ejecución que llega a un Preguntarme espera, listada en Esperándote y nombrada una vez en una tarjeta en la esquina con sus respuestas. Nunca sigue sin respuesta y sobrevive a que se cierre la app. La página de una ejecución muestra el resultado de cada paso, lo que cambió, lo que salió de esta máquina y su uso del agente de IA. Una ejecución que falla lo dice en rojo.

Ideas para este proyecto pide al agente de IA automatizaciones que encajen con lo que tiene el proyecto. Cada una dice por qué encaja y se abre como un borrador que editas; nada se activa por ser sugerido.

Disparador Empieza cuando Se ejecuta
Se añade o se guarda un blueprint Se escribe un blueprint en una colección en cualquier sitio
Se añade una tarea; cambia el estado de una tarea Backlog, en el tablero o en cualquier otro sitio en cualquier sitio
Se añade un registro Records, un registro en archivo en cualquier sitio
Se hace un commit Desde Control de código, un comando o un paso en cualquier sitio
Ejecutar por nombre eidos automations run <name>, un script, un hook de git en cualquier sitio
La app hace push; un pull trae commits Publicar, un guardado automático que publica, un pull en la app
Se abre una vista; se ejecuta un comando; la app abre el proyecto La página en la app

Los disparadores de cualquier sitio se disparan se haga como se haga el cambio: en la app, con eidos en una terminal o por un agente.

  • Hacer ejecuta una acción: Commit, Fetch, Pull y Push de Git, Añadir una tarea y Cambiar el estado de la tarea de Backlog, Comentar de Comments, y cada uno de tus comandos de barra personalizados del agente de IA, que se ejecuta en la app con la entrada del paso y cuya respuesta es por defecto un comentario en el blueprint o la tarea.
  • Preguntarme detiene la ejecución con su pregunta y dos respuestas que redactas tú (Ejecutar y Omitir, Hacer los cambios y Parar aquí).
  • Seguir si sigue cuando el paso anterior dio algo, o cuando el agente de IA responde que sí a una pregunta sobre ello, y si no, termina la ejecución como hecha.

Diga lo que diga Preguntar antes de ejecutar, la primera ejecución que llega a un paso que sale de esta máquina pregunta antes. Lo que hacen los propios pasos de una ejecución nunca inicia otra automatización.

Una automatización se ejecuta en cualquier sitio cuando su disparador y todos sus pasos pueden, y en la app cuando uno de ellos la necesita (un paso del agente de IA, una vista que se abre). Mientras la app tiene el proyecto abierto, un comando le pasa cada disparador, así que un flujo se ejecuta una sola vez. Con la app cerrada, un comando ejecuta lo que se ejecuta en cualquier sitio y guarda el resto hasta que se abra la app.

Un comando que inicia una ejecución lo dice en stderr, automations: Review new specs (run 4) done, y su salida no cambia. Una que pasa a la app lo dice en su lugar, automations: Review new specs waits for the app to open. Sin nadie en la terminal (un agente, un script), una ejecución que preguntaría te espera en Esperándote.

Comando Hace
eidos automations [--json] Cada automatización: activada o no para ti, dónde se ejecuta, su última ejecución y qué le impide ejecutarse
eidos automations catalog [--json] Los disparadores y acciones que ofrecen los plugins activados
eidos automations save --file <yaml> [--shared] Añade o reemplaza una, guardada desactivada
eidos automations on|off <name>, remove <name> La activa o desactiva para ti, o la quita
eidos automations run <name> [--on <blueprint o tarea>] Ejecuta una ahora, por nombre
eidos automations runs [<n>] [--json] Las ejecuciones, o una paso a paso
eidos automations answer <run> continue|stop Responde el Preguntarme en el que espera una ejecución

--no-automations, en cualquier parte de la línea de un comando, no inicia ninguna para ese comando. eidos instructions automations muestra el archivo de una automatización.

  • .eidos/plugins/automations/automations.yaml: las automatizaciones compartidas, en git.
  • .eidos/plugins/automations/local/: lo tuyo, nunca en git: tus propias automatizaciones, cuáles están activadas, lo que aceptaste, las últimas 200 ejecuciones y la cola que un comando pasa a la app.