dotweave doctor

同期リポジトリ、設定、age identity、トラッキング中のローカルパスをまとめて診断します。

使い方

dotweave doctor

pushpull が問題に突き当たる前に、ローカル環境を点検して何が壊れているかを報告します。doctor は引数を取らず、--help 以外のフラグもありません。

チェック項目

doctor は 6 つのチェックを決まった順序で実行します。2 つのチェック id は表示名が異なります。内部の ageidentity、内部の local-pathslocal として表示されます。以下の名前は出力に現れる側です。

チェック確認内容失敗が意味すること
git同期ディレクトリが git のワークツリーかどうかを確認します。同期ディレクトリがない、またはリポジトリではありません。ここで即座に失敗し、実行は止まります。
configmanifest.jsonc を読み込んで検証し、項目数と recipient 数を報告します。manifest が読めない、または妥当ではありません。ここで即座に失敗し、実行は止まります。
profilesアクティブなプロファイル、または未設定であることを報告します。失敗しないチェックです。現在の選択状態だけを報告します。
identity解決されたパスに age identity ファイルが存在するかを確認します。このマシンではシークレット artifact を復号できません。
entries項目が 0 件のときに警告します。失敗しないチェックです。警告は、まだ何もトラッキングしていないことを示します。
localignore 以外の項目でローカルパスが存在しないものについて、その不在が現在の同期状態と整合するかを確認します。失われたローカルパスをリポジトリの状態では説明できません。

動作

doctor は ok、警告、失敗の件数を 1 行で要約し、続けて ok でないチェックを最大 3 件まで出力します。それより多い場合は ... N more issues を添えます。

dotweave doctor
· Running checks...
✔ Doctor passed (6 ok · 0 warnings · 0 failures)

いずれかのチェックが失敗すると、終了コード 1 で終わります。警告だけなら失敗として扱いません。doctor は何も書き込みません。manifest を修復したり、ローカルパスを復元したり、リポジトリに触れたりはしません。

エラー

doctor は問題をコマンドのエラーではなくチェック結果として報告します。例外は gitconfig のチェックで、この 2 つは失敗した時点で実行を止めます。失敗が 1 件以上残ったまま終わった場合は Doctor found issues. を投げます。このエラーにはエラーコードもヒントもありません。失敗したチェックの詳細行が従うメッセージ形式は、エラーメッセージのエラーの読み方の節を参照してください。

関連コマンド

報告された問題の背後にどの変更が控えているかは dotweave status、チェックが出力したメッセージを調べるにはエラーメッセージを参照してください。