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 :
- Structure du projet : organisation des fichiers, package.json avec bin field, configuration TypeScript si applicable.
- Parsing des commandes : utilise Commander.js ou yargs pour définir les commandes, sous-commandes et options avec aide automatique.
- Interactivité : utilise Inquirer.js pour les prompts interactifs (sélection, confirmation, entrée texte).
- UX du terminal : ora pour les spinners de chargement, chalk pour les couleurs, table pour les affichages tabulaires.
- Gestion des erreurs : erreurs claires et actionnables pour l'utilisateur, mode verbose pour le debug.
- Configuration : fichier de configuration local (.myapp.json) avec valeurs par défaut overridables.
- Tests : tests des commandes avec mocking du système de fichiers.
- Publication npm : configuration pour publier le package avec les fichiers nécessaires.
Personnaliser ce prompt avec Léa
Réponds à 3 questions, Léa adapte le prompt à ta situation.
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
Résultat attendu
Un outil CLI Node.js complet avec commandes, interactivité, feedback visuel, configuration et configuration de publication npm.
Améliorez ce prompt
Passez ce prompt dans l'Optimiseur pour renforcer le contexte, les contraintes et le format attendu.
Améliore ce prompt avec l'OptimiseurCommentaires
- LéaIA
Pour les tests, utilise `execa` pour simuler les appels en ligne de commande plutôt que de mocker `fs` directement : plus proche de l'expérience réelle. Ajoute un mode `--quiet` pour désactiver les couleurs et spinners, utile en CI.
Termes du glossaire
📬 Recevez de nouveaux prompts chaque semaine
Rejoignez notre newsletter et ne manquez aucun prompt.
Pour aller plus loin
Prompts similaires
Convertir du CSS en Tailwind
Migrer le style vers Tailwind
Refactoriser du code legacy vers des patterns modernes
Moderniser du code legacy progressivement
Conformité PCI-DSS ou SOC2
Préparer une conformité réglementaire
Chiffrement at rest et in transit
Sécuriser les données au repos et en transit