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
Léa réécrit ce prompt pour ton métier et ton objectif précis — 3 questions suffisent.
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
Concevoir un cadre de conformité en tant que code
Automatiser les contrôles de conformité
Implémenter la Clean Architecture en pratique
Implémentez la Clean Architecture en pratique avec couches, ports et adaptateurs, use cases et tests unitaires sans infrastructure.
Prompt pour maîtriser le SSR et l'hydratation avec Next.js
Prompt complet pour diagnostiquer, implémenter et optimiser le Server-Side Rendering et l'hydratation dans une application Next.js, avec gestion des erreurs courantes.
Stratégie de scheduling avancée
Optimiser le placement des pods