# gt: General Translation CLI tool: gt init
URL: https://generaltranslation.com/ru/docs/cli/reference/commands/init.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Запустите мастер настройки General Translation, чтобы настроить проект. Справочник API для команды `gt init`.

`init` — команда по умолчанию: если выполнить `npx gt` без команды, запустится `init`.

Мастер настройки определяет ваш фреймворк и, в зависимости от проекта, устанавливает зависимости, настраивает фреймворк, создает `gt.config.json` и генерирует учетные данные. Пошаговое руководство см. в разделе [Настройка CLI](/docs/cli/guides/configuring).

```bash
npx gt init
```

## Как это работает [#how-it-works]

1. Определяет ваш фреймворк. Для проекта на Next.js App Router или Mintlify вместо этого предлагает подключить AI-агент [Locadex](/docs/platform/locadex/quickstart).
2. Для проекта на React при желании устанавливает соответствующую среду выполнения и настраивает фреймворк (экспериментально). Приложения Next.js App Router получают [`GTProvider`](/docs/react/reference/components/gt-provider) и `withGTConfig`. Приложения Vite получают загрузочный модуль [`initializeGTSPA`](/docs/react/reference/config#initialize-spa), который запускается до существующей точки входа приложения. Приложения на TanStack Start получают `gt-tanstack-start`, `src/loadTranslations.ts`, [`gtMiddleware`](/docs/react/tanstack-start/reference/functions/gt-middleware) в `src/start.ts`, [`initializeGT`](/docs/react/tanstack-start/setup#initialize) в `src/router.tsx` и [`GTProvider`](/docs/react/reference/components/gt-provider) в корневом маршруте. В остальные приложения React устанавливается только библиотека.
3. Разрешает локаль по умолчанию и целевые локали, а также создает или обновляет `gt.config.json`. `--locales` заменяет настроенный список локалей, а `--file-formats` — форматы, предлагаемые при настройке; остальные форматы и не связанные с ними настройки сохраняются. Если `gt.config.json` некорректен, настройка прерывается до внесения каких-либо изменений. При локальном хранилище Vite или TanStack Start также создает файл [`loadTranslations`](/docs/react/reference/functions/load-translations) и пустые файлы для целевых локалей.
4. Устанавливает `gt` как зависимость для разработки, если настроенному workflow требуется постоянная установка CLI. Конфигурация фреймворка Vite не добавляет `gt`; продолжайте запускать его с помощью `npx gt`.
5. При желании выбирает или создает проект и создает ключ среды выполнения для разработки в `.env.local`. Вход в систему выполняется только для этого шага, до изменения файлов; при наличии используется явно указанный ключ инструментов или сохраненный сеанс входа. При настройке Vite и TanStack Start с локальным хранилищем задается вопрос, включить ли живой перевод для разработки (по умолчанию — нет); при отказе вход, обнаружение проекта и создание ключа пропускаются.

*Примечание: Шаг настройки React экспериментальный и может работать не во всех проектах. Проверьте внесенные изменения.*

### Выбор проекта и учётные данные для среды выполнения

Если ID проекта уже настроен, используется он. В противном случае мастер выводит список [доступных проектов](/docs/platform/openapi/reference/project/list-projects), из которого можно выбрать нужный, или предлагает создать новый. При создании проекта выберите организацию, в которой у вас есть разрешение на создание проектов. Если таких нет, создайте организацию в Dashboard или запросите доступ у администратора. В интерактивном режиме имя проекта по умолчанию совпадает с именем каталога приложения; в неинтерактивном (headless) режиме необходимо указать `--project-name`. Проект создаётся с выбранной вами исходной локалью.

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

При выдаче создаётся один ключ с именем `Development key (gt init)` и единственным разрешением `project:translations:generate`. Записываются ID проекта и ключ разработки; секрет при этом не выводится, а существующий `GT_API_KEY` не изменяется. Этот ключ среды выполнения не подходит для аутентификации последующих команд управления CLI — используйте данные входа или отдельный ключ инструментов с соответствующей областью действия (см. [учётные данные](/docs/cli/guides/configuring#credentials)).

Если для того же проекта уже есть учётные данные среды выполнения фреймворка, выдачу ключа можно пропустить. Она также пропускается в конфигурациях, работающих только на стороне сервера, если заданы ID проекта и `GT_API_KEY`; фреймворки, выполняющие перевод в браузере, не считают `GT_API_KEY` без префикса ключом среды выполнения.

Генерируются переменные `GT_PROJECT_ID` и `GT_DEV_API_KEY`; для фреймворков, выполняющих перевод в браузере, к ним добавляются следующие префиксы:

* Next.js (App Router и Pages Router): `NEXT_PUBLIC_`
* Vite и TanStack Start: `VITE_`
* Gatsby: `GATSBY_`
* React: `REACT_APP_`
* Redwood: `REDWOOD_ENV_`

В остальных конфигурациях используются переменные без префикса. Ключи разработки предназначены только для локальной разработки; об учётных данных для production см. [учётные данные Next.js](/docs/react/nextjs/config#credentials). Никогда не включайте API-ключи в развёртываемые бандлы для браузера или мобильных устройств.

## Флаги [#flags]

Флаги заранее отвечают на вопросы мастера, поэтому при запуске он спрашивает только о том, что осталось. Те же флаги конфигурации и учётных данных работают и с [`gt configure`](/docs/cli/reference/commands/configure).

### Режим настройки

| Параметр              | Описание                                                                                                                                                                                     | Тип       | Необязательно | По умолчанию     |
| --------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ---------------- |
| `--no-interactive`    | Не запрашивать ввод. Команда останавливается до изменения файлов и перечисляет параметры, которые ещё нужно указать. Включается автоматически, если stdin или stdout не является терминалом. | `boolean` | Да            | `false`          |
| `--json`              | Выводить события входа, передачи управления и результата в stdout в виде строк JSON, а весь остальной вывод — в stderr. Подразумевает `--no-interactive`.                                    | `boolean` | Да            | `false`          |
| `--defaults`          | Принимать рекомендуемое значение для каждого локального параметра, не заданного ни флагом, ни в `gt.config.json`. Проекты и ключи при этом не создаются.                                     | `boolean` | Да            | —                |
| `--no-defaults`       | Не предлагать рекомендуемые значения по умолчанию.                                                                                                                                           | `boolean` | Да            | —                |
| `-c, --config <path>` | Путь к файлу конфигурации.                                                                                                                                                                   | `string`  | Да            | `gt.config.json` |

### Конфигурация

| Параметр                        | Описание                                                                                                                                                                                                                                                                                  | Тип        | Необязательно | По умолчанию                                            |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------- | ------------------------------------------------------- |
| `--src <paths...>`              | Glob-шаблоны для исходного кода приложения.                                                                                                                                                                                                                                               | `string[]` | Да            | [Зависит от фреймворка](/docs/cli/reference/config#src) |
| `--default-locale <locale>`     | Локаль по умолчанию, например `en`.                                                                                                                                                                                                                                                       | `string`   | Да            | `en` при `--defaults`                                   |
| `--locales <locales...>`        | Целевые локали, например `fr es`. Заменяет список, заданный в конфигурации.                                                                                                                                                                                                               | `string[]` | Да            | —                                                       |
| `--storage <storage>`           | Где хранятся переводы фреймворка: `local` или `cdn`. `gt-vue` поддерживает только `local`.                                                                                                                                                                                                | `string`   | Да            | `local` при `--defaults`                                |
| `--translations-dir <path>`     | Каталог для локальных файлов перевода.                                                                                                                                                                                                                                                    | `string`   | Да            | Зависит от фреймворка при `--defaults`                  |
| `--file-formats <formats...>`   | `json`, `md`, `mdx`, `ts`, `js`, `yaml` или `none`. Заменяет ранее выбранные форматы из этого списка; остальные настроенные форматы сохраняются, но выводится предупреждение.                                                                                                             | `string[]` | Да            | `none` при `--defaults` в проектах на фреймворках       |
| `--file-patterns <patterns...>` | Шаблоны вида `<format>=<glob>`, содержащие `[locale]`, например `json=./locales/[locale]/*.json`. Также задают выбор формата.                                                                                                                                                             | `string[]` | Да            | `./**/[locale]/*.<format>` при `--defaults`             |
| `--package-manager <id>`        | Менеджер пакетов для установки зависимостей: `npm`, `yarn_v1`, `yarn_v2`, `pnpm`, `bun` или `deno`. Определяется по ближайшему полю `packageManager` или `devEngines`, lock-файлу или распознанному признаку workspace — поиск ведётся вверх вплоть до корня Git-репозитория. | `string`   | Да            | Определяется автоматически                              |

### Учётные данные проекта и учётные данные для разработки

| Параметр                | Описание                                                                                                                                                                                   | Тип       | Необязательно | По умолчанию                                        |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------- | ------------- | --------------------------------------------------- |
| `--dev-credentials`     | Сохранить ID проекта и новый ключ разработки в `.env.local`. Чтобы пропустить этот шаг, используйте `--no-dev-credentials`.                                                                | `boolean` | Да            | —                                                   |
| `--live-translations`   | Локальное хранилище Vite или TanStack Start: настроить живой перевод для разработки (при этом создаётся ключ разработки). Чтобы пропустить этот шаг, используйте `--no-live-translations`. | `boolean` | Да            | `false` при `--defaults`                            |
| `--project-id <id>`     | Существующий проект, к которому относятся учётные данные для разработки.                                                                                                                   | `string`  | Да            | —                                                   |
| `--create-project`      | Создать новый проект для учётных данных для разработки.                                                                                                                                    | `boolean` | Да            | `false`                                             |
| `--org-id <id>`         | Организация, которой будет принадлежать новый проект. Требуется, только если у вас есть доступ к нескольким организациям.                                                                  | `string`  | Да            | —                                                   |
| `--project-name <name>` | Название нового проекта.                                                                                                                                                                   | `string`  | Да            | Имя каталога приложения (при интерактивном запросе) |

### Конфигурация фреймворка

Эти флаги относятся только к `gt init`. В проектах `gt-vue` команда `gt init` принимает флаги [`gt configure`](/docs/cli/reference/commands/configure) и пропускает настройку React.

| Параметр                  | Описание                                                                                                                                                                                                                                             | Тип       | Необязательно | По умолчанию                               |
| ------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------- | ------------- | ------------------------------------------ |
| `--locadex`               | Mintlify и Next.js App Router: передать настройку AI-агенту Locadex через GitHub. Чтобы выполнить настройку локально, используйте `--no-locadex`.                                                                                                    | `boolean` | Да            | `false` с `--defaults`                     |
| `--react-setup`           | Проекты React: установить библиотеку, а для Next.js App Router, Vite или TanStack Start — также добавить её настройку (см. [Как это работает](#how-it-works)). Чтобы оставить исходный код приложения без изменений, используйте `--no-react-setup`. | `boolean` | Да            | `true` с `--defaults`                      |
| `--framework <framework>` | React-фреймворк для `--react-setup`. Имеет приоритет над автоматическим определением.                                                                                                                                                                | `string`  | Да            | Определяется автоматически, с `--defaults` |
| `--format`                | Next.js App Router: отформатировать изменённые при настройке файлы с помощью обнаруженного форматировщика. Чтобы пропустить форматирование, используйте `--no-format`.                                                                               | `boolean` | Да            | `true` с `--defaults`                      |

## Запуски в режиме headless [#headless]

При неинтерактивном запуске каждый ответ разрешается сначала из соответствующего флага, затем из `gt.config.json`, а если задан `--defaults` — из рекомендуемого значения. Если ответ так и не найден, команда завершается, не изменяя файлы, и выводит список параметров, которые нужно передать. Учётные данные для разработки по умолчанию никогда не создаются. Для локального хранилища в Vite и TanStack Start передайте `--live-translations` вместе с ID проекта или `--create-project --project-name <name>` либо передайте `--no-live-translations`. В остальных случаях используйте `--dev-credentials` или `--no-dev-credentials`. Не сочетайте флаги из семейств `--[no-]live-translations` и `--[no-]dev-credentials`: CLI отклоняет любое такое сочетание, не изменяя файлы. Если у проекта уже есть учётные данные среды выполнения, этот шаг пропускается.

Setup выполняет вход, только если создаёт учётные данные, а ключа инструментов и сохранённого сеанса входа нет. Без терминала вход выполняется по коду устройства: команда ждёт, пока пользователь его подтвердит, и не открывает браузер. С флагом `--json` команда выводит по одному JSON-объекту на строку; тип объекта определяется полем `type`:

* `authorization_required` — `verificationUri`, `userCode` и, если доступно, `verificationUriComplete`.
* `handoff` — `url` Locadex на GitHub с `reason: "locadex"`.
* `result` — `command`, `outcome` (`success`, `needs_human_action` или `failed`), `completedSteps` и, если есть, `url`, `actions` с действиями, которые нужно выполнить вручную, `missingOptions` и `error`.

Неизменённые `gt.config.json` и сгенерированные файлы загрузчика переводов в список `completedSteps` не попадают. Если какой-либо из этих файлов изменился, соответствующий шаг указывает, был он создан или обновлён.

## Пример [#example]

```bash
# Запустить полный мастер настройки
npx gt init

# Запуск gt без команды делает то же самое
npx gt

# Неинтерактивная локальная настройка: без создания нового проекта и ключа разработки
npx gt init --no-interactive --defaults --locales fr es --no-dev-credentials --json
```

## Другие примечания [#notes]

* `init` использует ту же конфигурацию, loader, установку CLI и процесс получения учётных данных, что и [`gt configure`](/docs/cli/reference/commands/configure), и дополнительно выполняет экспериментальный шаг настройки React. [`gt setup`](/docs/cli/reference/commands/setup) при этом не запускается — эта команда загружает ваши исходные файлы.
* В монорепозитории запускайте `init` из каталога конкретного приложения. В корне workspace с `pnpm-workspace.yaml` или полем `workspaces` команда завершится без изменения файлов, если только в нём не указано одно лишь само приложение.
* Автоматическая настройка недоступна для приложений Electron.
* API-ключ и ID проекта не нужны для использования `gt-react` или `gt-next` — они требуются только для вызова API General Translation.
* Если экспериментальная настройка React не подходит для вашего проекта, настройте его вручную по документации [React](/docs/react/react-quickstart).
* Для создания учётных данных для разработки должен быть установлен Git. Файл `.env.local` не должен отслеживаться и должен быть добавлен в `.gitignore`; используйте стандартную конфигурацию Git вашего репозитория. Init отказывается работать с небезопасными расположениями файлов и переопределениями Git. Символическая ссылка должна указывать на существующий обычный файл, отвечающий тем же требованиям безопасности. Уже существующие посторонние переменные окружения сохраняются.
* Запускайте команды настройки по одной. Если обновить `.env.local` не удаётся (в том числе из-за неподдерживаемых многострочных присваиваний), только что созданные проекты или ключи могут остаться. Уже внесённые изменения конфигурации и зависимостей не откатываются.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
