Automations
The Automations plugin runs the workflows you build for your own project. An automation is a trigger, something that happened (a spec added, a task moved to Done, a commit), then steps in order: steps that do something, steps that stop and ask you, and steps that check the result before going on (Continue if). Each step is handed the result of the one before. On by default; an automation does nothing until you turn it on.
In the app
Section titled “In the app”An Automations activity in the Activity Bar. Its sidebar lists what is Waiting on you first, then your Local automations and the Shared ones. Its page lists every automation with when it starts, where it runs, its last run, and a switch, and a Runs tab lists every run, newest first.
New automation opens the editor, which reads top to bottom:
- When: the trigger, searched, with the conditions it takes (the collection a blueprint is added to, the status a task moves to).
- Then: the steps. Add a step lists the actions each plugin offers, marked Anywhere or In the app, and Leaves this machine for one that sends something off it (a push). A Do step takes the step before’s result, what started the run, or the result of any earlier step you name.
- Beside the steps: Ask before running (every time, the first time, or never), where it runs and why, and whether it is local or shared. Only a framework editor shares one, and a shared automation is off for each person until they turn it on.
Turn on reads the automation back in sentences, says where it runs, how often it uses the AI Agent, and whether anything leaves this machine, and offers Try once on a blueprint or task you already have.
A run that reaches an Ask me waits, listed under Waiting on you and named once in a card in the corner with its answers. It never goes on without an answer, and it survives the app closing. A run’s page shows each step’s result, what it changed, what left this machine, and its AI Agent use. A run that fails says so in red.
Ideas for this project asks the AI Agent for automations that fit what the project holds. Each says why it fits and opens as a draft to edit; nothing is turned on by being suggested.
Triggers
Section titled “Triggers”| Trigger | Starts when | Runs |
|---|---|---|
| A blueprint is added, or saved | A blueprint is written into a collection | anywhere |
| A task is added; a task’s status changes | Backlog, on the board or anywhere else | anywhere |
| A record is added | Records, a file-based record | anywhere |
| A commit is made | From Source control, a command, or a step | anywhere |
| Run by name | eidos automations run <name>, a script, a git hook |
anywhere |
| The app pushes; a pull brings commits in | Publish, an auto save that publishes, a pull | in the app |
| A view opens; a command runs; the app opens the project | The page | in the app |
Anywhere triggers fire however the change was made: in the app, with eidos in a terminal, or by an agent.
- Do runs an action: Git’s Commit, Fetch, Pull, and Push, Backlog’s Add a task and Set the task status, Comments’ Comment, and each of your AI Agent custom slash commands, run in the app with the step’s input, its answer a comment on the blueprint or task by default.
- Ask me stops the run with its question and two answers you word yourself (Run and Skip, Make the changes and Stop here).
- Continue if goes on when the step before gave anything, or when the AI Agent answers yes to a question about it, and otherwise ends the run as done.
Whatever Ask before running says, the first run that reaches a step that leaves this machine asks before it. What a run’s own steps do never starts another automation.
Anywhere or in the app
Section titled “Anywhere or in the app”An automation runs anywhere when its trigger and every step can, and in the app when one of them needs it (an AI Agent step, a view opening). While the app has the project open, a command hands it every trigger, so a workflow runs once. With the app closed, a command runs what runs anywhere itself and keeps the rest until the app opens.
A command that starts a run says so on stderr, automations: Review new specs (run 4) done, and its own output is unchanged. One it hands to the app says that instead, automations: Review new specs waits for the app to open. With nobody at the terminal (an agent, a script), a run that would ask waits for you under Waiting on you.
Commands
Section titled “Commands”| Command | Does |
|---|---|
eidos automations [--json] |
Every automation: on or off for you, where it runs, its last run, and what stops it running |
eidos automations catalog [--json] |
The triggers and actions the plugins that are on offer |
eidos automations save --file <yaml> [--shared] |
Adds or replaces one, saved off |
eidos automations on|off <name>, remove <name> |
Turns one on or off for you, or takes it out |
eidos automations run <name> [--on <blueprint or task>] |
Runs one now, by name |
eidos automations runs [<n>] [--json] |
The runs, or one step by step |
eidos automations answer <run> continue|stop |
Answers the Ask me a run waits at |
--no-automations, anywhere on a command’s line, starts none for that command. eidos instructions automations shows an automation’s file.
On disk
Section titled “On disk”.eidos/plugins/automations/automations.yaml: the shared automations, committed..eidos/plugins/automations/local/: yours, never committed: your own automations, which ones are on, what you agreed to, the last 200 runs, and the queue a command hands the app.