Node.js CLI Tool with Commander
Build a type-safe CLI tool in Node.js using Commander.js with subcommands, option parsing, help generation, and TypeScript. Includes chalk-colored output.
Code
import { Command } from 'commander';
import chalk from 'chalk';
const program = new Command();
program
.name('mycli')
.description('A type-safe CLI tool')
.version('1.0.0');
program
.command('build <input>')
.option('-o, --output <path>', 'output directory', 'dist')
.option('--minify', 'minify output', false)
.action((input: string, opts: { output: string; minify: boolean }) => {
console.log(chalk.green(`Building ${input} → ${opts.output}`));
if (opts.minify) console.log(chalk.gray('Minification enabled'));
});
program.parse();