termcourse: ターミナルからDiscourseインスタンスを読み込み、投稿する

複数のサイトに素早くログインできるように(もちろんタブごとに1セッション)、以下の改善を行いました。

termcourse 認証と設定の改善

  • ユーザー名/パスワードがデフォルトのログインパスになりました。
  • https:// を含める必要がなくなりました(オプションです)。
  • 不足しているログインフィールドは対話形式で求められます(例:ユーザー名はわかっているがパスワードが不足している場合)。
  • CLIヘルプにコア環境変数とデバッグログファイルの位置が含まれるようになりました。

認証情報と環境変数 (ENV) の動作

  • ホストマッピングされた認証ファイルに対応し、検索順序は以下の通りです。
    1. TERMCOURSE_CREDENTIALS_FILE(設定されている場合)
    2. ./credentials.yml
    3. ~/.config/termcourse/credentials.yml
  • 認証の優先順位:
    1. CLIフラグ
    2. YAMLからのホスト認証情報
    3. 一般的な DISCOURSE_* 環境変数
    4. 対話型プロンプト
  • 認証の場合、ログイン時にユーザー名やパスワードの値が不足している場合はプロンプトが表示されます。
  • API認証の場合、APIユーザー名とキーの両方が空でない値に解決される必要があります。

デバッグ

  • HTTP/認証デバッグ: TERMCOURSE_HTTP_DEBUG=1/tmp/termcourse_http_debug.txt
  • UIレンダリングデバッグ: TERMCOURSE_DEBUG=1/tmp/termcourse_debug.txt

リポジトリの衛生管理

  • 整列された例を含む credentials.example.yml.env.example を追加しました。
  • ローカルのシークレットファイル用の .gitignore エントリを追加しました。
    • .env
    • credentials.yml
「いいね!」 2