The tmc CLI - The Modding Community
A API, Do Seu Terminal
tmc é um cliente de linha de comando para a nossa API pública de conteúdo. Ele cria, edita e apaga seus assets, mods, servidores, artigos, comunidades, coleções e grupos — e, porque é para isso que a API é realmente usada, ele envia arquivos e publica releases em um único comando.
O tmc ainda não foi lançado. Ele não está no PyPI e não tem repositório público — hoje se instala a partir de uma cópia do código-fonte, e esta página descreve o que a ferramenta já faz em vez de anunciar um lançamento.
# From the source checkout — there is nothing to build
pip install .
pip install '.[fast]' # optional: cryptography, for faster signing
tmc --version # tmc 1.1.0
# Keys are made under Account → API Keys
tmc auth login --token tmc_xxxxxxxxxxxx
tmc auth whoami
# …or read public items with no key at all
tmc mod list --anon --app 4 -o json
Um único pacote de biblioteca padrão, então não há nada para compilar nem nada para resolver — e cada comando, flag e código de saída está documentado.
O Motivo De Existir Uma Ferramenta
Publicar uma release pela API crua são quatro requisições numa ordem específica: enviar os arquivos, coletar seus ids, ler o conjunto de releases que já existe e então gravar o novo sem mexer nos outros. release publish é exatamente essa sequência.
Tudo O Que A API Faz, Explicado
Um comando para cada coisa que você faria no navegador, e algumas que você não iria querer fazer lá — edições em massa, pipelines e releases via script.
Chaves, Perfis E A Metade Pública
Entre uma vez e a credencial fica guardada em ~/.config/tmc/config.json no modo 0600 — ou passe-a pelo ambiente e nada toca o disco. Um perfil por site ou por chave, e --anon para a metade da API que não precisa de chave nenhuma.
Quatro Verbos Que Dizem O Que Fazem
O perigoso é set: nesta API um PUT numa relação significa "este é agora o conjunto completo", então um PUT com um único membro apaga todo o resto no item. A CLI mantém os quatro separados e avisa antes de enviar o destrutivo.
Feito Para Viver Em CI
Compile seu projeto, publique uma release e envie os arquivos dela a cada tag. As credenciais vêm do ambiente, então nada é escrito no disco de um runner.
