---
title: "Comandos"
description: "Todos os comandos, o que cada um altera e quais afetam o que os visitantes veem."
canonical: "https://atelier201.com/docs/pt/cli/commands"
updated: "2026-11-06"
---

# Comandos

Nenhum comando consome créditos. Apenas quatro grupos alteram o que os visitantes veem: `publish`,
`publish rollback`, `publish unpublish` e `domains`. Todo o resto edita o
rascunho.

## Conta

```bash
atelier201 account                 # workspace, plano, escopos desta credencial
atelier201 credits                 # saldo e todos os créditos concedidos
atelier201 usage --from 2026-01-01 # uso de créditos em um período
```

## Sites

```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            # pede para você digitar o slug; --confirm <slug> em um script
```

`sites create` começa com o modelo inicial do Atelier201 e o compila uma vez. Um site excluído
fica fora do ar imediatamente e é removido em alguns minutos. Portanto, execute `atelier201 site pull`
antes, caso possa precisar dele.

## Uma pasta de projeto

```bash
atelier201 site link --site <id>   # vincula esta pasta a um site
atelier201 site pull               # traz os arquivos do rascunho para cá
atelier201 site push --message "New menu" --build --wait
```

`site push` substitui o rascunho pelo conteúdo da pasta em um único registro do histórico. Ele ignora
`node_modules`, `dist`, `.astro`, `.git`, arquivos e chaves `.env`, além de tudo o que estiver listado no
`.gitignore` da raiz, até o limite de 50 MB. O comando não substitui alterações feitas no site
desde a última sincronização (`site pull` primeiro ou use `--force`), e `site pull`
não substitui arquivos que você alterou localmente.

## Conteúdo

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

Leia `content model` primeiro. Toda gravação é validada com base nele. `--expect <hash>`
só salva se o item ainda tiver o hash que você leu, e `--create-only` impede
que um item existente seja substituído.

## Arquivos, histórico e conjuntos de alterações

```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` cria um único registro no histórico. `--expect <path>=<hash>` cancela
as alterações inteiras, com código de saída `6`, se o arquivo tiver sido alterado desde a leitura. Um conjunto de alterações faz
o mesmo em várias chamadas e permanece aberto por 10 minutos. `history restore` adiciona um novo
registro igual a um anterior, sem apagar nada.

## Mídia

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

Pesquisar e importar imagens de bancos de mídia é grátis. `media generate` consome créditos: mostra o
preço exato e pede confirmação (`--yes` aceita o valor e é obrigatório quando não há um
terminal). Também exige a permissão `media:generate`, que `atelier201 auth login`
não solicita, a menos que você a inclua com `--scope`.

## Compilação e pré-visualização

```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` aguarda até 5 minutos. Retorna o código `0` quando a compilação está
`ready` e retorna um código diferente de zero, com o fim do log de compilação, se ela falhar.

## Publicação

```bash
atelier201 publish review                       # mostra qual compilação e os impedimentos; não altera nada
atelier201 publish                              # publica a compilação pronta mais recente, após pedir confirmação
atelier201 publish --build <build_id>
atelier201 publish history
atelier201 publish rollback --publication <id>
atelier201 publish unpublish
```

`publish`, `publish rollback` e `publish unpublish` mostram o que será alterado e pedem confirmação.
Em um script, passe `--yes`. Cada comando lê o estado primeiro e envia a geração
que leu. Assim, se outra pessoa publicar nesse meio-tempo, a operação é recusada com o código de saída
`6`, em vez de sobrescrever a publicação.

## Domínios

```bash
atelier201 domains list
atelier201 domains add www.example.com   # mostra os registros DNS a criar
atelier201 domains check <domain_id>
atelier201 domains address <slug>
atelier201 domains main <domain_id>
atelier201 domains remove <domain_id>
```

Um domínio personalizado exige um plano pago. Consulte [Domínios](/docs/platform/domains).

## Antes de alguém entrar na conta

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

Não precisa de conta. Coloca a pasta no ar como demonstração e mostra dois links: um para a
versão de demonstração e outro, privado, para enviar somente ao proprietário, para que o site passe a ser dele. Consulte
[Sites de convidados](/docs/platform/guest-sites).

## Manuais

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

Os manuais que orientam o assistente do próprio Atelier201: leia o que corresponde à sua tarefa
antes de começar. Não é preciso entrar na conta. No terminal, `get` exibe Markdown; quando a saída é redirecionada ou com `--json`,
exibe o objeto JSON (com `body`).

## Alternativas avançadas

```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` acessa qualquer endpoint, inclusive os adicionados depois da sua versão da CLI. Assim,
um novo recurso não precisa esperar por uma atualização. `atelier201 doctor` verifica
conectividade, credenciais, versão e diferença de horário do sistema. `atelier201 mcp` faz a ponte entre stdio e
servidor MCP para clientes que não conseguem se comunicar por HTTP.
