Skip to content
Apothem
Referência da CLI

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 (install cria um).
  • Somente harnesses instalados. Um harness que não está instalado é relatado como not_installed e 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 --project nomeia a raiz deles; sem ele, são relatados como needs_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 e PYTHONPATH removido). 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 --project resolvida, ou null.
  • harnesses[].status — ok, not_installed, needs_project, verify_failed, hook_failed ou error; além de verified e hooks ({"probed": N, "failed": [...]}, ou null quando não existe nenhum registro de instalação).
  • checks — um registro por verificação: code (por exemplo harness.verify_failed, hook.start_failed, ledger.unreadable ou um código profile.*), status (pass, fail ou info), harness, message e 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 …"
    }
  ]
}

Opções

OpçãoDescrição
--project PATHRaiz do projeto para os harnesses com escopo de projeto; sem ela, eles são relatados como needs_project.
--quiet, -qSuprime a saída informativa; apenas os erros são emitidos.
--verbose, -vAceito por consistência com os demais comandos; este comando não imprime saída extra.
--format plain|jsonFormato de saída (padrão: plain).
--jsonAbreviação de --format json.
--no-colorDesativa os códigos de cor ANSI na saída.
-h, --helpMostra a ajuda e sai.

Exemplos

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

O 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ódigoSignificado
0Todas as verificações passaram (também quando nenhum harness está instalado ainda)
1Um 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
64Erro 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

On this page