Automação
Execute a CLI em CI com uma chave de API e permita que um agente a controle com segurança.
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.
export ATELIER201_API_KEY="atelier201_live_..."
atelier201 site push --build --waitDefina 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
atelier201 help --jsonhelp --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.
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.