Seu programa deve pelo menos sair (3) EXIT_SUCCESS (ou seja, 0 ) em sucesso e provavelmente EXIT_FAILURE (ie 1) na falha. Você pode copiar (ou ser inspirado por) FreeBSD sysexits.h para mais códigos de falha (mas não tenho certeza se vale a pena o esforço).
Não esqueça de dar uma mensagem para stderr (ou através de syslog (3) ) para qualquer tipo de falha. Pelo que você descreve, falhar em git clone até mesmo um (entre muitos) repositórios para seu subcomando install deve ser uma falha.
O usuário provavelmente faria alguma ação corretiva (por exemplo, corrigir a ortografia da URL com falha) e, em seguida, repetir o mesmo comando, então você pode querer que ele seja idempotente.
Não se esqueça da opção --help e documente qualquer código de saída fora de 0 e 1.