Communitygithub.com

metyatech/skill-conception-cli

Compétence d'agent pour concevoir et réviser des outils en ligne de commande (CLI)

Qu'est-ce que skill-conception-cli ?

Cette compétence fournit une checklist complète pour la conception et la révision d'outils CLI robustes, utilisables et sûrs. Elle couvre des aspects essentiels comme les drapeaux d'aide et de version, l'entrée/sortie standard et les formats structurés (JSON), les mécanismes de sécurité (dry-run, confirmation forcée), la journalisation contrôlée, les codes de sortie déterministes, les modes non interactifs pour CI/CD, la validation de configuration via JSON Schema et variables d'environnement, ainsi que les bonnes pratiques pour les invites interactives. Elle est conçue pour être utilisée par des agents IA (comme Claude Code, Cursor, ou Codex) lors de la génération ou de l'audit de code CLI, dans n'importe quel langage de programmation. Elle garantit que l'outil respecte les conventions de l'utilisateur final et les standards de l'industrie.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add metyatech/skill-cli-design

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Liste de vérification pour la conception CLI

Aide et version

  • Une CLI DOIT fournir les drapeaux --help et -h avec une utilisation claire, des options et des exemples. Les exemples DOIVENT inclure tous les paramètres requis.
  • Une CLI DOIT fournir les drapeaux --version et -V. L'agent DOIT réserver -v pour --verbose.

Entrée et sortie

  • Une CLI DOIT prendre en charge le piping stdin/stdout et DOIT permettre la redirection de sortie (par exemple, --output pour la création de fichier).
  • Une CLI émettant des données structurées DOIT offrir une sortie lisible par machine (par exemple, --json).

Sécurité et contrôle

  • Une CLI qui modifie ou supprime des données DOIT fournir --dry-run et un drapeau de contournement explicite (--yes ou --force).
  • Une CLI DOIT fournir une journalisation contrôlable (--quiet, --verbose, ou --trace).
  • Une CLI DOIT utiliser des codes de sortie déterministes : 0 pour succès, non nul pour échec. L'agent NE DOIT PAS introduire de replis silencieux.
  • Une CLI DOIT implémenter des modes strictement non interactifs pour les environnements CI/CD.

Configuration

  • Une CLI qui consomme une configuration JSON DOIT définir et mettre à jour un schéma JSON et DOIT valider la configuration au chargement.
  • Une CLI DOIT prendre en charge la configuration via des variables d'environnement pour les données sensibles ou spécifiques à l'environnement.

Invites interactives

  • Une invite interactive DOIT fournir le contexte requis avant de poser la question. Pour les invites oui/non, Entrée DOIT signifier « Oui » et « n » DOIT signifier « Non ».

Skills associés