Atelier201 websiteJoin the waitlist
PlataformaComo um site entra no ar

Como um site entra no ar

Rascunho, revisão, build, prévia, publicação e reversão, e quais dessas etapas os visitantes conseguem ver.

Um site passa por quatro etapas. Só a última muda o que os visitantes veem.

flowchart LR A["Rascunho<br/>cada alteração"] --> B["Build<br/>rascunho compilado"] B --> C["Prévia<br/>link privado"] B --> D["Publicação<br/>visível para visitantes"]
De uma alteração a um site no ar

Rascunho e revisões

O rascunho é o estado atual dos arquivos do site. Cada alteração cria uma revisão: um ID de commit do Git com 40 caracteres, um resumo de uma frase e a autoria (o editor, o assistente, um agente via MCP, a CLI ou a API). Nada é apagado: o histórico lista cada revisão, e você pode comparar duas delas ou restaurar uma anterior como uma nova entrada.

Uma alteração corresponde a uma revisão, independentemente do que ela afeta. Uma chamada que altera três arquivos grava uma única entrada, e uma alteração feita em várias chamadas usa um changeset, que você confirma uma única vez. Um changeset permanece aberto por 10 minutos.

Duas pessoas editando ao mesmo tempo

Ao alterar um arquivo, envie o hash que você leu (expected_hash). Se alguém alterou esse arquivo desde então, a alteração inteira será recusada com 409 conflict, nada será gravado, e um erro REST ou da CLI incluirá a revisão atual:

JSON
{
  "error": {
    "type": "conflict_error",
    "code": "conflict",
    "message": "...",
    "details": {
      "reason": "revision_conflict",
      "current_revision": "9f2c...",
      "paths": [
        { "path": "src/content/site/business.json", "expected": "a1b2...", "found": "c3d4..." }
      ]
    }
  }
}

Leia novamente os arquivos listados em paths, aplique sua alteração sobre a versão atual e tente de novo. No MCP, o erro informa que o site mudou desde que a edição foi preparada, sem details; por isso, leia os arquivos novamente por conta própria. Os endpoints de conteúdo leem o hash atual automaticamente, então só haverá conflito se alguém gravar exatamente no mesmo instante.

Builds

Um build compila o rascunho, ou uma revisão que você especificar, em um site estático. Ele é executado em um contêiner isolado, sem rede nem credenciais, e é encerrado após 5 minutos. Um build passa pelos estados queued, building e collecting até chegar a ready, ou termina como failed ou cancelled. Se você iniciar um build de uma revisão que já conta com um build pronto, o build existente será retornado, sem duplicar o processo.

Quando um build falha, error informa o motivo e o log do build mostra a saída do compilador. Corrija os arquivos e execute o build novamente.

Prévia

Uma prévia é um link privado para um build, válido por 7 dias por padrão e por até 30 dias. Qualquer pessoa com o link pode ver esse build, sem precisar de uma conta. O link não concede nenhum outro acesso, nunca é indexado e pode ser revogado. Ele mostra como o site ficaria, por isso, compartilhe-o antes de publicar.

Uma prévia não é um site publicado. Cada página exibe uma pequena faixa “Prévia” (oculta enquanto você edita no app), e é executada em sandbox com a origem null. Os scripts não podem definir cookies, usar o armazenamento do navegador nem iniciar um Worker, e uma API de terceiros que rejeite essa origem impede seu funcionamento. Por isso, um formulário, um banner de cookies ou uma ferramenta do lado do cliente que dependa desses recursos só funcionará depois que o site for publicado. Um aviso do build identifica os recursos usados pelo seu site.

Publicação

A publicação coloca um build no ar em todos os endereços do site, em cerca de um minuto. É a única etapa que altera o site público.

  1. Revise. review_publish mostra qual build entraria no ar, se é o rascunho mais recente, o que impede a publicação e um expected_generation.
  2. Publique esse build usando o expected_generation que você consultou.

A generation é um contador que aumenta a cada publicação, reversão e retirada do ar. Enviá-la de volta garante que você publique exatamente o estado revisado. Se outra pessoa publicar nesse intervalo, a chamada será recusada com 409 conflict e você precisará revisar novamente.

Um build não pode ser publicado enquanto houver um bloqueio:

BloqueioO que fazer
guest_siteA pessoa precisa reivindicar o site primeiro.
no_buildFaça o build do rascunho.
build_not_readyAguarde até o build ficar ready ou execute-o novamente se tiver falhado.
origin_changedO endereço principal do site mudou depois deste build. Faça outro build.
plan_requiredO site é um rascunho: para publicar, é necessário ter o plano Site. Enquanto isso, compartilhe um link de prévia.
site_unavailableO site está sendo criado, suspenso ou excluído.

Reversão e retirada do ar

Uma reversão volta a disponibilizar o build de uma publicação anterior, sem refazer o build. O rascunho não muda e pode ser mais recente do que a versão que os visitantes veem. Um Site mantém as últimas 50 publicações disponíveis para reversão.

A retirada do ar deixa o site offline: os visitantes veem que não há nenhum site no endereço até que você publique novamente. Nada é excluído.

Publicar, reverter e retirar do ar exige o escopo sites:publish, e somente um administrador do workspace pode executar essas ações. Um agente sem esse escopo pode preparar tudo e pedir ao proprietário que publique.

Exportar e importar

O projeto inteiro é exportado como um arquivo tar que pode ser compilado em qualquer lugar com npm ci && npm run build. A importação de um arquivo substitui o rascunho pelos arquivos contidos nele, em uma única revisão. node_modules, dist, .git e arquivos secretos são ignorados. A importação não executa o build nem publica.

Use these docs with your AI tools

An AI agent can read this documentation directly. You do not need an account or an API key. Everything here is public and read-only.

Query these docs via MCP

Recommended

Add this server to Claude, Claude Code, Cursor, Mistral, or any tool that supports MCP. Your agent can then search Atelier201 Docs documentation and read it in full, instead of answering from memory.

https://atelier201.com/docs/mcp
  • searchFind the passages that answer a question.
  • fetchRead one page in full, as Markdown.
  • list_pagesSee every page in this documentation.

Query these docs over HTTP

The same tools also work as plain web requests. Use this for scripts, or for any tool that does not support MCP. There is one endpoint per tool. Arguments go in the query string, and the answer comes back as JSON.

https://atelier201.com/docs/api/docs/search?query=custom+domain

Read the OpenAPI description. It is built from the same definitions as the tools, so it always matches what the endpoints do.

Read these docs as Markdown

Add .md to any page URL to get its Markdown source. You can also send the headerAccept: text/markdown to the page URL itself.

To read the whole documentation in one file, open llms-full.txt. For a short index of every page, open llms.txt.