Skip to main content

arkor init

src/arkor/index.tssrc/arkor/trainer.tsarkor.config.ts、スターター package.jsonカレントディレクトリー に生成します。既存リポジトリに Arkor を追加したいときに使います(Quickstart のプロジェクト生成フローは同じツールを 1 つ上のディレクトリーで実行します)。 デフォルトでは部分的に対話的です。プロジェクト名、スターターテンプレート、(git リポジトリ内でなければ)git init を実行するかを先にすべて尋ねたうえで、--skip-install が指定されない限り(確認プロンプトなしで)パッケージマネージャの install を自動実行します。git init の確認を install よりも前に出すことで、すべてのプロンプトに先に答えてしまえば、install を放置して離席できるようにしています。実際の git init と初回コミットは install の後に走り、生成されたロックファイルが初回コミットに含まれます。パッケージマネージャが解決できない(--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. 非対話的でフラグなしなら、スキップ。
対話的な確認は install の に出します(マルチミニッツの <pm> install を待った後にプロンプトを出さないため)が、git init の実行自体は install の に走るので、パッケージマネージャが生成したロックファイルが初回コミットに含まれます。コミット署名に失敗(GPG agent が動いていないなど)した場合、CLI は署名なしコミットにフォールバックして警告します。あとで git commit --amend -S で再署名できます。

CI / 非対話シェル

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

よくあるエラー

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

何が書かれるか

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