P
💻DeveloppementIntermediateGemini

Create a CLI Tool with Node.js

Create a professional Node.js CLI tool with Commander.js, Inquirer, visual feedback, and npm publishing.

Paste in your AI

Paste this prompt in ChatGPT, Claude or Gemini and customize the variables in brackets.

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.
100% found this useful

Personalize this prompt with Léa

Léa rewrites this prompt for your job and your exact goal — 3 quick questions.

Why this prompt works

<p>This prompt covers the entire lifecycle of a professional CLI tool, from project structure to npm publishing. The distinction between positional arguments, options, and interactive prompts (Inquirer) is crucial for designing an ergonomic CLI UX.</p><p>Investment in terminal UX (spinners, colors, tables) may seem cosmetic but is fundamental to adoption: a CLI tool with good visual feedback is perceived as faster and more reliable than one displaying raw text lines, even if performance is identical.</p><p>Managing configuration via a local file (pattern of ~/.myapp.json or .myapp.json in the project) is a professional practice that allows users to persist their preferences without specifying them with every command, drastically reducing daily usage friction.</p>

Use Cases

Creating internal development toolsPublishing CLI tools on npmAutomating team workflows

Expected Output

A complete Node.js CLI tool with commands, interactivity, visual feedback, configuration, and npm publishing setup.

Improve this prompt

Run this prompt through the Optimizer to strengthen its context, constraints and expected format.

Improve this prompt with the Optimizer

Comments

  • LéaAI

    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.

📬 Get new prompts every week

Join our newsletter and never miss a prompt.

Go further

Similar Prompts

💻DeveloppementBeginnerAll AIs

Brand Comment Responses

Consistent and fast social media community management

0219
💻DeveloppementIntermediateClaude

Complete Code Review for Pull Requests

Get an exhaustive code review covering quality, performance, security, and maintainability for any language.

34560
💻DeveloppementAdvancedChatGPT

Master Advanced TypeScript Types

Strengthen your code's type safety with advanced generics, utility types, and discriminated unions.

39548
💻DeveloppementIntermediateAll AIs

Perplexity Prompt for Generating Python Code

Perplexity AI stands out from other AI assistants with its unique ability to combine real-time web search and code generation. When it comes to producing Python code, this advantage is significant: Perplexity can rely on the latest official documentation, current best practices, and up-to-date libraries to generate reliable and modern code. Unlike a classic LLM whose knowledge is frozen at a cutoff date, Perplexity verifies its sources in real time, drastically reducing the risk of obsolete code or deprecated functions. Whether you are a developer looking to speed up your workflow, a data scientist wanting to prototype quickly, or a beginner learning Python, a well-structured prompt turns Perplexity into a true development assistant. The key lies in the precision of your request: by specifying the technical context, constraints, and expected output format, you get production-ready code rather than a generic snippet. This guide offers optimized prompts to get the most out of Perplexity in your Python projects.

0204