# gt: General Translation CLI tool: gt init
URL: https://generaltranslation.com/ja/docs/cli/reference/commands/init.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: General Translation のセットアップウィザードを実行して、プロジェクトを設定します。`gt init` コマンドの API リファレンス。

`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 のプロジェクトでは、代わりに [Locadex](/docs/platform/locadex/quickstart) AI Agent の接続を提案します。
2. React ベースのプロジェクトでは、必要に応じて対応する Runtime をインストールし、フレームワークを設定します (実験的) 。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`、`src/start.ts` 内の [`gtMiddleware`](/docs/react/tanstack-start/reference/functions/gt-middleware)、`src/router.tsx` 内の [`initializeGT`](/docs/react/tanstack-start/setup#initialize)、およびルートルート内の [`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. 設定されたワークフローで永続的な CLI のインストールが必要な場合、`gt` を開発依存関係としてインストールします。Vite フレームワークのセットアップでは `gt` は追加されません。引き続き `npx gt` で実行してください。
5. 必要に応じてプロジェクトを選択または作成し、開発用の Runtime キーを発行して `.env.local` に書き込みます。サインインはこの手順でのみ、ファイルを変更する前に行われます。明示的に指定されたツール用キーや保存済みのログイン情報がある場合は、それを使用します。ローカル構成の Vite および TanStack Start のセットアップでは、開発時のライブ翻訳を有効にするかどうかを確認します (デフォルトは「いいえ」) 。有効にしない場合、サインイン、プロジェクトの検出、キーの作成はスキップされます。

*注: React のセットアップ手順は実験的なため、すべてのプロジェクトで動作するとは限りません。適用される変更内容を確認してください。*

### プロジェクトの選択と Runtime 認証情報

設定済みの プロジェクト ID があれば、それが再利用されます。ない場合、ウィザードは[アクセス可能なプロジェクト](/docs/platform/openapi/reference/project/list-projects)を一覧表示して選択を求めるか、新規作成を提案します。プロジェクトを作成する場合は、プロジェクト作成権限を持つ Organization を選択してください。該当する Organization がない場合は、Dashboard で Organization を作成するか、管理者にアクセス権を依頼してください。対話モードでは、プロジェクト名のデフォルトはアプリディレクトリ名です。ヘッドレスで作成する場合は `--project-name` が必要です。作成時には、選択したソースロケールが使用されます。

既存のプロジェクトを選択する場合、Organization のプロジェクト作成権限は不要です。ただし、キーのプロビジョニングには、引き続きキーの書き込み権限と Runtime 生成を委任する権限が必要です。明示的に指定したツール用キーが無効または権限不足の場合も、ログインにフォールバックすることはありません。

プロビジョニングでは、`project:translations:generate` のみを持つ `Development key (gt init)` という名前のキーが 1 つ作成されます。プロジェクト ID と開発用キーは書き込まれますが、シークレットは表示されず、既存の `GT_API_KEY` も変更されません。この Runtime キーは、以降の CLI 管理コマンドの認証には使用できません。ログインを使用するか、別途スコープを設定したツール用キーを使用してください ([認証情報](/docs/cli/guides/configuring#credentials)を参照) 。

同じプロジェクトのフレームワーク用 Runtime 認証情報がすでに存在する場合は、プロビジョニングをスキップできます。プロジェクト ID と `GT_API_KEY` が設定されたサーバー専用の構成でもスキップされます。なお、ブラウザで翻訳を行うフレームワークでは、プレフィックスのない `GT_API_KEY` は Runtime キーとして扱われません。

生成される変数は `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_`

その他の構成では、プレフィックスのない変数が使用されます。開発用キーはローカル開発専用です。本番環境の認証情報については、[Next.js の認証情報](/docs/react/nextjs/config#credentials)を参照してください。デプロイするブラウザ向けやモバイル向けのバンドルには、絶対に API キーを含めないでください。

## フラグ [#flags]

フラグを指定するとウィザードの質問にあらかじめ回答できるため、実行時には残りの項目だけが尋ねられます。設定フラグと認証情報フラグは、[`gt configure`](/docs/cli/reference/commands/configure) でも同様に使用できます。

### セットアップモード

| パラメータ                 | 説明                                                                                                            | 型         | 任意 | デフォルト            |
| --------------------- | ------------------------------------------------------------------------------------------------------------- | --------- | -- | ---------------- |
| `--no-interactive`    | 入力を一切求めません。ファイルを変更する前に停止し、まだ指定が必要なオプションを一覧表示します。stdin または stdout がターミナルでない場合は自動的に有効になります。                     | `boolean` | はい | `false`          |
| `--json`              | サインイン、ハンドオフ、結果の各イベントを JSON Lines 形式で stdout に出力し、それ以外の出力はすべて stderr に出力します。指定すると `--no-interactive` も有効になります。 | `boolean` | はい | `false`          |
| `--defaults`          | フラグや `gt.config.json` で指定されていないローカルの選択項目について、すべて推奨値を採用します。プロジェクトやキーが作成されることはありません。                            | `boolean` | はい | —                |
| `--no-defaults`       | 推奨のデフォルト値を提示しません。                                                                                             | `boolean` | はい | —                |
| `-c, --config <path>` | 設定ファイルのパス。                                                                                                    | `string`  | はい | `gt.config.json` |

### 設定

| パラメータ                           | 説明                                                                                                                                                                                        | 型          | 任意 | デフォルト                                           |
| ------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | -- | ----------------------------------------------- |
| `--src <paths...>`              | アプリのソースコードを指定するグロブパターン。                                                                                                                                                                   | `string[]` | はい | [フレームワークごとに異なる](/docs/cli/reference/config#src) |
| `--default-locale <locale>`     | デフォルトロケール (例: `en`) 。                                                                                                                                                                     | `string`   | はい | `--defaults` 指定時は `en`                          |
| `--locales <locales...>`        | ターゲットロケール (例: `fr es`) 。設定済みのリストを置き換えます。                                                                                                                                                  | `string[]` | はい | —                                               |
| `--storage <storage>`           | フレームワークの翻訳の保存先 (`local` または `cdn`) 。`gt-vue` は `local` のみに対応しています。                                                                                                                        | `string`   | はい | `--defaults` 指定時は `local`                       |
| `--translations-dir <path>`     | ローカル翻訳ファイルを格納するディレクトリ。                                                                                                                                                                    | `string`   | はい | `--defaults` 指定時はフレームワークごとに異なる                  |
| `--file-formats <formats...>`   | `json`、`md`、`mdx`、`ts`、`js`、`yaml`、または `none`。これらのうち設定済みの選択内容を置き換えます。それ以外の設定済みの形式は警告を表示したうえで保持されます。                                                                                       | `string[]` | はい | フレームワークプロジェクトでは `--defaults` 指定時に `none`        |
| `--file-patterns <patterns...>` | `[locale]` を含む `<format>=<glob>` 形式のパターン (例: `json=./locales/[locale]/*.json`) 。指定した形式が選択されます。                                                                                            | `string[]` | はい | `--defaults` 指定時は `./**/[locale]/*.<format>`    |
| `--package-manager <id>`        | インストールに使用するパッケージマネージャー (`npm`、`yarn_v1`、`yarn_v2`、`pnpm`、`bun`、または `deno`) 。自動検出では、Git のルートまで遡り、最も近い場所にある `packageManager` フィールドまたは `devEngines` フィールド、ロックファイル、または既知のワークスペースの目印をもとに判定します。 | `string`   | はい | 自動検出                                            |

### プロジェクトと開発用認証情報

| パラメータ                   | 説明                                                                                                               | 型         | 任意 | デフォルト                     |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------- | --------- | -- | ------------------------- |
| `--dev-credentials`     | プロジェクトIDと新しい開発用キーを `.env.local` に保存します。スキップするには `--no-dev-credentials` を使用します。                                   | `boolean` | はい | —                         |
| `--live-translations`   | ローカル Vite または TanStack Start ストレージ：開発中のライブ翻訳をセットアップします (開発用キーが作成されます) 。スキップするには `--no-live-translations` を使用します。 | `boolean` | はい | `--defaults` 指定時は `false` |
| `--project-id <id>`     | 開発用認証情報に使用する既存のプロジェクト。                                                                                           | `string`  | はい | —                         |
| `--create-project`      | 開発用認証情報に使用する新しいプロジェクトを作成します。                                                                                     | `boolean` | はい | `false`                   |
| `--org-id <id>`         | 新しいプロジェクトを所有する Organization。アクセス可能な Organization が複数ある場合にのみ必要です。                                                 | `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：GitHub 経由でセットアップを Locadex AI Agent に任せます。ローカルでセットアップする場合は `--no-locadex` を使用します。                                                           | `boolean` | はい | `--defaults` 指定時は `false` |
| `--react-setup`           | React プロジェクト：ライブラリをインストールし、Next.js App Router、Vite、または TanStack Start の場合は必要なセットアップも追加します ([仕組み](#how-it-works)を参照) 。アプリケーションのソースコードを変更したくない場合は `--no-react-setup` を使用します。 | `boolean` | はい | `--defaults` 指定時は `true`  |
| `--framework <framework>` | `--react-setup` で使用する React フレームワーク。自動検出の結果より優先されます。                                                                                                                       | `string`  | はい | `--defaults` 指定時は自動検出     |
| `--format`                | Next.js App Router：セットアップで変更されたファイルを、検出されたフォーマッタで整形します。整形をスキップするには `--no-format` を使用します。                                                                                   | `boolean` | はい | `--defaults` 指定時は `true`  |

## ヘッドレス実行 [#headless]

非対話型の実行では、各回答をまずフラグから、次に `gt.config.json` から、さらに `--defaults` が設定されている場合は推奨値から解決します。それでも未解決の回答がある場合は、ファイルを変更する前に終了し、指定すべきオプションを一覧表示します。開発用の認証情報はデフォルトでは作成されません。ローカルの Vite および TanStack Start ストレージの場合は、プロジェクト ID とともに `--live-translations` を指定するか、`--create-project --project-name <name>` を指定するか、`--no-live-translations` を指定してください。それ以外の構成では、`--dev-credentials` または `--no-dev-credentials` を使用してください。`--[no-]live-translations` 系と `--[no-]dev-credentials` 系のフラグは併用できません。どの組み合わせを指定しても、CLI はファイルを変更する前にエラーとして拒否します。プロジェクトに既存の Runtime 認証情報がある場合、このステップはスキップされます。

セットアップ時にサインインが行われるのは、認証情報をプロビジョニングする必要があり、かつツール用キーも保存済みのログイン情報もない場合に限られます。ターミナルがない環境では、サインインにデバイスコードを使用し、ユーザーが承認するまで待機します。ブラウザは開きません。`--json` を指定すると、コマンドは 1 行につき 1 つの JSON オブジェクトを出力します。各オブジェクトは `type` フィールドで識別されます。

* `authorization_required` — `verificationUri`、`userCode`、および利用可能な場合は `verificationUriComplete`。
* `handoff` — Locadex GitHub の `url` と `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` は、設定、ローダー、CLI のインストール、認証情報のフローを [`gt configure`](/docs/cli/reference/commands/configure) と共通で使用し、さらに実験的な React セットアップ手順を実行します。なお、ソースファイルをアップロードする [`gt setup`](/docs/cli/reference/commands/setup) は実行されません。
* モノレポでは、対象のアプリディレクトリから `init` を実行してください。`pnpm-workspace.yaml` または `workspaces` フィールドを含むワークスペースルートでは、そこにアプリ自体のみが列挙されている場合を除き、コマンドはファイルを変更せずに停止します。
* Electron アプリケーションでは自動セットアップを利用できません。
* APIキーとプロジェクト ID は、`gt-react` や `gt-next` の利用には不要です。必要なのは General Translation API を呼び出す場合だけです。
* 実験的な React セットアップがお使いのプロジェクトで動作しない場合は、[React](/docs/react/react-quickstart) の Docs を参照して手動でセットアップしてください。
* 開発用認証情報をプロビジョニングするには、Git がインストールされている必要があります。`.env.local` は Git の追跡対象外とし、ignore 設定に含めてください。また、リポジトリの通常の Git 設定を使用してください。init は安全でないファイルの場所や Git 設定の上書きを検出すると処理を拒否します。シンボリックリンクを使う場合は、同じ安全要件を満たす既存の通常ファイルを指している必要があります。既存の無関係な環境変数はそのまま保持されます。
* セットアップコマンドは一度に 1 つずつ実行してください。サポートされていない複数行の代入などが原因で `.env.local` を更新できなかった場合、新しく作成されたプロジェクトやキーが残ることがあります。また、それ以前に行われた設定や依存関係の変更は元に戻されません。

## Sitemap

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