arkor init
src/arkor/index.ts、src/arkor/trainer.ts、arkor.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 dlx、yarn dlx、bunx などすべて動きます)。
検出に失敗してフラグもなければ install ステップはスキップされ、手動 install のヒントが最後に表示されます。
Git ポリシー
arkor init は git init + 初回コミットを実行するかどうかを次のルールを上から評価して決めます:
- カレントディレクトリーが既に git リポジトリ内なら、スキップ(ログを出す)。
--skip-gitが渡されていれば、スキップ。--gitまたは-yが渡されていれば、確認なしで実行。- 対話的なシェルでは尋ねる(デフォルト: yes)。
- 非対話的でフラグなしなら、スキップ。
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 を忘れてもコマンドは完走します(プロンプトはデフォルトを使う)が、サイレントでログから見落としやすい挙動になります。上記の明示形を推奨します。
よくあるエラー
例
対話:何が書かれるか
ツールが触るパスは 6 つ。いずれもユーザーの既存内容を上書きしません:
CLI は install 前に “Files” ノートとしてファイル一覧を表示し、各パスの
action(created / kept / patched / ok)を出すので、何が変わったか正確に確認できます。