---
title: "CLI im Überblick"
description: "CLI installieren, anmelden, einen Projektordner mit einer Website verknüpfen und online stellen."
canonical: "https://atelier201.com/docs/de/cli/overview"
updated: "2026-11-06"
---

# CLI im Überblick

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

`atelier201 auth login` öffnet einen Browser und fragt, mit welchem Arbeitsbereich eine Verbindung hergestellt und
welche Berechtigungen erteilt werden sollen. Das Token wird im Schlüsselbund Ihres Betriebssystems gespeichert,
nicht in einer Dotdatei. Auf einem Rechner ohne Browser verwenden Sie `atelier201 auth login --device`.

## Vom leeren Projektordner bis zur Website

```bash
atelier201 sites create "Maison Dupont" --link   # Website erstellen und diesen Ordner verknüpfen
atelier201 site pull                             # Dateien hierher herunterladen
# ...edit...
atelier201 site push --build --wait              # Ordner übertragen, Build erstellen und darauf warten
atelier201 previews create                       # privater Link zu diesem Build
atelier201 publish                               # zeigt, was online geht, fragt nach und veröffentlicht es
```

Bei jedem Website-Befehl können Sie `--site <id>` angeben. Andernfalls wird die Website verwendet, die mit dem
aktuellen Ordner verknüpft ist. `atelier201 site link --site <id>` erstellt die Datei `.atelier201/site.json`. Sie
enthält keine geheimen Daten und wird zu `.gitignore` hinzugefügt.

Für Texte, Einträge und Unternehmensangaben sollten Sie die Inhaltsbefehle statt Dateiänderungen verwenden. Die
Inhalte werden anhand des Inhaltsmodells der Website geprüft und können das Layout nicht beschädigen.

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

Alle Inhaltsbefehle finden Sie unter [Befehle](/docs/cli/commands). Welche Inhalte eine Website umfasst, erfahren Sie
unter [Inhaltsmodell und Medien](/docs/platform/content-model).

## Ausgabe

**Wenn stdout kein Terminal ist, erfolgt die Ausgabe automatisch als JSON.** Die Ausgabe kann direkt an `jq`
weitergeleitet werden. In CI benötigt kein Befehl ein `--json`-Flag. Im Terminal wird eine Tabelle angezeigt. Mit
`--output json|table|ndjson` legen Sie das Format fest.

## Exit-Codes

Skripte können anhand des Codes verzweigen, ohne eine Meldung auswerten zu müssen:

| Code | Bedeutung                                                             |
| ---- | --------------------------------------------------------------------- |
| 0    | Erfolg                                                                |
| 1    | Unerwarteter Fehler                                                   |
| 2    | Ungültige Verwendung oder vom Server als ungültig abgelehnte Anfrage  |
| 3    | Authentifizierung oder Berechtigung                                   |
| 4    | Nicht gefunden                                                        |
| 5    | Ratenbegrenzung erreicht                                              |
| 6    | Konflikt: Schreibkonflikt, veraltete Veröffentlichung oder Tariflimit |
