CLI リファレンス¶
hachimoku は 8moku と hachimoku の2つのコマンド名を提供します。どちらも同一の機能を実行します。
レビューコマンド(デフォルト)¶
引数なしまたは引数付きで実行すると、コードレビューを行います。
8moku [OPTIONS] [ARGS]
引数の種類により入力モードが自動判定されます:
- 引数なし
diff モード。現在ブランチの変更差分をレビューします。Git リポジトリ内で実行する必要があります。
- 正の整数1つ
PR モード。指定された GitHub PR の差分とメタデータをレビューします。Git リポジトリ内で実行する必要があります。
- ファイルパス(1つ以上)
file モード。指定されたファイルの全体をレビューします。glob パターン(
*,?,[)やディレクトリ指定にも対応します。Git リポジトリ外でも動作します。--commit <ref>commit モード。特定のコミットから HEAD までの差分、または2つのコミット間の差分をレビューします。Git リポジトリ内で実行する必要があります。位置引数や
--base-branchとの併用はできません。
# diff モード
8moku
# PR モード
8moku 42
# file モード
8moku src/main.py
8moku src/**/*.py
8moku src/
# commit モード
8moku --commit abc123
8moku --commit abc123..def456
8moku --commit HEAD~3
レビューオプション¶
レビューコマンドのオプションです。設定ファイルの値を上書きします。
オプション |
型 |
説明 |
|---|---|---|
|
str |
LLM モデル名 |
|
int (min: 1) |
タイムアウト秒数 |
|
int (min: 1) |
エージェントの最大ターン数 |
|
bool |
並列実行の有効/無効 |
|
str |
diff モードのベースブランチ |
|
OutputFormat |
出力形式( |
|
bool |
レビュー結果の保存 |
|
bool |
コスト情報の表示 |
|
int (min: 1) |
レビュー対象の最大ファイル数 |
|
str (繰り返し可) |
拡張子フィルタ(file モード専用、例: |
|
str |
commit モードのコミット参照またはレンジ( |
|
int (min: 1) |
コンテキスト用 GitHub Issue 番号 |
|
bool |
確認プロンプトをスキップ |
|
- |
バージョン番号を表示して終了 |
|
- |
ヘルプを表示 |
設定ファイルでのデフォルト値については 設定 を参照してください。
ファイルモードの動作¶
file モードでは以下の処理が行われます:
glob パターン(
*,?,[)の展開ディレクトリ指定時の再帰的なファイル収集
バイナリファイルの自動除外(先頭 8KB の NULL バイト検出)
シンボリックリンクの循環検出
--extオプションによる拡張子フィルタリング(未指定時は全ファイル対象)結果はソート・重複排除された絶対パスのリスト
ファイル数が max_files_per_review(デフォルト: 100)を超えた場合、確認プロンプトが表示されます。--no-confirm オプションで確認をスキップできます。
init¶
.hachimoku/ ディレクトリにデフォルトの設定ファイルとエージェント定義を作成します。Git リポジトリの内外を問わず実行できます。Git リポジトリ内では .gitignore への自動追加も行います。
8moku init [OPTIONS]
オプション |
説明 |
|---|---|
|
既存ファイルをデフォルト値で上書き |
|
ビルトインエージェント定義をハッシュ比較で更新 |
|
ヘルプを表示 |
# 初回セットアップ
8moku init
# 全ファイルをデフォルト値にリセット(config.toml 含む)
8moku init --force
# バージョンアップ後にエージェント定義を更新(カスタマイズ済みはスキップ)
8moku init --upgrade
# カスタマイズ済みエージェント定義も含めて強制更新(config.toml は保持)
8moku init --upgrade --force
フラグ別の動作範囲¶
対象 |
|
|
|
|
|---|---|---|---|---|
|
新規作成 |
上書き |
対象外 |
対象外 |
|
新規作成 |
上書き |
ハッシュ比較で更新 |
強制上書き |
|
作成 |
作成 |
対象外 |
対象外 |
|
追加 |
追加 |
対象外 |
対象外 |
upgrade のハッシュ比較¶
--upgrade はローカルファイルとビルトイン定義の SHA-256 ハッシュを比較し、以下のように判定します:
ファイルが存在しない: 新規追加(
Added)ハッシュ一致: 更新不要(
Skipped (up to date))ハッシュ不一致: カスタマイズ済みとしてスキップ(
Skipped (customized))ハッシュ不一致 +
--force: 強制上書き(Updated)
作成されるファイル(init / --force):
.hachimoku/config.toml- 設定ファイル(全オプションがコメントアウトされたテンプレート).hachimoku/agents/*.toml- ビルトインエージェント定義のコピー.hachimoku/reviews/- レビュー結果の JSONL 蓄積ディレクトリ.gitignoreへの/.hachimoku/エントリ自動追加(Git リポジトリ内のみ。未登録の場合のみ)
agents¶
エージェント定義の一覧表示または詳細表示を行います。
8moku agents [NAME]
引数 |
説明 |
|---|---|
|
エージェント名(省略時は一覧表示) |
# 一覧表示
8moku agents
# 詳細表示
8moku agents code-reviewer
一覧表示では NAME, MODEL, PHASE, SCHEMA の各列が表示されます。プロジェクト固有のカスタムエージェントには [custom] マーカーが付きます。
config (Planned)¶
設定管理サブコマンドは未実装です。.hachimoku/config.toml を直接編集してください。
出力ストリーム¶
hachimoku はレビューレポートと進捗情報を分離して出力します:
- stdout
レビューレポートのみ。パイプやリダイレクトに対応します。
- stderr
進捗情報、ログ、エラーメッセージ、確認プロンプト。
# レポートをファイルに保存
8moku > review.md
# レポートを別のコマンドにパイプ
8moku --format json | jq '.agents'
終了コード¶
コード |
名前 |
意味 |
|---|---|---|
0 |
SUCCESS |
正常終了。問題なし、またはユーザーが操作を確認 |
1 |
CRITICAL |
Critical レベルの問題を検出 |
2 |
IMPORTANT |
Important レベルの問題を検出(Critical なし) |
3 |
EXECUTION_ERROR |
実行時エラー(ネットワーク、タイムアウト、設定解析など) |
4 |
INPUT_ERROR |
入力エラー(不正な引数、Git 要件未満、ファイル不在、権限、設定ファイル不備) |
終了コードはスクリプトや CI/CD パイプラインでの条件分岐に使用できます:
8moku
case $? in
0) echo "No issues found" ;;
1) echo "Critical issues found" ;;
2) echo "Important issues found" ;;
3) echo "Execution error" ;;
4) echo "Input error" ;;
esac