CLI

diagnos-cli

diagnos-cli: o cofre diagnos zero-knowledge no seu terminal, construído sobre o SDK, com saída JSON e códigos de saída estáveis.

Nesta página

English · Português (Brasil)

A linha de comando diagnos — o cofre diagnos zero-knowledge, do seu terminal, construída sobre o SDK diagnos. Todo byte de criptografia, assinatura e lógica de retentativa mora no SDK; este pacote só interpreta argumentos e renderiza o que o SDK devolve — tabelas para pessoas, JSON para scripts, códigos de saída estáveis para os dois.

Nota

Ainda não está no PyPI. O pipx install diagnos-cli abaixo é o comando de instalação pretendido e permanente — mas, até o primeiro release, instale do código-fonte (construir o SDK exige um toolchain Rust; a cli depende do SDK diagnos, ainda não publicado, então os dois vêm do git num comando só):

pipx install "diagnos-cli @ git+https://github.com/diagnos-tech/integration@develop#subdirectory=apps/cli" \
  --preinstall "diagnos @ git+https://github.com/diagnos-tech/integration@develop#subdirectory=apps/sdk"

Vindo do imgexam-cli? As versões recomeçam em 0.1.0 sob o nome novo — leia o MIGRATING.pt-BR.md antes de atualizar.

Instalação#

pipx install diagnos-cli
pipx install "diagnos-cli[openbao]"   # com auto-unseal via OpenBao, para cron e servidores
export DIAGNOS_API_TOKEN="apikey-…"   # emitido por um admin do workspace

--token em qualquer comando sobrescreve o ambiente naquela invocação, e nunca é ecoado — nem no --help, nem na saída, nem no --json.

Uma primeira execução#

diagnos login                                      # imprime um link e um código; um admin aprova
diagnos patients list --group sg_oncology --summary
diagnos files upload --group sg_oncology --exam EXAM_ID scans/*.dcm
diagnos --json exams get EXAM_ID | jq .record.report_html

Cada invocação é um processo próprio, e a CLI nunca grava uma sessão em disco: sem OpenBao, o comando seguinte faz enrollment de novo, com link e código novos. É de propósito — um script que roda sem ninguém olhando configura o auto-unseal com OpenBao, como o guia da CLI mostra.

Guias#

Guia da CLI todo comando com exemplos reais, saída JSON, scripts e cron
Referência da CLI todo comando e opção, gerados a partir do código — também diagnos <comando> --help
Autenticação o token, o painel de enrollment, a aprovação
Sessões o auto-unseal com OpenBao, e o que ele troca
Erros o código de saída de toda falha
Configuração toda variável de ambiente

Limites conhecidos e as questões ainda em aberto do lado do cofre: Compatibilidade com o cofre.

Desenvolvimento#

make sync
uv run --package diagnos-cli pytest apps/cli/tests -q
uv run ruff check apps/cli && uv run ruff format --check apps/cli
uv run mypy apps/cli/src

Os exemplos de um comando moram ao lado dele, no epilog (diagnos_cli.examples): aparecem no fim do --help e na referência gerada, e o make docs-check falha se os dois divergirem. Veja o CONTRIBUTING.pt-BR.md para a regra de docstring bilíngue e a fronteira "a cli só importa diagnos".