Skip to content
Apothem
CLI リファレンス

doctor

apothem doctor コマンドの CLI リファレンス。

インストールされているものの健全性をチェックします。 apothem verify が選択したハーネスをチェックするのに対し、doctor はインストール済みのすべてのハーネスと共有プロファイルを 1 回でチェックします。

構文

apothem doctor [--project PATH] [--quiet|-q] [--verbose|-v]
               [--format plain|json] [--json] [--no-color]

チェック内容

  • 共有プロファイル。 存在するプロファイルは、同梱のスキーマに照らして検証されます。不正な形式のプロファイルは、その診断コードとともに失敗します。 プロファイルが存在しない場合は報告されますが、失敗にはなりません(install が作成します)。
  • インストール済みのハーネスのみ。 インストールされていないハーネスは not_installed として報告され、失敗にはならないため、健全なハーネスが 1 つあるマシンは合格します。 プロジェクトスコープのハーネスは、--project がそのルートを指定した場合にチェックされます。指定がない場合は needs_project として報告されます。
  • 検証。 インストール済みの各ハーネスは、verify と同じチェックに合格しなければなりません。
  • フックランタイム。 検証された各ハーネスについて、doctor はその最新のインストールが書き込んだファイルを読み取り、Apothem がそこに登録したフックコマンドを見つけ、各インタープリターとフックスクリプトを何もしないペイロード(登録された引数に --help を加えたもの、stdin 上の {}、スクラッチの作業ディレクトリ、そして PYTHONPATH の除去)で 1 回ずつ起動します。 何も書き込まれません。 インタープリターの欠落、スクリプトの欠落、またはインポート時のクラッシュは、チェックを失敗させます。

失敗した各チェックは、修正方法を示します。 失敗したチェックがない場合は 0 で、それ以外の場合は 1 で終了します。

JSON 出力

--json は従来のフィールド(version、python、platform、profile_path、profile_exists、profile_valid、harnesses、all_ok、そしてプロファイルが無効な場合の profile_error)を維持し、次のフィールドを追加します。

  • profile_error_code — プロファイルが無効な場合の、プロファイルの診断コード。
  • project — 解決された --project ルート、または null。
  • harnesses[].status — ok、not_installed、needs_project、verify_failed、hook_failed、error のいずれか。加えて verified と hooks({"probed": N, "failed": [...]}、またはインストールレコードが存在しない場合は null)。
  • checks — チェックごとに 1 つのレコード。code(たとえば harness.verify_failed、hook.start_failed、ledger.unreadable、または profile.* コード)、status(pass、fail、info のいずれか)、harness、message、fix を含みます。
{
  "schema_version": 1,
  "all_ok": false,
  "checks": [
    {
      "code": "hook.start_failed",
      "status": "fail",
      "harness": "claude-code",
      "message": "claude-code: a registered hook command cannot start: …",
      "fix": "Check that the interpreter in the hook command exists and runs, then …"
    }
  ]
}

オプション

オプション説明
--project PATHプロジェクトスコープのハーネス向けのプロジェクトルート。指定がない場合、それらは needs_project として報告されます。
--quiet, -q情報出力を抑制し、エラーのみを出力します。
--verbose, -v他のコマンドとの一貫性のために受け付けられます。このコマンドは追加の出力を表示しません。
--format plain|json出力形式(デフォルト: plain)。
--json--format json の短縮形です。
--no-color出力中の ANSI カラーコードを無効にします。
-h, --helpヘルプを表示して終了します。

例

apothem doctor
apothem doctor --project .
apothem doctor --json

デフォルトの plain 形式は、人間が読める診断を出力します。--json(--format json と同等)は、機械可読なドキュメントを stdout に出力し、他のツールへのパイプに適しています。

終了コード

コード意味
0すべてのチェックに合格した(まだハーネスが 1 つもインストールされていない場合も含む)
1インストール済みのハーネスが検証に合格しない、登録されたフックコマンドを起動できない、アダプターを読み込めなかったかプローブできなかった、または存在するプロファイルがスキーマ検証に失敗した
64使用法エラー: 不明なオプションまたはコマンド、あるいは欠落した、または無効なオプション値。--json の下では、エラーはコード cli.usage を持つ JSON エンベロープになります。

関連項目

  • apothem harnesses — 登録済みのハーネスを一覧表示・検査する
  • apothem verify — ハーネスアダプターのインストールを検証する

On this page