Scribe

Справочник по 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>allall означает устаревшие и недостающие переводы; missing-only пропускает повторный перевод устаревших страниц.
--batch / --directbatchРежим перевода. В режиме 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).

Справочник по CLI · Scribe