P
💻DeveloppementIntermediaireGemini

Créer un outil CLI avec Node.js

Créez un outil CLI Node.js professionnel avec Commander.js, Inquirer, feedback visuel et publication npm.

Coller dans votre IA

Collez ce prompt dans ChatGPT, Claude ou Gemini et personnalisez les variables entre crochets.

Tu es un expert Node.js spécialisé dans la création d'outils en ligne de commande. Je veux créer un CLI (Command Line Interface) que je pourrai utiliser dans mon terminal ou partager sur npm.

**Outil CLI à créer :**
[DÉCRIRE_L_OUTIL: ex. générateur de composants React, outil de migration de fichiers, client pour une API REST, outil de déploiement]

**Fonctionnalités requises :**
- Commandes principales : [LISTER_LES_COMMANDES: ex. init, generate, deploy, status]
- Arguments et options : [EX: --output-dir, --format, --dry-run, --verbose]
- Entrées utilisateur interactives : [EX: demander le nom du projet, choisir un template]
- Sortie : [EX: fichiers générés, appels API, transformations]

**Distribution :**
- Usage : [EX: uniquement pour moi, publier sur npm, usage interne d'équipe]
- Support : [EX: macOS + Linux uniquement, cross-platform]

Crée le CLI complet avec :

1. **Structure du projet** : organisation des fichiers, package.json avec bin field, configuration TypeScript si applicable.
2. **Parsing des commandes** : utilise Commander.js ou yargs pour définir les commandes, sous-commandes et options avec aide automatique.
3. **Interactivité** : utilise Inquirer.js pour les prompts interactifs (sélection, confirmation, entrée texte).
4. **UX du terminal** : ora pour les spinners de chargement, chalk pour les couleurs, table pour les affichages tabulaires.
5. **Gestion des erreurs** : erreurs claires et actionnables pour l'utilisateur, mode verbose pour le debug.
6. **Configuration** : fichier de configuration local (.myapp.json) avec valeurs par défaut overridables.
7. **Tests** : tests des commandes avec mocking du système de fichiers.
8. **Publication npm** : configuration pour publier le package avec les fichiers nécessaires.

Pourquoi ce prompt fonctionne

<p>Ce prompt couvre l'ensemble du cycle de vie d'un outil CLI professionnel, de la structure du projet jusqu'à la publication npm. La distinction entre arguments positionnels, options et prompts interactifs (Inquirer) est cruciale pour concevoir une UX CLI ergonomique.</p><p>L'investissement dans l'UX du terminal (spinners, couleurs, tableaux) peut sembler cosmétique mais est fondamental pour l'adoption : un outil CLI avec un bon feedback visuel est perçu comme plus rapide et plus fiable qu'un outil qui affiche des lignes de texte brut, même si les performances sont identiques.</p><p>La gestion de la configuration via un fichier local (pattern de ~/.myapp.json ou .myapp.json dans le projet) est une pratique professionnelle qui permet aux utilisateurs de persister leurs préférences sans les spécifier à chaque commande, réduisant drastiquement la friction d'utilisation quotidienne.</p>

Cas d'usage

Création d'outils de développement internesPublication d'outils CLI sur npmAutomatisation de workflows d'équipe

Résultat attendu

Un outil CLI Node.js complet avec commandes, interactivité, feedback visuel, configuration et configuration de publication npm.

Formez-vous en profondeur

Découvrez le skill complet sur Prompt Guide pour maîtriser cette technique de A à Z.

Voir sur Prompt Guide