---
title: "Comandos"
description: "Todos los comandos, qué modifican y cuáles afectan a lo que ven los visitantes."
canonical: "https://atelier201.com/docs/es/cli/commands"
updated: "2026-11-06"
---

# Comandos

Ningún comando consume créditos. Solo cuatro grupos modifican lo que ven los visitantes: `publish`,
`publish rollback`, `publish unpublish` y `domains`. Todo lo demás modifica el
borrador.

## Cuenta

```bash
atelier201 account                 # espacio de trabajo, plan y permisos de esta credencial
atelier201 credits                 # saldo y todos los créditos concedidos
atelier201 usage --from 2026-01-01 # créditos consumidos durante un periodo
```

## Sitios

```bash
atelier201 sites list
atelier201 sites create "Maison Dupont" --slug maison-dupont --locale fr --link
atelier201 sites get
atelier201 sites rename "Maison Dupont Boulangerie"
atelier201 sites delete            # te pide que escribas el slug; en un script, --confirm <slug>
```

`sites create` parte de la plantilla inicial de Atelier201 y la compila una vez. Un sitio eliminado
deja de estar disponible de inmediato y se borra en unos minutos. Ejecuta `atelier201 site pull`
antes si crees que puedes necesitarlo.

## Una carpeta de proyecto

```bash
atelier201 site link --site <id>   # vincula esta carpeta a un sitio
atelier201 site pull               # descarga aquí los archivos del borrador
atelier201 site push --message "New menu" --build --wait
```

`site push` sustituye el borrador por el contenido de la carpeta en una sola entrada del historial. Omite
`node_modules`, `dist`, `.astro`, `.git`, los archivos `.env` y las claves, así como todo lo que indique el
`.gitignore` de la raíz. El límite es de 50 MB. Se niega a sobrescribir cambios realizados en el
sitio desde la última sincronización (ejecuta antes `site pull` o usa `--force`), y `site pull`
se niega a sobrescribir un archivo que hayas modificado localmente.

## Contenido

```bash
atelier201 content model
atelier201 content list blog
atelier201 content get blog hello-world
atelier201 content save blog hello-world --data entry.json --body hello.md
atelier201 content delete blog hello-world
atelier201 content singleton business
atelier201 content save-singleton business --data business.json
atelier201 content set business:/hours/2/close "18:00"
atelier201 content set business:/seats 12 --as number
atelier201 content replace "Open 9 to 5" "Open 9 to 6"
atelier201 sites apply plan.json
atelier201 media place business:/hero/image --query "bakery counter with fresh bread" --alt "Our counter"
```

Consulta primero `content model`. El sistema valida todas las modificaciones conforme a ese modelo. `--expect <hash>`
solo guarda si la entrada sigue teniendo el hash que consultaste, y `--create-only` impide
sobrescribir contenido.

## Archivos, historial y conjuntos de cambios

```bash
atelier201 files list --under src/content
atelier201 files read src/pages/index.astro
atelier201 files search "opening hours"
atelier201 files commit --message "Update the menu" --put src/pages/menu.astro=menu.astro
atelier201 history list
atelier201 history compare --to <revision>
atelier201 history restore <revision>
atelier201 changesets open "Add a gallery page"
atelier201 changesets stage <changeset_id> --put src/pages/gallery.astro=gallery.astro
atelier201 changesets commit <changeset_id>
```

`files commit` crea una entrada del historial. `--expect <path>=<hash>` rechaza el cambio completo,
con el código de salida `6`, si el archivo ha cambiado desde que lo consultaste. Un conjunto de cambios hace lo mismo en
varias llamadas y permanece abierto durante 10 minutos. `history restore` añade una nueva entrada
que coincide con una anterior, sin borrar nada.

## Contenido multimedia

```bash
atelier201 media list
atelier201 media upload photo.jpg --alt "A loaf of bread"
atelier201 media delete media/photo.jpg
atelier201 media stock search bakery counter morning light
atelier201 media stock import pixabay 1234567 --alt "Croissants on a bakery counter"
atelier201 media models
atelier201 media generate --model p-image --estimate "a sunlit bakery counter, flat illustration"
atelier201 media generate --model nano-banana "a sunlit bakery counter, photo, no text" --alt "A bakery counter"
atelier201 media generation <generation_id> --wait
```

La búsqueda e importación de imágenes de stock son gratuitas. `media generate` consume créditos: muestra el
precio exacto y pide confirmación (`--yes` la acepta y es obligatorio si no hay
terminal). Además, requiere el permiso `media:generate`, que `atelier201 auth login`
no solicita, salvo que lo añadas con `--scope`.

## Compilación y vista previa

```bash
atelier201 builds start --wait
atelier201 builds list
atelier201 builds get <build_id>
atelier201 builds log <build_id>
atelier201 previews create --days 7
atelier201 previews list
atelier201 previews revoke <preview_id>
```

`builds start --wait` espera hasta 5 minutos. Finaliza con el código `0` si la compilación está
`ready`; si falla, termina con un código distinto de cero y muestra el final del registro de compilación.

## Publicación

```bash
atelier201 publish review                       # indica qué compilación se publicará y los bloqueos; no modifica nada
atelier201 publish                              # la compilación lista más reciente; pide confirmación
atelier201 publish --build <build_id>
atelier201 publish history
atelier201 publish rollback --publication <id>
atelier201 publish unpublish
```

`publish`, `publish rollback` y `publish unpublish` muestran qué va a cambiar y piden
confirmación. En un script, pasa `--yes`. Cada comando consulta primero el estado y envía la
versión que ha consultado, por lo que, si otra persona publica mientras tanto, la operación se rechaza con el código de salida
`6` en lugar de sobrescribir sus cambios.

## Dominios

```bash
atelier201 domains list
atelier201 domains add www.example.com   # muestra los registros DNS que debes crear
atelier201 domains check <domain_id>
atelier201 domains address <slug>
atelier201 domains main <domain_id>
atelier201 domains remove <domain_id>
```

Para usar un dominio personalizado necesitas un plan de pago. Consulta [Dominios](/docs/platform/domains).

## Antes de que nadie inicie sesión

```bash
atelier201 site push --guest --name "Maison Dupont"
```

No hace falta tener una cuenta. Sube la carpeta a internet como demostración e imprime dos enlaces: el de la
demostración y un enlace privado que solo debes compartir con el propietario para que el sitio pase a ser suyo. Consulta
[Sitios de invitados](/docs/platform/guest-sites).

## Manuales

```bash
atelier201 skills list
atelier201 skills get create-site
```

Son los manuales que utiliza el asistente de Atelier201: antes de empezar una tarea, lee el que corresponda.
No hace falta iniciar sesión. En un terminal, `get` muestra Markdown; si se canaliza su salida o se usa `--json`, muestra
el objeto JSON (con `body`).

## Recursos avanzados

```bash
atelier201 api GET /sites
atelier201 api POST /sites --data '{"name":"Maison Dupont"}'
atelier201 doctor
atelier201 mcp
atelier201 feedback send --problem "..." --situation "..." --expected-solution "..."
```

`atelier201 api` permite acceder a cualquier endpoint, incluso a los que se añadan después de tu versión de la CLI, así que
no hace falta esperar a una nueva versión para usar una función nueva. `atelier201 doctor` comprueba
la conectividad, las credenciales, la versión y el desfase del reloj. `atelier201 mcp` conecta stdio con
el servidor MCP para los clientes que no pueden comunicarse por HTTP.
