Referência da CLI
Todos os comandos e flags do scribe: status, validate, translate, delete, history, studio, export-static.
View as MarkdownO 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).
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 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.
scribe delete
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 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 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).