Building a CLI Tool with Node.js: From Zero to npm
CLI tools are the best way to automate repetitive tasks. Here's how to build and publish one.
Why Build a CLI?
Automate your daily workflows
Share tools with your team (or the world)
Learn Node.js streams, file system, process management
Publish to npm — instant credibility + potential users
Step 1: Project Setup
mkdir my-cli && cd my-cli npm init -y
# Install dependencies npm install commander inquirer chalk ora
Enter fullscreen mode
Exit fullscreen mode
package.json essentials:
{ "name" : "my-cli" , "version" : "1.0.0" , "description" : "My awesome CLI tool" , "bin" : { "my-cli" : "./bin/cli.js" }, "type" : "module" , // Use ES modules "engines" : { "node" : ">=18.0.0" }, "files" : [ # What gets published to npm "bin/" , "src/" ], "keywords" : [ "cli" , "tool" ], "license" : "MIT" }
Enter fullscreen mode
Exit fullscreen mode
Step 2: The Entry Point
#!/usr/bin/env node // bin/cli.js — Shebang line makes it executable
import { program }…