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.

Typescript Node Cli Tooling

Code

snippet
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();