---
title: "Automação"
description: "Execute a CLI em CI com uma chave de API e permita que um agente a controle com segurança."
canonical: "https://atelier201.com/docs/pt/cli/automation"
updated: "2026-11-06"
---

# Automação

## Em CI

Use uma chave de API, não um login OAuth: a chave pertence ao workspace e não
expira quando alguém sai da equipe.

```bash
export ATELIER201_API_KEY="atelier201_live_..."
atelier201 site push --build --wait
```

Defina apenas os escopos estritamente necessários para a tarefa. Uma tarefa que cria
builds e visualizações prévias precisa de `sites:write`. Não inclua `sites:publish` e
ela não poderá alterar o que os visitantes veem. Assim, um log exposto não consegue
colocar nada no ar.

Em um script, `publish` exige `--yes`, e `sites delete` exige `--confirm <slug>`.
Sem esses argumentos, o comando encerra com o código `2`, não altera nada e exibe o
comando exato para executar novamente.

## Com um agente

```bash
atelier201 help --json
```

`help --json` exibe a árvore completa de comandos, os códigos de saída, a política de
novas tentativas e o envelope de erro em um único documento legível por máquina. Um
agente que o consulta primeiro não precisa adivinhar as flags.

Use `atelier201 help files read --json` para consultar apenas um comando ou
`atelier201 help --operation readSiteFile --json` para ver os esquemas REST completos e
as correspondências com CLI/MCP. A descoberta funciona offline e não exige
credenciais. O contrato incluído descreve a versão instalada da CLI; o OpenAPI e o
recurso MCP ativos descrevem a API implantada. Consulte [cobertura de operações](/docs/api/surfaces).

> **Warning: Deixe a publicação para o proprietário**
>
> Um agente deve criar o build de um rascunho, compartilhar uma visualização prévia e
> pedir autorização. Conceda `sites:write`, mas não `sites:publish`. Assim, ele pode
> fazer todo o trabalho, e o proprietário decide quando o site vai ao ar.

## Novas tentativas

A CLI tenta novamente `429` para todos os comandos. Ela tenta novamente `408` e `5xx`
somente em operações de leitura (`GET`, `HEAD` e `OPTIONS`). Em vez de repetir uma
operação de gravação que falha com `5xx`, a CLI informa o erro, pois a operação pode já
ter sido aplicada. Leia o site novamente antes de tentar por conta própria. Um
cabeçalho `Idempotency-Key` não habilita novas tentativas automáticas em operações de
gravação. Se `Retry-After` exceder 60 segundos, a CLI retorna o erro com os detalhes de
recuperação, em vez de tentar novamente antes da hora ou aguardar indefinidamente.
Erros de rede e tempos limite não são repetidos. Desative as novas tentativas com
`--no-retry`.
