name: euni-commands description: euniコマンドの使い方。ローカル運用、CI組み込み、異常時切り分け、終了コード/UGコード解釈を最短で引くための実行手順。
euni Commands
excel-unidiff-cli の CLI (euni) 実行手順。
目的: 「何をいつ叩くか」を即決できる状態にする。
先に把握
euniはサブコマンド必須。helpサブコマンドなし。--formatはtext|jsonのみ。--recursive既定false(rootのみ)。- 書き込みは
applyとinit-policyだけ。 - 終了コード:
0: 問題なし1: findings あり(運用上NG)2: 実行エラー
コマンド早見
euni init-policy --repo ..euni.ymlを作成
euni check --repo . --policy ./.euni.yml- 非破壊チェック(追跡済みファイル)
euni apply --repo . --policy ./.euni.yml [--dry-run]- policyとの差分を
git config --localへ適用 --repair-unicode-deletesで Unicode 由来の削除済み追跡パス差分を復旧worktree側だけの削除はgit restore --worktreeで復旧し、staged の非削除変更は保持- 注意: このフラグは削除済み追跡パスを一括復旧するため、対象範囲に意図的削除がある場合は使わない
- policyとの差分を
euni doctor --repo . --policy ./.euni.ymlcheck + scan統合診断
euni scan --repo .- Unicodeパス分析(追跡 + 未追跡)
euni versioneuni <version> (<commit>)
実行フロー(推奨)
- 初回導入
euni init-policy --repo .
euni check --repo . --recursive --policy ./.euni.yml
- 修復前確認
euni apply --repo . --recursive --policy ./.euni.yml --dry-run
- 修復実行
euni apply --repo . --recursive --policy ./.euni.yml
euni check --repo . --recursive --policy ./.euni.yml
Unicode幽霊削除差分が出る場合:
euni apply --repo . --recursive --policy ./.euni.yml --repair-unicode-deletes
- 詰まり時
euni doctor --repo . --recursive --policy ./.euni.yml
euni scan --repo . --recursive
CI 定型
JSONを stdout に1オブジェクトで出す。
euni check --repo . --recursive --policy ./.euni.yml --non-interactive --format json > euni-report.json
schema/euni-report.schema.jsonで検証- プロセス終了コードと
report.exitCodeの一致を検証 - artifact として
euni-report.jsonを保存
オプション適用範囲
check|apply|doctor|scan:--repo --recursive --format --quiet --non-interactive --log-file
check|apply|doctorのみ:--policy
applyのみ:--dry-run --repair-unicode-deletes
init-policyのみ:--force
version:- オプション不可
UGコード最小運用メモ
- findings系(exit
1):UG004driftUG005NFC衝突UG011結合文字UG012非標準FS要因UG013policy path曖昧UG014unicode delete repair(dry-run 時の復旧予定、または apply 実行時の安全skip通知)
- error系(exit
2):UG001repo不正UG002git実行失敗UG003policy読込失敗UG006submodule未初期化UG007policy構造不正UG008既存policy上書き拒否UG009非対応コマンド/オプションUG010repo境界外gitdir
典型ミス
euni helpを叩く ->UG009scanに--policyを付ける ->UG009versionにオプションを付ける ->UG009--recursiveなしで submodule 問題を見逃す