---
title: "Introducción a la CLI"
description: "Instala la CLI, inicia sesión, vincula una carpeta de proyecto a un sitio y publícalo."
canonical: "https://atelier201.com/docs/es/cli/overview"
updated: "2026-11-06"
---

# Introducción a la CLI

```bash
npm install -g @atelier201/cli
atelier201 auth login
atelier201 account
```

`atelier201 auth login` abre un navegador, te pregunta a qué espacio de trabajo quieres conectarte y qué
permisos quieres conceder, y guarda el token en el llavero del sistema operativo,
no en un archivo oculto. Si el equipo no tiene navegador, usa `atelier201 auth login --device`.

## De una carpeta de proyecto a un sitio en internet

```bash
atelier201 sites create "Maison Dupont" --link   # crea el sitio y vincula esta carpeta
atelier201 site pull                             # descarga aquí sus archivos
# ...edit...
atelier201 site push --build --wait              # envía la carpeta, la compila y espera
atelier201 previews create                       # crea un enlace privado a esa compilación
atelier201 publish                               # muestra lo que se publicará, pide confirmación y lo publica
```

Todos los comandos de sitios admiten `--site <id>` o usan el sitio vinculado a la carpeta actual.
`atelier201 site link --site <id>` crea `.atelier201/site.json`, que no contiene secretos y se añade a
`.gitignore`.

Para editar textos, entradas y datos del negocio, es preferible usar los comandos de contenido en lugar de modificar
archivos: el sistema valida los cambios según el modelo de contenido del sitio, por lo que no pueden romper el diseño.

```bash
atelier201 content set business:/tagline "Fresh bread daily"
```

Consulta [Comandos](/docs/cli/commands) para ver la lista completa y
[Modelo de contenido y contenido multimedia](/docs/platform/content-model) para saber qué contiene un sitio.

## Salida

**La salida es JSON automáticamente cuando stdout no es un terminal.** Puedes canalizarla directamente a `jq`
y los comandos no necesitan la opción `--json` en CI. En un terminal, se muestra una
tabla. Para elegir el formato, usa `--output json|table|ndjson`.

## Códigos de salida

Un script puede tomar decisiones según el código, sin tener que leer ningún mensaje:

| Código | Significado                                                                   |
| ------ | ----------------------------------------------------------------------------- |
| 0      | Correcto                                                                      |
| 1      | Error inesperado                                                              |
| 2      | Uso incorrecto o solicitud rechazada por el servidor por no ser válida        |
| 3      | Error de autenticación o permisos                                             |
| 4      | No encontrado                                                                 |
| 5      | Límite de solicitudes alcanzado                                               |
| 6      | Conflicto: conflicto al guardar, publicación desactualizada o límite del plan |
