Automações
O plugin Automações roda os fluxos que você cria para o seu próprio projeto. Uma automação é um gatilho, algo que aconteceu (uma spec adicionada, uma tarefa movida para Done, um commit), e depois passos em ordem: passos que fazem algo, passos que param e perguntam a você, e passos que conferem o resultado antes de seguir (Seguir se). Cada passo recebe o resultado do anterior. Vem ligado por padrão; uma automação não faz nada até você ligá-la.
Uma atividade Automações na barra de atividades. A barra lateral mostra primeiro o que está esperando você, depois suas automações locais e as compartilhadas. A página lista cada automação com quando começa, onde roda, a última execução e um botão de ligar, e a aba Execuções lista cada execução, da mais recente para a mais antiga.
Nova automação abre o editor, que se lê de cima para baixo:
- Quando: o gatilho, com busca, e as condições que ele aceita (a coleção em que um blueprint é adicionado, o status para o qual uma tarefa vai).
- Então: os passos. Adicionar um passo lista as ações que cada plugin oferece, marcadas Qualquer lugar ou No app, e Sai desta máquina para a que envia algo para fora (um push). Um passo Fazer recebe o resultado do passo anterior, o que iniciou a execução ou o resultado de qualquer passo anterior que você nomear.
- Ao lado dos passos: Perguntar antes de rodar (sempre, na primeira vez ou nunca), onde roda e por quê, e se é local ou compartilhada. Só um editor do framework compartilha uma, e uma automação compartilhada fica desligada para cada pessoa até ela ligar.
Ligar lê a automação de volta em frases, diz onde roda, quantas vezes usa o agente de IA e se algo sai desta máquina, e oferece Testar uma vez em um blueprint ou tarefa que você já tem.
Uma execução que chega a um Me perguntar espera, listada em Esperando você e nomeada uma vez em um cartão no canto com suas respostas. Ela nunca segue sem resposta e sobrevive ao app fechar. A página de uma execução mostra o resultado de cada passo, o que mudou, o que saiu desta máquina e o uso do agente de IA. Uma execução que falha avisa em vermelho.
Ideias para este projeto pede ao agente de IA automações que combinem com o que o projeto tem. Cada uma diz por que combina e abre como um rascunho para editar; nada liga só por ter sido sugerido.
Gatilhos
Seção intitulada “Gatilhos”| Gatilho | Começa quando | Roda |
|---|---|---|
| Um blueprint é adicionado ou salvo | Um blueprint é escrito em uma coleção | em qualquer lugar |
| Uma tarefa é adicionada; o status de uma tarefa muda | Backlog, no quadro ou em qualquer outro lugar | em qualquer lugar |
| Um registro é adicionado | Records, um registro em arquivo | em qualquer lugar |
| Um commit é feito | Pelo Controle de código, um comando ou um passo | em qualquer lugar |
| Rodar pelo nome | eidos automations run <name>, um script, um hook do git |
em qualquer lugar |
| O app faz push; um pull traz commits | Publicar, um salvamento automático que publica, um pull | no app |
| Uma visão abre; um comando roda; o app abre o projeto | A página | no app |
Os gatilhos de qualquer lugar disparam seja qual for o jeito da mudança: no app, com eidos em um terminal ou por um agente.
- Fazer roda uma ação: Commit, Fetch, Pull e Push do Git, Adicionar uma tarefa e Definir o status da tarefa do Backlog, Comentar do Comments, e cada um dos seus comandos de barra personalizados do agente de IA, rodado no app com a entrada do passo e com a resposta, por padrão, como um comentário no blueprint ou na tarefa.
- Me perguntar para a execução com a pergunta e duas respostas que você mesmo escreve (Rodar e Pular, Fazer as mudanças e Parar aqui).
- Seguir se segue quando o passo anterior deu algo, ou quando o agente de IA responde sim a uma pergunta sobre isso, e senão termina a execução como feita.
Seja qual for o Perguntar antes de rodar, a primeira execução que chega a um passo que sai desta máquina pergunta antes. O que os próprios passos de uma execução fazem nunca inicia outra automação.
Em qualquer lugar ou no app
Seção intitulada “Em qualquer lugar ou no app”Uma automação roda em qualquer lugar quando o gatilho e todos os passos podem, e no app quando um deles precisa dele (um passo do agente de IA, uma visão que abre). Enquanto o app tem o projeto aberto, um comando passa para ele cada gatilho, então um fluxo roda uma vez só. Com o app fechado, um comando roda o que roda em qualquer lugar e guarda o resto até o app abrir.
Um comando que inicia uma execução avisa no stderr, automations: Review new specs (run 4) done, e a saída dele não muda. Uma que ele passa para o app avisa isso no lugar, automations: Review new specs waits for the app to open. Sem ninguém no terminal (um agente, um script), uma execução que perguntaria espera você em Esperando você.
Comandos
Seção intitulada “Comandos”| Comando | Faz |
|---|---|
eidos automations [--json] |
Cada automação: ligada ou não para você, onde roda, a última execução e o que a impede de rodar |
eidos automations catalog [--json] |
Os gatilhos e ações que os plugins ligados oferecem |
eidos automations save --file <yaml> [--shared] |
Adiciona ou substitui uma, salva desligada |
eidos automations on|off <name>, remove <name> |
Liga ou desliga uma para você, ou a remove |
eidos automations run <name> [--on <blueprint ou tarefa>] |
Roda uma agora, pelo nome |
eidos automations runs [<n>] [--json] |
As execuções, ou uma passo a passo |
eidos automations answer <run> continue|stop |
Responde o Me perguntar em que uma execução espera |
--no-automations, em qualquer ponto da linha de um comando, não inicia nenhuma para esse comando. eidos instructions automations mostra o arquivo de uma automação.
No disco
Seção intitulada “No disco”.eidos/plugins/automations/automations.yaml: as automações compartilhadas, no git..eidos/plugins/automations/local/: o que é seu, nunca no git: suas próprias automações, quais estão ligadas, o que você aceitou, as últimas 200 execuções e a fila que um comando passa para o app.