---
order: 9
section: reference
title: Справочник по CLI
description: >-
  Все команды и флаги scribe: status, validate, translate, delete, history,
  studio, export-static.
noindex: false
canonicalPath: /ru/docs/cli
---
Исполняемый файл `scribe` поставляется вместе с пакетом и после установки доступен в PATH. Все команды поддерживают флаг `--config <path>` (по умолчанию ищет `scribe.config.ts` в рабочей директории). Перед запуском они читают файлы `.env` и `.env.local` (существующие переменные окружения имеют приоритет).

```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`

Для каждого типа контента выводится количество документов на английском языке, количество переводов для каждой локали и путь к хранилищу. Это дает быстрый обзор текущего состояния локализации.

## `scribe validate`

Проверяет весь проект целиком: схемы, встроенные поля, хуки `crossValidate`, компиляцию MDX для английских текстов и сохраненных переводов, связи, правила в `_redirects.json`, суффиксы локализованных слагов и отсутствие изображений (если задан `assetsDir`). При обнаружении проблем выводит по одной строке на каждую из них и возвращает ненулевой код ошибки. Это позволяет использовать команду для блокировки сборки. Полный список проверок смотрите в разделе [контентной модели](/docs/content-model).

## `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` процесс продолжится без дублирования отправок). Команда возвращает ненулевой код ошибки в случае сбоя любого из элементов. Подробности описаны в разделе [перевода](/docs/translation).

## `scribe delete`

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

Удаляет запись и все зависящие от нее элементы на основе каскадирования ссылок. Сначала вычисляется план действий, который выводится на экран с группировкой по разделам. В него входят каскадные удаления, открепленные связи, затронутые файлы ассетов, счетчики хранилища по локалям (переводы и снапшоты) и любые блокирующие факторы. Затем запрашивается подтверждение `y/N` перед выполнением. При выполнении происходит ровно то, что указано в плане (удаление исходного файла, строк хранилища, файлов ассетов и перезапись для открепления), и ничего лишнего.

| Флаг | Описание |
| --- | --- |
| `--dry-run` | Вывести план и завершить работу с кодом 0 без удаления данных. |
| `--yes` | Пропустить запрос подтверждения (полезно для скриптов). |

Действия в плане определяются режимом `onTargetDelete` для связей (`restrict`, `detach`, `cascade`) и режимом `onDelete` для полей ассетов (`delete`, `keep`). Допустимые опции полей описаны в разделе [контентной модели](/docs/content-model). Если в плане есть блокирующие факторы (ссылка со статусом `restrict` или обязательная одиночная связь, которая станет недействительной), они выводятся на экран, и команда завершается с кодом 1 без удаления. В [studio](/docs/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`).
