Em geral, é boa ideia:
- calcule os argumentos dependentes, mas permita redefini-los: por exemplo, no seu exemplo você tem
filenameigual a$(basename repository), portanto, você pode exigir apenas repositório, mas tem a opção--filenamepara fornecer nome de arquivo alternativo. - ocultar a autenticação da linha de comando e
psoutput. Coloque-os em algum arquivo: pode ser$HOME/.fm-git.conf, dê mais restrições ao arquivo comochmod 600 $HOME/.fm-git.confe leia-os do arquivo. Às vezes, também é uma opção para obter o nome de usuário e senha de variáveis de ambiente (como nome de usuário padrão é o nome de usuário do sistema ouSUDO_USER), mas pode não ser o seu caso.
Então, depois das duas otimizações você tem apenas 3 parâmetros cli, é aceitável, eu acho. Sinta-se à vontade para usá-los como parâmetro posicional ou fornecer alguns sinalizadores como --comment : fornecer sinalizadores longos aumentará a legibilidade se você usar seu programa em scripts mais detalhadamente, mas precisará digitar mais se executar seu programa principalmente por meio de cli .
De qualquer forma, enquanto você escreve seu programa em Python, recomendo que use o módulo argparse - ele ajudará você a analisar parâmetros e fazer alterações no futuro, caso deseje alterá-los.