tmc-cli - The Modding Community
API を、ターミナルから
tmc-cli は、私たちの公開コンテンツ API のためのコマンドラインクライアントです。アセット、MOD、サーバー、記事、コミュニティ、コレクション、グループの作成・編集・削除ができ、API が実際に使われている用途そのものとして、ファイルのアップロードとリリースの公開を 1 コマンドで行えます。
クローンからインストールします。tmc-cliはまだPyPIにないため、pipで公開リポジトリから入れます。3つの手順は下にあります。
$ tmc auth whoamiprofile defaultsite https://moddingcommunity.comauthMode tokentoken tmc_ab…9fcanRead truecanWrite truecanDelete false標準ライブラリだけの単一パッケージなので、ビルドも依存関係の解決も要りません。PyPIにはないため、クローンからインストールします。すべてのコマンド、フラグ、終了コードはドキュメントにまとめてあります。
3つの手順、パッケージインデックスなし
tmc-cliはPyPIにありません。公開リポジトリのクローンからインストールし、Python 3.11以降が必要で、ほかのパッケージは取り込みません。
ひとつのツールで、APIの6つの領域
コマンド名は入力するとおりのものです。全一覧はtmc --helpで確認できます。
1つのコマンドでリリース
素の API でリリースを切るには、決まった順序で 4 つのリクエストが要ります。ファイルをアップロードし、その id を集め、すでにあるリリース集合を読み、ほかを乱さずに新しいものを書き戻す。release publish はその一連の流れそのものです。
CLIでできること
ブラウザでやることは、それぞれ1つのコマンドで実行できます。一括編集、パイプライン、スクリプトによるリリースなど、手作業にしたくない操作も含みます。
キー、プロファイル、そして公開鍵の側
一度ログインすれば、資格情報はモード 0600 で ~/.config/tmc/config.json に保存されます、あるいは環境変数で渡せば、ディスクには一切触れません。サイトごと・キーごとに 1 プロファイル。そして、そもそもキーの要らない半分の API 向けに --anon があります。
動作どおりの名前を持つ 4 つの動詞
危険なのは set です。この API では関連への PUT は「これが完全な集合である」という意味なので、メンバー 1 件の PUT はそのアイテムのほかすべてを削除します。CLI はこの 4 つを区別し、破壊的なものを送る前に警告します。
CIで使う
プロジェクトをビルドし、リリースを切り、タグごとにファイルをアップロード。資格情報は環境変数から来るので、ランナーのディスクには何も書かれません。
