---
title: "Befehle"
description: "Alle Befehle, was sie ändern und welche davon die Besucheransicht beeinflussen."
canonical: "https://atelier201.com/docs/de/cli/commands"
updated: "2026-11-06"
---

# Befehle

Kein Befehl kostet Credits. Nur vier Gruppen ändern, was Besucher sehen: `publish`,
`publish rollback`, `publish unpublish` und `domains`. Alles andere bearbeitet den
Entwurf.

## Konto

```bash
atelier201 account                 # Arbeitsbereich, Tarif, Berechtigungsbereiche dieses Zugangsschlüssels
atelier201 credits                 # Guthaben und alle Gutschriften
atelier201 usage --from 2026-01-01 # Credit-Verbrauch über einen Zeitraum
```

## Websites

```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            # fordert zur Eingabe des Slugs auf; in einem Skript --confirm <slug>
```

`sites create` verwendet das Atelier201-Starterprojekt und erstellt daraus einmalig eine Website. Eine gelöschte Website
geht sofort offline und wird innerhalb weniger Minuten entfernt. Führen Sie daher zuerst `atelier201 site pull` aus,
wenn Sie sie möglicherweise noch benötigen.

## Projektordner

```bash
atelier201 site link --site <id>   # diesen Ordner mit einer Website verknüpfen
atelier201 site pull               # Dateien des Entwurfs hierher herunterladen
atelier201 site push --message "New menu" --build --wait
```

`site push` ersetzt den Entwurf durch den Ordner und speichert dies als einen Verlaufseintrag. Ausgenommen sind
`node_modules`, `dist`, `.astro`, `.git`, `.env`-Dateien und Schlüssel sowie alle Einträge in der `.gitignore` im
Stammverzeichnis. Maximal 50 MB. Der Befehl überschreibt keine Änderungen, die seit der letzten Synchronisierung
auf der Website vorgenommen wurden (zuerst `site pull` ausführen oder `--force` verwenden). `site pull`
überschreibt seinerseits keine Dateien, die Sie lokal geändert haben.

## Inhalte

```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"
```

Rufen Sie zuerst `content model` auf. Jeder Schreibvorgang wird anhand dieses Modells geprüft. Mit `--expect <hash>`
wird nur gespeichert, wenn der Eintrag noch den Hash hat, den Sie ausgelesen haben. `--create-only` verhindert
Überschreibungen.

## Dateien, Verlauf und Änderungssätze

```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` erzeugt einen Verlaufseintrag. Mit `--expect <path>=<hash>` wird die gesamte Änderung mit Exit-Code
`6` abgelehnt, wenn die Datei seit dem Auslesen geändert wurde. Ein Änderungssatz bietet dasselbe für mehrere
Aufrufe und bleibt 10 Minuten geöffnet. `history restore` fügt einen neuen Eintrag hinzu, der einem früheren
entspricht, und löscht nichts.

## Medien

```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
```

Die Suche und der Import von Stockmedien sind kostenlos. `media generate` verbraucht Credits: Der genaue Preis wird
angezeigt und muss bestätigt werden (`--yes` bestätigt ihn und ist erforderlich, wenn kein Terminal verfügbar ist).
Außerdem ist dafür die Berechtigung `media:generate` erforderlich. `atelier201 auth login` fragt diese nicht an,
sofern Sie sie nicht mit `--scope` hinzufügen.

## Erstellen und Vorschau

```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` wartet bis zu 5 Minuten. Bei einem erfolgreichen Build mit Status `ready` wird der Exit-Code
`0` zurückgegeben. Schlägt der Build fehl, ist der Exit-Code ungleich null und das Ende des Build-Protokolls wird
angezeigt.

## Veröffentlichen

```bash
atelier201 publish review                       # welcher Build, welche Hindernisse; ändert nichts
atelier201 publish                              # neuester fertiger Build; fragt vorher nach
atelier201 publish --build <build_id>
atelier201 publish history
atelier201 publish rollback --publication <id>
atelier201 publish unpublish
```

`publish`, `publish rollback` und `publish unpublish` zeigen die Änderungen an und fragen vorher nach. Übergeben Sie
in einem Skript `--yes`. Jeder Befehl liest zuerst den aktuellen Status aus und sendet die ausgelesene Version. Wenn
zwischenzeitlich jemand anderes etwas veröffentlicht hat, wird der Vorgang mit Exit-Code `6` abgelehnt, statt die
Änderungen zu überschreiben.

## Domains

```bash
atelier201 domains list
atelier201 domains add www.example.com   # zeigt die anzulegenden DNS-Einträge an
atelier201 domains check <domain_id>
atelier201 domains address <slug>
atelier201 domains main <domain_id>
atelier201 domains remove <domain_id>
```

Für eine eigene Domain ist ein kostenpflichtiger Tarif erforderlich. Siehe [Domains](/docs/platform/domains).

## Bevor sich jemand angemeldet hat

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

Dafür ist kein Konto erforderlich. Der Ordner wird als Demo online gestellt. Der Befehl gibt zwei Links aus: einen
zur Demo und einen privaten Link, den Sie nur dem Inhaber geben, damit die Website ihm gehört. Siehe
[Gast-Websites](/docs/platform/guest-sites).

## Anleitungen

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

Das sind die Anleitungen, auf die sich der eigene Assistent von Atelier201 stützt. Lesen Sie vor Beginn die Anleitung,
die zu Ihrer Aufgabe passt. Eine Anmeldung ist nicht erforderlich. `get` gibt Markdown in einem Terminal aus und
ein JSON-Objekt (mit `body`), wenn die Ausgabe weitergeleitet oder `--json` verwendet wird.

## Ausweichmöglichkeiten

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

Mit `atelier201 api` erreichen Sie jeden Endpunkt, auch solche, die erst nach Ihrer CLI-Version hinzugekommen sind.
Neue Funktionen müssen deshalb nicht bis zur nächsten Veröffentlichung warten. `atelier201 doctor` prüft Verbindung,
Zugangsdaten, Version und Zeitabweichung. `atelier201 mcp` verbindet stdio mit dem MCP-Server und ermöglicht so
Clients die Kommunikation, die kein HTTP unterstützen.
