オプション
-
--host <url>認証先の API ホストです。 -
--token <key>プロンプトの代わりに、対話なしでキーを渡します。
例
sonenta login --host https://api.sonenta.com CLI
v0.2.1 · npm · MITダッシュボードで操作するすべてを、軽量でスクリプト可能なコマンドラインで実行できます。既存の i18next プロジェクトのインポート、翻訳の push と pull、CI と remote の差分比較、CDN リリースの公開、offline-first ビルド向けのバンドルのスナップショット作成まで対応します。MIT ライセンス、npm で配布しています。
破壊的変更 · 0.1 → 0.2
CLI 全体が MCP サーフェス経由で動作するようになり、mcp:* スコープの API キーが必要です。プロジェクトに限定されたキーは 403 を返します。ダッシュボードの Org Settings → API Keys で新しいキーを生成し、0.1 で使用していたキーはすべて再発行してください。
npm のみで、CLI 用の Homebrew フォーミュラはありません。Node 18 以降が必要で、sonenta コマンドをインストールします。
terminal 1# グローバルに一度だけインストール2npm i -g @sonenta/cli 4# またはインストールせずに実行5npx @sonenta/cli <command> 各呼び出しは mcp:* スコープで Authorization: ApiKey <prefix>.<secret> を送信します。一度ログインしてキーを ~/.sonenta/credentials に保存するか、CI では SONENTA_TOKEN を設定してください。
terminal 1# インタラクティブ — ホストごとにキーを ~/.sonenta/credentials (0600) に保存2sonenta login --host https://api.sonenta.com3API key: snt_live_••••••••.••••••••••••••••4✓ https://api.sonenta.com 用に保存しました 6# CI — プロンプトなし、キーは環境変数から読み込まれます7export SONENTA_TOKEN=snt_live_<prefix>.<secret>8sonenta push 解決順序(先に見つかったものが優先されます):環境変数 SONENTA_TOKEN、次にアクティブなホストの ~/.sonenta/credentials です。キーは Org Settings → API Keys で mcp:* スコープで発行してください。
sonenta init はリポジトリに sonenta.config.json を書き込みます(作業ディレクトリから上へたどって解決されます)。認証情報はユーザーごとに別途管理され、コミットされることはありません。
sonenta.config.json 1# リポジトリにコミットされます — ここにシークレットは含めません2{3 "host": "https://api.sonenta.com",4 "project_uuid": "<project_uuid>",5 "version_slug": "main"6} ~/.sonenta/credentials 1# ~/.sonenta/credentials — モード 0600、ユーザーごと、コミット厳禁2{ "default": "https://api.sonenta.com",3 "hosts": {4 "https://api.sonenta.com": { "api_key": "snt_live_..." }5 } } version_slug のデフォルトは main です。API キーは sonenta.config.json に含めないでください。認証情報ファイルまたは SONENTA_TOKEN にのみ置くべきものです。
用途別にグループ化されています。認証と設定のセットアップ、プロジェクトの調査、翻訳の同期などです。すべてのコマンドは MCP サーフェス経由で動作し、sonenta.config.json を尊重します。
--host <url> 認証先の API ホストです。 --token <key> プロンプトの代わりに、対話なしでキーを渡します。 sonenta login --host https://api.sonenta.com オプションはありません。
sonenta logout オプションはありません。
sonenta whoami --project <uuid> 設定に書き込むプロジェクトの UUID です(必須)。 --version <slug> 対象とするバージョンの slug です(デフォルトは main)。 --force 既存の設定ファイルを上書きします。 sonenta init --project <uuid> --version main オプションはありません。
sonenta projects list --namespace <slug> 1 つの namespace に限定します。 sonenta keys list --namespace common --language <code> 差分比較を 1 つの言語に限定します。 --namespace <slug> 差分比較を 1 つの namespace に限定します。 --src <dir> ソースディレクトリです(デフォルトは locales)。 sonenta status --language <code> 言語でフィルタリングします。 --namespace <slug> namespace でフィルタリングします。 --limit <n> 行数の上限を設定します。 sonenta missing --limit 50 --dry-run プレビューのみで、何も送信しません。 --status <draft|translated> 受信ステータスです(デフォルトは translated)。 --language <code> パスから推測する代わりに、言語を強制指定します。 --namespace <slug> namespace を強制指定します(単独の <lang>.json には必須)。 --version <slug> デフォルト以外のバージョンを対象とします。 sonenta import locales/fr/common.json --src <dir> ソースディレクトリです(デフォルトは locales)。 --dry-run プレビューのみで、何も送信しません。 --status <state> 受信ステータスです(デフォルトは translated)。 sonenta push --dry-run --language <code> 1 つの言語に限定します。 --namespace <slug> 1 つの namespace に限定します。 --dest <dir> 出力先ディレクトリです(デフォルトは locales)。 sonenta pull --language fr --nested フラットなキーの代わりにネストされたツリーを出力します。 --out <dir> stdout の代わりにディレクトリへファイルを書き出します。 sonenta export --nested --out ./dump --version <slug> 公開するバージョンです(デフォルトは main)。 --dry-run プレビューのみで、何も公開しません。 sonenta releases publish --format <ts|json> 出力フォーマット:ts(デフォルト)または json です。 --out <file> stdout の代わりにファイルへ書き出します。 --cdn <base> CDN ベースです(デフォルトは https://cdn.sonenta.com)。 sonenta snapshot --out src/sonenta-bundles.ts すべてのコマンドは --host <url> も受け付け、設定済みの API ホストを 1 回の実行に限り上書きできます。
0.1 からアップグレードしますか? 2 つの変更について対応が必要です。
mcp:* スコープで再発行してください。プロジェクトに限定されたキーは現在 403 を返します。 push は現在、locales/ ツリー全体を 1 回のインポート呼び出しで送信します(以前はキー作成に加えて翻訳ごとに PUT を行っていました)。冪等であり、作成 / 更新 / 変更なしの件数を表示します。 import、export、releases publish、snapshot、projects list は 0.2.0 で新たに追加されました。