arkor CLI は Arkor プロジェクトを取り巻くコマンド面です。プロジェクト生成ツール(pnpm create arkor)が arkor をローカル devDependency としてインストールするので、CLI をグローバルにインストールしていない限り、素の arkor ではなく利用しているパッケージマネージャーのローカル bin 実行コマンド(例: pnpm exec arkor <command>、npx arkor <command>、yarn arkor <command>、bunx arkor <command>)を使ってください。以降の例は pnpm 形式で記載しますが、他のパッケージマネージャーでも同じように動きます。
コマンド
コマンド共通の慣例
--help/-hはすべてのコマンドで使えます。arkor <command> --helpでフラグ一覧と使い方が表示されます。arkor --version/-Vはインストール済み SDK バージョン(パッケージがエクスポートしているSDK_VERSIONと同じ)を表示します。- 終了コード。 成功は 0。ほとんどのコマンドは失敗時(未捕捉の throw、ビルドエラーなど)に非ゼロで終わります。
arkor whoamiは意図的な例外で、失敗を stdout に出しても通常のクラウド API エラー(Failed to fetch /v1/me (<status>)、/v1/meの取得に失敗しました)では 0 で終了し、クラウド API が 426(SDK が古すぎる)を返したときだけprocess.exitCode = 1を立てます。whoamiの失敗を検知したいラッパースクリプトは終了コードではなく stdout を grep してください。 - テレメトリー。 すべてのコマンドは小さな計測ラッパー越しに走るので、利用イベントを PostHog に送れます。完全なオプトアウト/デバッグの仕組みは下記の 環境変数 を参照。
- 非推奨通知。 クラウド API のレスポンスに
Deprecation: trueが付いていると、CLI は実行終了時に推奨アップグレードコマンド付きの 1 行警告を出します。WarningとSunsetヘッダー(あれば)はメッセージのフォーマットに使われ、それ単独で警告をトリガーすることはありません。
環境変数
ロードマップ上
CLI はARKOR_CLOUD_API_URL を読み、設定されていればクラウド API のエンドポイントとして使います(packages/arkor/src/core/credentials.ts の defaultArkorCloudApiUrl)。ただし、デフォルト以外のエンドポイント(セルフホストやステージング)を指すことは まだ 安定したユーザー向けノブではありません: この環境変数は内部用で予告なく変わる可能性があり、別エンドポイントへの互換性保証もありません。セルフホスト/ステージングデプロイへのファーストクラス対応はロードマップにあります。
プログラムからの呼び出し
arkor パッケージは runTrainer を再エクスポートしているので、arkor start 経由でなく自分の TypeScript コードから学習を駆動できます:
runBuild、runStart、runDev など)は意図的に 公開面ではなく、予告なく変わる可能性があります。学習を自分のコードに組み込みたいなら runTrainer を使うか、trainer.start() / trainer.wait() を直接呼んでください。
プロジェクト状態 vs ユーザー状態
CLI が読み書きする場所は 2 つです:.arkor/(プロジェクトごと、gitignore 済み):state.json(プロジェクトのルーティング)とbuild/index.mjs(バンドルされたトレーナー)。~/.arkor/(ユーザーごと):credentials.json(認証)とstudio-token(起動ごとの CSRF トークン、一時的)。