doctor
Справочник CLI для команды apothem doctor.
Проверяет работоспособность того, что установлено. Если
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 ошибка выводится как конверт JSON с кодом cli.usage. |
См. также
- apothem harnesses — перечисляет и показывает зарегистрированные окружения
- apothem verify — проверяет установку адаптера окружения