メインコンテンツへスキップ

Documentation Index

Fetch the complete documentation index at: https://docs.arkor.ai/llms.txt

Use this file to discover all available pages before exploring further.

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 形式で記載しますが、他のパッケージマネージャーでも同じように動きます。

コマンド

コマンド役割
arkor initカレントディレクトリに src/arkor/index.ts + arkor.config.ts をスキャフォールド。
arkor devStudiohttp://localhost:4000 で起動(設定可)。
arkor buildsrc/arkor/index.ts.arkor/build/index.mjs にバンドル。
arkor startビルド成果物を実行(無いときは自動ビルド)。
arkor loginサインイン。フラグなしでは対話ピッカー(初期選択: Anonymous)を表示。--oauth でループバック上の Arkor Cloud OAuth(PKCE)フロー、--anonymous でピッカーをスキップして使い捨てトークン。
arkor logout~/.arkor/credentials.json を削除。
arkor whoami現在の identity と到達できる org を表示。

コマンド共通の慣例

  • --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 行警告を出します。WarningSunset ヘッダ(あれば)はメッセージのフォーマットに使われ、それ単独で警告をトリガーすることはありません。

環境変数

変数効果
DO_NOT_TRACK=1すべてのコマンドでテレメトリを無効化。永続テレメトリ ID ファイルは作成も読込もされません。
ARKOR_TELEMETRY_DISABLED=1DO_NOT_TRACK と同じ。DO_NOT_TRACK で他ツールをゲートしているがスイッチを分けたい構成のための Arkor 専用エイリアス。
ARKOR_TELEMETRY_DEBUG=1テレメトリモジュール内部の冗長ログを有効化(init 失敗、identity ファイルの read/write エラー、capture 失敗、shutdown エラー)。このフラグが ON でも テレメトリは送信されます。診断補助で、dry-run スイッチではありません。送信を止めるには DO_NOT_TRACK=1ARKOR_TELEMETRY_DISABLED=1 を使ってください。
CI=1(または stdout が非 TTY)非対話モードを強制。arkor init はプロンプトをスキップしてフラグで渡された値(--yes 時は組み込みのデフォルト)を使い、--git--yes 指定時は git init が確認なしで走り、それ以外では黙ってスキップされます。arkor init § CI / 非対話シェル を参照。

ロードマップ上

CLI は ARKOR_CLOUD_API_URL を読み、設定されていればクラウド API のエンドポイントとして使います(packages/arkor/src/core/credentials.tsdefaultArkorCloudApiUrl)。ただし、デフォルト以外のエンドポイント(セルフホストやステージング)を指すことは まだ 安定したユーザー向けノブではありません: この環境変数は内部用で予告なく変わる可能性があり、別エンドポイントへの互換性保証もありません。セルフホスト/ステージングデプロイへのファーストクラス対応はロードマップにあります。

プログラムからの呼び出し

arkor パッケージは runTrainer を再エクスポートしているので、arkor start 経由でなく自分の TypeScript コードから学習を駆動できます:
import { runTrainer } from "arkor";

await runTrainer(); // src/arkor/index.ts を解決し trainer.start() + .wait() を呼ぶ
CLI のコマンドランナー本体(runBuildrunStartrunDev など)は意図的に 公開面ではなく、予告なく変わる可能性があります。学習を自分のコードに組み込みたいなら runTrainer を使うか、trainer.start() / trainer.wait() を直接呼んでください。

プロジェクト状態 vs ユーザー状態

CLI が読み書きする場所は 2 つです:
  • .arkor/(プロジェクトごと、gitignore 済み): state.json(プロジェクトのルーティング)と build/index.mjs(バンドルされたトレーナー)。
  • ~/.arkor/(ユーザーごと): credentials.json(認証)と studio-token(起動ごとの CSRF トークン、一時的)。
ファイル単位の説明は プロジェクト構成 を参照。