Skip to main content

arkor init

src/arkor/index.tssrc/arkor/trainer.tsarkor.config.ts、スターター package.jsonカレントディレクトリー に生成します。既存リポジトリに Arkor を追加したいときに使います(pnpm create arkor my-app のフローは同じツールを 1 つ上のディレクトリーで実行します)。 デフォルトでは部分的に対話的です。プロジェクト名とスターターテンプレートを尋ね、--skip-install が指定されない限り(確認プロンプトなしで)パッケージマネージャの install を自動実行し、git init の前にだけ確認します。パッケージマネージャが解決できない(--use-* フラグなし、npm_config_user_agent からの検出も失敗)ときは install ステップはスキップされ、最後に手動 install のヒントが表示されます。

概要

オプション

--git--skip-git は排他です。両方渡すと例外が発生します。

テンプレート

3 つとも同じ小型のオープンウェイトベース(unsloth/gemma-4-E4B-it)と HuggingFace 上の厳選公開データセットを組み合わせています。

パッケージマネージャ検出

--use-* フラグが渡されないとき、CLI は npm_config_user_agent を見てどのパッケージマネージャから呼ばれたかを検出します(これは corepack が使う標準の仕組みなので、pnpm dlxyarn dlxbunx などすべて動きます)。 検出に失敗してフラグもなければ install ステップはスキップされ、手動 install のヒントが最後に表示されます。

Git ポリシー

arkor initgit init + 初回コミットを実行するかどうかを次のルールを上から評価して決めます:
  1. カレントディレクトリーが既に git リポジトリ内なら、スキップ(ログを出す)。
  2. --skip-git が渡されていれば、スキップ。
  3. --git または -y が渡されていれば、確認なしで実行。
  4. 対話的なシェルでは尋ねる(デフォルト: yes)。
  5. 非対話的でフラグなしなら、スキップ。
git init は install の に走るので、パッケージマネージャが生成したロックファイルが初回コミットに含まれます。コミット署名に失敗(GPG agent が動いていないなど)した場合、CLI は署名なしコミットにフォールバックして警告します。あとで git commit --amend -S で再署名できます。

CI / 非対話シェル

process.stdout が TTY でない、または CI が環境にあるとき arkor init は非対話的になります。プロンプトはデフォルト値でスキップされ入力待ちでブロックしません。CI から決定的に生成するには:
--yes でプロジェクト名とテンプレートのデフォルト(ディレクトリー名と triage)を採用、--use-pnpm でパッケージマネージャ検出をショートサーキット、--skip-git で git init をオプトアウト。node_modules/ がすでにあるイメージなら --skip-install も渡してください。 非対話シェルで --yes を忘れてもコマンドは完走します(プロンプトはデフォルトを使う)が、サイレントでログから見落としやすい挙動になります。上記の明示形を推奨します。

よくあるエラー

対話:
デフォルト採用、install スキップ、git スキップ:
テンプレートを固定して pnpm を強制:

何が書かれるか

ツールが触るパスは 6 つ。いずれもユーザーの既存内容を上書きしません: CLI は install 前に “Files” ノートとしてファイル一覧を表示し、各パスの actioncreated / kept / patched / ok)を出すので、何が変わったか正確に確認できます。