Atelier201 websiteJoin the waitlist
WorkspaceExecutar um comando no workspace
sites

Executar um comando no workspace

Um comando bash na raiz do projeto, em uma cópia de trabalho do rascunho no próprio contêiner do site: rg, grep, sed, find, cat, node. Uma compilação do projeto é recusada (400): workspace:commit envia os arquivos pelas mesmas verificações de qualquer alteração e inicia a compilação real, cujos erros são informados por getSiteBuild. Sem rede, por no máximo 300 s. Os arquivos alterados permanecem sem commit (listados em uncommitted) até workspace:commit. O workspace acompanha o rascunho: outra alteração mantém as suas edições sem commit.

POST/v1/sites/{site_id}/workspace:run

Requer sites:write. Não custa créditos. O caminho termina em /workspace:run.

O workspace é um shell em uma cópia de trabalho do rascunho do site, dentro do próprio contêiner do site e sem conexão com a internet. Use-o para tarefas que um shell executa bem: rg, grep, find, cat, sed -i, node e npx astro build para testar uma compilação em segundos. O comando é executado na raiz do projeto como um usuário sem privilégios, e não há acesso à rede.

As alterações feitas pelo comando permanecem sem commit. A resposta lista essas alterações em uncommitted, uma por linha, no estilo de git status (M src/pages/index.astro). Nada é adicionado ao histórico até você fazer commit do workspace, e os visitantes não veem nada até você publicar.

command pode ter no máximo 8000 caracteres. timeout_ms deve estar entre 1000 e 300000 e, por padrão, é 60000: se o comando ainda estiver em execução nesse momento, ele será interrompido e timed_out será true. Uma falha no comando não é um erro da API: a chamada é bem-sucedida e exit_code não é 0. output reúne stdout e stderr; acima de 8 KB, mantém o início e o fim, e truncated será true.

O workspace acompanha o rascunho. Se outra alteração tiver modificado o rascunho desde seu último comando, suas edições sem commit serão preservadas e note informará isso. O mesmo vale quando o workspace precisa ser recriado.

Um site que ainda está sendo criado responde com result_not_ready; um site suspenso ou em processo de exclusão responde com conflict.

Autorizações

Authorizationbearerin headerrequired

Parâmetros de caminho

site_idstringrequired

O id do site ou seu slug (o endereço antes de .atelier201.page).

Corpo

application/jsonrequired
commandstringrequiredlength: 1–8000 chars

Um comando bash executado na raiz do projeto, em uma cópia de trabalho do rascunho: rg, grep, sed, find, cat, node... Sem rede. Os arquivos alterados permanecem sem commit até workspace:commit, que os compila e informa qualquer erro de compilação. A compilação do projeto é recusada aqui: levou 30 s e duplicou essa compilação.

timeout_msintegerrange: 1000–300000

Padrão: 60000. O comando é interrompido ao ultrapassar esse limite.

Resposta

application/json

Execute um comando shell no workspace do site

dataobjectrequired
request_idstringrequired

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.