termcourse: ler 'n postar em instâncias Discourse pelo terminal

Para que você possa fazer login rapidamente em vários sites (obviamente uma sessão por vez por aba), fiz as seguintes melhorias:

Melhorias de autenticação e configuração do termcourse

  • O caminho de login padrão agora é nome de usuário/senha.
  • Você não precisa mais incluir https:// — isso é opcional
  • Campos de login ausentes são solicitados interativamente (por exemplo: nome de usuário conhecido, senha ausente).
  • A ajuda da CLI inclui variáveis de ambiente principais e locais de arquivos de log de depuração.

Credenciais e comportamento de ENV

  • Suporta arquivo de credenciais mapeado por host com ordem de pesquisa:
    1. TERMCOURSE_CREDENTIALS_FILE (se definido)
    2. ./credentials.yml
    3. ~/.config/termcourse/credentials.yml
  • Precedência de autenticação:
    1. Sinalizadores da CLI
    2. Credenciais do host do YAML
    3. Variáveis de ambiente DISCOURSE_* genéricas
    4. Solicitação interativa
  • Para autenticação: ao fazer login, valores ausentes de nome de usuário/senha são solicitados.
  • Para autenticação de API, tanto o nome de usuário da API quanto a chave devem resultar em valores não vazios.

Depuração

  • Depuração de HTTP/autenticação: TERMCOURSE_HTTP_DEBUG=1 → /tmp/termcourse_http_debug.txt
  • Depuração de renderização de UI: TERMCOURSE_DEBUG=1 → /tmp/termcourse_debug.txt

Higiene do repositório

  • Adicionados credentials.example.yml e .env.example com exemplos alinhados.
  • Adicionadas entradas .gitignore para arquivos secretos locais:
    • .env
    • credentials.yml
2 curtidas