doctor
Referência da CLI para o comando apothem doctor.
Verifica a saúde do que está instalado. Enquanto o
apothem verify verifica os harnesses que você
seleciona, doctor verifica todos os harnesses instalados e o perfil
compartilhado em uma única passagem.
Sinopse
apothem doctor [--project PATH] [--quiet|-q] [--verbose|-v]
[--format plain|json] [--json] [--no-color]O que ele verifica
- Perfil compartilhado. Um perfil presente é validado em relação ao schema
empacotado; um perfil malformado falha com o seu código de diagnóstico. Um
perfil ausente é relatado, não tratado como falha (
installcria um). - Somente harnesses instalados. Um harness que não está instalado é relatado
como
not_installede não é uma falha, de modo que uma máquina com um harness saudável passa. Os harnesses com escopo de projeto são verificados quando--projectnomeia a raiz deles; sem ele, são relatados comoneeds_project. - Verificação. Cada harness instalado deve passar na mesma verificação que o
verify. - Runtime de hooks. Para cada harness verificado, o doctor lê os arquivos que
a instalação mais recente dele gravou, encontra os comandos de hook que o
Apothem registrou ali e inicia cada interpretador e cada script de hook uma vez
com uma carga útil sem efeito (os argumentos registrados mais
--help,{}no stdin, um diretório de trabalho temporário ePYTHONPATHremovido). Nada é gravado. Um interpretador ausente, um script ausente ou uma falha no momento da importação reprova a verificação.
Toda verificação que falha nomeia uma correção. Sai com 0 quando nenhuma verificação falha e com 1 caso contrário.
Saída JSON
--json mantém os campos anteriores (version, python, platform,
profile_path, profile_exists, profile_valid, harnesses, all_ok
e profile_error quando o perfil é inválido) e adiciona:
profile_error_code— o código de diagnóstico do perfil, quando o perfil é inválido.project— a raiz de--projectresolvida, ounull.harnesses[].status—ok,not_installed,needs_project,verify_failed,hook_failedouerror; além deverifiedehooks({"probed": N, "failed": [...]}, ounullquando não existe nenhum registro de instalação).checks— um registro por verificação:code(por exemploharness.verify_failed,hook.start_failed,ledger.unreadableou um códigoprofile.*),status(pass,failouinfo),harness,messageefix.
{
"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 …"
}
]
}Opções
| Opção | Descrição |
|---|---|
--project PATH | Raiz do projeto para os harnesses com escopo de projeto; sem ela, eles são relatados como needs_project. |
--quiet, -q | Suprime a saída informativa; apenas os erros são emitidos. |
--verbose, -v | Aceito por consistência com os demais comandos; este comando não imprime saída extra. |
--format plain|json | Formato de saída (padrão: plain). |
--json | Abreviação de --format json. |
--no-color | Desativa os códigos de cor ANSI na saída. |
-h, --help | Mostra a ajuda e sai. |
Exemplos
apothem doctor
apothem doctor --project .
apothem doctor --jsonO formato padrão plain imprime diagnósticos legíveis por humanos; --json
(equivalente a --format json) emite um documento legível por máquina em
stdout, adequado para ser encaminhado por pipe a outras ferramentas.
Códigos de saída
| Código | Significado |
|---|---|
| 0 | Todas as verificações passaram (também quando nenhum harness está instalado ainda) |
| 1 | Um harness instalado não passa na verificação, um comando de hook registrado não consegue iniciar, um adaptador não pôde ser carregado ou sondado, ou um perfil presente falhou na validação de schema |
| 64 | Erro de uso: uma opção ou um comando desconhecido, ou um valor de opção ausente ou inválido. Com --json, o erro é um envelope JSON com o código cli.usage. |
Veja também
- apothem harnesses — lista e inspeciona os harnesses registrados
- apothem verify — verifica a instalação de um adaptador de harness