---
title: "Automatización"
description: "Ejecuta la CLI en CI con una clave de API y permite que un agente la use de forma segura."
canonical: "https://atelier201.com/docs/es/cli/automation"
updated: "2026-11-06"
---

# Automatización

## En CI

Usa una clave de API, no un inicio de sesión OAuth: la clave pertenece al espacio de
trabajo y no caduca cuando alguien deja la organización.

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

Limita los permisos a los ámbitos imprescindibles para la tarea. Un proceso que compila
y genera una vista previa necesita `sites:write`. Si no le das `sites:publish`, no podrá
cambiar lo que ven los visitantes, así que, aunque se filtre un registro, no podrá poner
nada en línea.

En un script, `publish` necesita `--yes` y `sites delete` necesita `--confirm <slug>`.
Sin esas opciones, el comando termina con el código `2`, no escribe nada y muestra el
comando exacto que hay que volver a ejecutar.

## Con un agente

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

`help --json` muestra el árbol completo de comandos, los códigos de salida, la política
de reintentos y el formato de los errores en un único documento legible por máquinas.
Si un agente lo consulta primero, no tendrá que adivinar las opciones.

Usa `atelier201 help files read --json` para consultar un solo comando, o
`atelier201 help --operation readSiteFile --json` para ver todos sus esquemas REST y la
correspondencia con CLI/MCP. La consulta de comandos funciona sin conexión y sin
credenciales. El contrato incluido describe la versión instalada de la CLI; OpenAPI y
el recurso MCP en directo describen la API desplegada. Consulta [la cobertura de
operaciones](/docs/api/surfaces).

> **Warning: Deja que publique el propietario**
>
> Un agente debería compilar un borrador, compartir una vista previa y pedir permiso.
> Dale `sites:write`, pero no `sites:publish`. Así podrá encargarse de todo el trabajo y
> el propietario decidirá cuándo poner el sitio en línea.

## Reintentos

La CLI vuelve a intentarlo con `429` en todos los comandos. Solo reintenta `408` y `5xx`
para las lecturas (`GET`, `HEAD` y `OPTIONS`). Si una escritura falla con un `5xx`, lo
notifica sin repetirla, porque puede que ya se haya aplicado. Vuelve a leer el sitio
antes de intentarlo de nuevo por tu cuenta. El encabezado `Idempotency-Key` no activa
los reintentos automáticos de escrituras. Si `Retry-After` supera los 60 segundos, la
CLI devuelve el error con los detalles para recuperarse, en lugar de reintentar antes
de tiempo o esperar indefinidamente. No se reintenta ante errores de red ni tiempos de
espera agotados. Desactiva los reintentos con `--no-retry`.
