CLI 참조
doctor
apothem doctor 명령에 대한 CLI 참조.
설치된 항목의 상태를 점검합니다.
apothem verify가 사용자가 선택한 하니스를
점검하는 반면, doctor는 설치된 모든 하니스와 공유 프로필을 한 번에 점검합니다.
개요
apothem doctor [--project PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]점검 항목
- 공유 프로필. 프로필이 있으면 패키지에 포함된 스키마로 검증하며, 형식이
잘못된 프로필은 해당 진단 코드와 함께 실패합니다. 프로필이 없으면 실패가
아니라 보고로 처리합니다(
install이 프로필을 만듭니다). - 설치된 하니스만. 설치되지 않은 하니스는
not_installed로 보고되며 실패가 아니므로, 정상 하니스가 하나뿐인 머신도 통과합니다. 프로젝트 범위 하니스는--project가 그 루트를 지정할 때 점검되며, 지정하지 않으면needs_project로 보고됩니다. - 검증. 설치된 각 하니스는
verify와 같은 점검을 통과해야 합니다. - 훅 런타임. 검증된 각 하니스에 대해 doctor는 최신 설치가 쓴 파일을 읽고,
Apothem이 그곳에 등록한 훅 명령을 찾은 다음, 각 인터프리터와 훅 스크립트를
아무 작업도 하지 않는 페이로드(등록된 인수에
--help를 더한 것, stdin의{}, 임시 작업 디렉터리, 그리고PYTHONPATH제거)로 한 번씩 시작합니다. 아무것도 쓰지 않습니다. 인터프리터 누락, 스크립트 누락, 또는 임포트 시점의 크래시는 점검 실패로 처리됩니다.
실패한 모든 점검은 해결 방법을 제시합니다. 실패한 점검이 없으면 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— 점검마다 레코드 하나: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 | 설치된 하니스가 검증되지 않거나, 등록된 훅 명령을 시작할 수 없거나, 어댑터를 로드하거나 프로브할 수 없거나, 존재하는 프로필이 스키마 검증에 실패함 |
| 64 | 사용법 오류: 알 수 없는 옵션이나 명령, 또는 누락되었거나 잘못된 옵션 값. --json에서는 오류가 코드 cli.usage를 담은 JSON 봉투로 반환됩니다. |
함께 보기
- apothem harnesses — 등록된 하니스를 나열하고 검사합니다
- apothem verify — 하니스 어댑터 설치를 검증합니다