---
order: 9
section: reference
title: Referência da CLI
description: >-
  Todos os comandos e flags do scribe: status, validate, translate, delete,
  history, studio, export-static.
noindex: false
canonicalPath: /pt-BR/docs/cli
---
O executável `scribe` vem com o pacote e fica disponível no PATH após a instalação. Todos os comandos aceitam `--config <caminho>` (padrão: `scribe.config.ts` no diretório de trabalho) e leem o `.env` seguido do `.env.local` antes da execução (as variáveis de ambiente existentes têm precedência).

```bash
scribe status
scribe validate
scribe translate [flags]
scribe delete <type> <en-slug> [--dry-run] [--yes]
scribe history <type> <en-slug> [locale]
scribe studio [--port 3600]
scribe export-static [flags]
scribe version
```

## `scribe status`

Por tipo de conteúdo: contagem de documentos em inglês, contagem de traduções por localidade e o caminho de armazenamento. Uma visão rápida da cobertura.

## `scribe validate`

Valida todo o projeto: esquemas, campos integrados, hooks `crossValidate`, compilação MDX dos corpos em inglês e traduções armazenadas, relações, regras do `_redirects.json`, sufixos de slug localizados e ativos de imagem ausentes quando `assetsDir` está configurado. Imprime uma linha por problema e sai com código diferente de zero em caso de erros, o que pode bloquear seu build. Consulte o [modelo de conteúdo](/docs/content-model) para ver a lista completa de verificações.

## `scribe translate`

Traduz páginas ausentes e desatualizadas usando o Gemini (requer `GEMINI_API_KEY`). Ao rodar sem flags no terminal, o comando pergunta interativamente o tipo de conteúdo, a predefinição de localidade, a estratégia e o modo de tradução. Em scripts, passe as flags:

| Flag | Padrão | Descrição |
| --- | --- | --- |
| `--type <id,id>` | todos os tipos | Um ou mais tipos de conteúdo (separados por vírgula). |
| `--locale <code>...` | todas não padrão | Localidades de destino (separadas por espaço). Substitui a `--preset`. |
| `--preset <nome>` | - | Um grupo `localePresets` da configuração. |
| `--slug <en-slug>` | - | Um documento em inglês. |
| `--strategy <all\|missing-only>` | `all` | `all` = desatualizadas + ausentes; `missing-only` ignora retraduções de conteúdo desatualizado. |
| `--batch` / `--direct` | `batch` | Modo de tradução. O modo Batch envia tudo através da API Gemini Batch por 50% do custo de tokens; o modo direto faz chamadas de API por página para resultados imediatos. |
| `--resume` | - | Verifica jobs em lote pendentes, processa os finalizados, não envia novos. |
| `--concurrency <n>` | `3` | Solicitações de tradução paralelas (somente modo direto). |
| `--model <id>` | `gemini-3.1-pro` | Substituição do modelo Gemini. |
| `--dry-run` | - | Imprime a lista de trabalho sem chamar a API ou gravar, com uma estimativa de contagem de tokens e custo em dólares (USD) por item e no total. |
| `--force` | - | Retraduz mesmo quando o hash em inglês for igual. |
| `--no-progress` | - | Logs simples linha por linha em vez da interface de progresso ao vivo. |

As execuções interativas exibem uma barra de progresso em tempo real com o status do job em lote, resultados por item, contagens de tokens de entrada/saída em execução e um custo estimado em dólares (USD) que inclui os tokens de "pensamento". Os jobs em lote são persistidos no armazenamento antes do início da verificação (polling), portanto, é seguro interromper com Ctrl+C (a próxima execução ou o `--resume` retoma de onde parou sem reenviar nada em duplicidade). O comando sai com um erro (não zero) caso algum item falhe. Detalhes em [tradução](/docs/translation).

## `scribe delete`

```bash
scribe delete <type> <en-slug> [--dry-run] [--yes]
```

Exclui uma entrada e tudo o que depende dela, seguindo o efeito cascata de referência. Ele calcula um plano antecipadamente e o imprime agrupado por seção: exclusões em cascata, relações desconectadas, arquivos de ativos afetados, contagens de armazenamento por localidade (traduções e instantâneos) e possíveis bloqueadores. Em seguida, solicita confirmação com `y/N` antes de prosseguir. A execução realiza exatamente o planejado (arquivo de origem, linhas de armazenamento, arquivos de ativos e reescritas de desconexão) e nada mais.

| Flag | Descrição |
| --- | --- |
| `--dry-run` | Imprime o plano e sai com código 0 sem excluir nada. |
| `--yes` | Pula o prompt de confirmação (para uso em scripts). |

O modo `onTargetDelete` de uma relação (`restrict`, `detach`, `cascade`) e o modo `onDelete` de um campo de ativo (`delete`, `keep`) determinam o que o plano faz (consulte o [modelo de conteúdo](/docs/content-model) para ver as opções do campo). Um plano com bloqueadores (como uma referência `restrict` ou uma relação única obrigatória que ficaria solta) exibe esses bloqueadores e sai com código 1 sem excluir nada. O [estúdio](/docs/studio) disponibiliza esse mesmo plano por meio do botão Delete.

## `scribe history <type> <en-slug> [locale]`

A linha do tempo dos instantâneos (snapshots) em inglês de um documento: quando cada instantâneo foi capturado, seu hash de conteúdo e quais traduções de localidade foram feitas a partir dele. Passe uma localidade para filtrar.

## `scribe studio`

Uma interface da web local apenas para leitura (padrão `http://127.0.0.1:3600`, altere usando `--port`). Mostra a cobertura de tradução por tipo e por localidade, a lista atual de trabalho (ausentes/desatualizadas) e os detalhes por documento: frontmatter com marcadores estruturais ou traduzíveis, a tradução armazenada, seus metadados (modelo, data, hash) e o instantâneo em inglês do qual ela se originou. O estúdio não grava nada (a edição continua sendo feita no seu editor e pelo git).

## `scribe export-static`

Grava os arquivos MDX não processados (frontmatter + corpo, por localidade) num diretório estático. Isso é ideal para disponibilizar versões de texto simples das suas páginas que sejam amigáveis a rastreadores (crawlers) e LLMs:

| Flag | Padrão | Descrição |
| --- | --- | --- |
| `--out <dir>` | `public` | Diretório de saída. |
| `--extension <ext>` | `mdx` | Extensão de arquivo para os itens exportados. |
| `--type <id,id>` | todos os roteáveis | Tipos de conteúdo separados por vírgula. |
| `--locale <code>...` | todas | Localidades a exportar. |

As raízes de saída gerenciadas são limpas antes da gravação. Os documentos que são fontes de redirecionamento em `_redirects.json` são ignorados.

## `scribe version`

Imprime a versão instalada do scribe-cms (o mesmo que `--version` / `-V`).
