Справочник по CLI
Все команды и флаги scribe: status, validate, translate, delete, history, studio, export-static.
View as MarkdownИсполняемый файл scribe поставляется вместе с пакетом и после установки доступен в PATH. Все команды поддерживают флаг --config <path> (по умолчанию ищет scribe.config.ts в рабочей директории). Перед запуском они читают файлы .env и .env.local (существующие переменные окружения имеют приоритет).
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
Для каждого типа контента выводится количество документов на английском языке, количество переводов для каждой локали и путь к хранилищу. Это дает быстрый обзор текущего состояния локализации.
scribe validate
Проверяет весь проект целиком: схемы, встроенные поля, хуки crossValidate, компиляцию MDX для английских текстов и сохраненных переводов, связи, правила в _redirects.json, суффиксы локализованных слагов и отсутствие изображений (если задан assetsDir). При обнаружении проблем выводит по одной строке на каждую из них и возвращает ненулевой код ошибки. Это позволяет использовать команду для блокировки сборки. Полный список проверок смотрите в разделе контентной модели.
scribe translate
Переводит недостающие и устаревшие страницы с помощью Gemini (требуется GEMINI_API_KEY). Если запустить команду в терминале без флагов, она в интерактивном режиме запросит тип контента, пресет локали, стратегию и режим перевода. Для использования в скриптах передавайте следующие флаги:
| Флаг | По умолчанию | Описание |
|---|---|---|
--type <id,id> | все типы | Один или несколько типов контента (через запятую). |
--locale <code>... | все не основные локали | Целевые локали (через пробел). Переопределяет --preset. |
--preset <name> | - | Группа localePresets из конфигурации. |
--slug <en-slug> | - | Один английский документ. |
--strategy <all|missing-only> | all | all означает устаревшие и недостающие переводы; missing-only пропускает повторный перевод устаревших страниц. |
--batch / --direct | batch | Режим перевода. В режиме batch все отправляется через Gemini Batch API за половину стоимости токенов; режим direct выполняет отдельные запросы для каждой страницы для мгновенного результата. |
--resume | - | Проверить ожидающие пакетные задания, загрузить завершенные и не отправлять ничего нового. |
--concurrency <n> | 3 | Количество параллельных запросов на перевод (только для режима direct). |
--model <id> | gemini-3.1-pro | Переопределение модели Gemini. |
--dry-run | - | Вывести список задач без вызова API и записи файлов. Показывает примерное количество токенов и стоимость в долларах для каждого элемента и в сумме. |
--force | - | Выполнить повторный перевод даже при совпадении английского хеша. |
--no-progress | - | Выводить обычные построчные логи вместо динамического интерфейса с прогрессом. |
В интерактивном режиме отображается живой индикатор выполнения. Он показывает статус пакетных заданий, результаты по каждому элементу, текущее количество токенов на входе и выходе, а также примерную стоимость в долларах (включая токены рассуждений). Пакетные задания сохраняются в хранилище до начала опроса. Это делает прерывание через Ctrl+C безопасным (при следующем запуске или использовании --resume процесс продолжится без дублирования отправок). Команда возвращает ненулевой код ошибки в случае сбоя любого из элементов. Подробности описаны в разделе перевода.
scribe delete
scribe delete <type> <en-slug> [--dry-run] [--yes]
Удаляет запись и все зависящие от нее элементы на основе каскадирования ссылок. Сначала вычисляется план действий, который выводится на экран с группировкой по разделам. В него входят каскадные удаления, открепленные связи, затронутые файлы ассетов, счетчики хранилища по локалям (переводы и снапшоты) и любые блокирующие факторы. Затем запрашивается подтверждение y/N перед выполнением. При выполнении происходит ровно то, что указано в плане (удаление исходного файла, строк хранилища, файлов ассетов и перезапись для открепления), и ничего лишнего.
| Флаг | Описание |
|---|---|
--dry-run | Вывести план и завершить работу с кодом 0 без удаления данных. |
--yes | Пропустить запрос подтверждения (полезно для скриптов). |
Действия в плане определяются режимом onTargetDelete для связей (restrict, detach, cascade) и режимом onDelete для полей ассетов (delete, keep). Допустимые опции полей описаны в разделе контентной модели. Если в плане есть блокирующие факторы (ссылка со статусом restrict или обязательная одиночная связь, которая станет недействительной), они выводятся на экран, и команда завершается с кодом 1 без удаления. В studio этот же план доступен по нажатию кнопки удаления.
scribe history <type> <en-slug> [locale]
История английских снапшотов для одного документа. Показывает время создания каждого снапшота, хеш его содержимого и список локалей, для которых он послужил основой перевода. Для фильтрации можно передать конкретную локаль.
scribe studio
Локальный веб-интерфейс в режиме только для чтения (по умолчанию работает на http://127.0.0.1:3600, изменить можно через --port). Он показывает покрытие переводами по типам и локалям, список недостающих или устаревших материалов и детальную информацию по каждому документу. Вы можете увидеть метаданные (frontmatter) с маркерами перевода или структуры, сохраненный перевод, его метаданные (модель, дату, хеш) и английский снапшот, на основе которого он был сделан. Интерфейс ничего не записывает, поэтому редактирование по-прежнему происходит в вашем редакторе и системе git.
scribe export-static
Записывает сырые файлы MDX (метаданные и тело документа для каждой локали) в статическую директорию. Это удобно для предоставления текстовых версий страниц, понятных поисковым роботам и LLM:
| Флаг | По умолчанию | Описание |
|---|---|---|
--out <dir> | public | Выходная директория. |
--extension <ext> | mdx | Расширение для экспортируемых файлов. |
--type <id,id> | все маршрутизируемые типы | Типы контента, перечисленные через запятую. |
--locale <code>... | все локали | Локали для экспорта. |
Управляемые выходные директории очищаются перед записью. Документы, которые являются источниками редиректов в _redirects.json, пропускаются.
scribe version
Выводит установленную версию scribe-cms (также работает через --version или -V).