Aller au contenu

Bonnes pratiques CLI

Les outils CLI bien conçus suivent des conventions communes : texte d’aide, codes de sortie, formatage de la sortie et gestion des erreurs.

  • Texte d’aide – Fournissez -h ou --help avec une utilisation claire.
  • Codes de sortie0 pour succès, non‑nul pour erreur.
  • Sortie – Utilisez fmt.Println pour la sortie normale, fmt.Fprintln(os.Stderr, ...) pour les erreurs.
  • Silence – Permettez un mode silencieux (-q).
  • Progression – Utilisez des barres de progression pour les longues opérations (ex. github.com/schollz/progressbar).
  • Couleur – Utilisez la couleur pour la lisibilité, mais respectez la variable d’environnement NO_COLOR.
  • Sous-commandes – Regroupez les actions liées (comme git add, git commit).
  • Configuration – Supportez les drapeaux, variables d’environnement et fichiers de configuration (utilisez Viper).

Un CLI bien structuré avec des codes de sortie appropriés.

package main
import (
"flag"
"fmt"
"os"
)
func main() {
nom := flag.String("nom", "", "votre nom")
flag.Parse()
if *nom == "" {
fmt.Fprintln(os.Stderr, "erreur : --nom est requis")
os.Exit(1)
}
fmt.Printf("Bonjour, %s\n", *nom)
os.Exit(0)
}
Fenêtre de terminal
erreur : --nom est requis