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

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 init

pnpm exec 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 のヒントが表示されます。

概要

arkor init [options]

オプション

フラグ説明
-y, --yesプロンプトの代わりにデフォルトを採用(プロジェクト名はディレクトリ名、テンプレートは triage)。
--name <name>プロジェクト名。デフォルトはカレントディレクトリ名(パスに basename がない場合 arkor-project、例えば /)。package.json に書く前にサニタイズされます。
--template <id>スターターテンプレート。表示される選択肢: triagetranslateredaction。バリデータは明示的に渡したときに限り隠し ID(minimalalpacachatml)も受け付けます。未知の ID はファイル操作前に例外が発生します。
--skip-installスキャフォールド後のパッケージマネージャの install をスキップ。
--use-npmパッケージマネージャに npm を強制。
--use-pnpmパッケージマネージャに pnpm を強制。
--use-yarnパッケージマネージャに yarn を強制。
--use-bunパッケージマネージャに bun を強制。
--git確認なしで git リポジトリを初期化し、初回コミットを作成。
--skip-gitgit init を黙ってスキップ。
--git--skip-git は排他です。両方渡すと例外が発生します。

テンプレート

テンプレートタスク出力の形
triageサポートのトリアージ{ category, urgency, summary, nextAction }
translate9 言語の翻訳{ translation, detectedLanguage }
redaction個人情報のマスク{ redactedText, redactedCount, tags }
3 つとも同じ小型のオープンウェイトベース(unsloth/gemma-4-E4B-it)と HuggingFace 上の厳選公開データセットを組み合わせています。 隠しテンプレート(minimalalpacachatml)は意図的にミニマルで、参照用として存在します。対話ピッカーには出てきません。

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

--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 から決定的にスキャフォールドするには:
pnpm exec arkor init --yes --template triage --use-pnpm --skip-git
--yes でプロジェクト名とテンプレートのデフォルト(ディレクトリ名と triage)を採用、--use-pnpm でパッケージマネージャ検出をショートサーキット、--skip-git で git init をオプトアウト。node_modules/ がすでにあるイメージなら --skip-install も渡してください。 非対話シェルで --yes を忘れてもコマンドは完走します(プロンプトはデフォルトを使う)が、サイレントでログから見落としやすい挙動になります。上記の明示形を推奨します。

よくあるエラー

メッセージ意味対処
Pick one of --git / --skip-git, not both.--git--skip-git のどちらか一方だけ指定してください)git 関連の両フラグを渡した。どちらか一方にする。
Unknown template "<id>". Available: triage, translate, redaction, minimal, alpaca, chatml(未知のテンプレート <id>。利用可能: triage, translate, redaction, minimal, alpaca, chatml)--template の値がどの登録テンプレート ID にも一致しなかった。一覧の ID を使う。隠し ID(minimalalpacachatml)は明示指定時のみ有効。
Commit signing failed — created an unsigned commit.(コミット署名に失敗したため、署名なしコミットを作成しました)git init は成功したが初回コミットを GPG 署名できなかった。署名のセットアップを直したら git commit --amend -S で再署名。リポジトリ自体は問題なし。

対話:
pnpm exec arkor init
デフォルト採用、install スキップ、git スキップ:
pnpm exec arkor init --yes --skip-install --skip-git
テンプレートを固定して pnpm を強制:
pnpm exec arkor init --template translate --use-pnpm

何が書かれるか

スキャフォールダが触るパスは 6 つ。いずれもユーザーの既存内容を上書きしません:
パス振る舞い
src/arkor/index.ts無ければ createArkor({ trainer })作成。あれば そのまま
src/arkor/trainer.ts無ければ選んだテンプレートの createTrainer({...})作成。あれば そのまま
arkor.config.ts無ければプレイスホルダーの export として 作成。あれば そのままプロジェクト構成 を参照。
README.md無ければスターター README で 作成。あれば そのまま
.gitignore無ければ node_modules/dist/.arkor/作成。ファイルがあって .arkor/ が入っていなければ追記で パッチ。既に入っていれば変更なし(Ok)。
package.json無ければ name / private / type: "module" / dev+build+start のスターター scripts / devDependencies.arkor作成。不足している script があれば追加し、devDependencies.arkor がなければ追加する パッチ。既存の値(カスタム dev script など)は 上書きしません。すべて揃っていれば変更なし(Ok)。
CLI は install 前に “Files” ノートとしてファイル一覧を表示し、各パスの actioncreated / kept / patched / ok)を出すので、何が変わったか正確に確認できます。