Philosophy: "It's for me mostly, so I like awesome"
Since we're using Bun anyway, let's make this CLI absolutely delightful to use.
- chalk - Terminal colors and styling
- ora - Elegant terminal spinners
- listr2 - Multi-step task lists with progress
- boxen - Beautiful boxes around text
- cli-table3 - Terminal tables
- enquirer - Interactive prompts
- commander - CLI framework and arg parsing
- pino - Structured logging (JSON + pretty)
- update-notifier - Update notifications
- omelette - Shell completion (bash/zsh/fish)
- cosmiconfig - Configuration file loader
- zod - TypeScript schema validation
- figlet - ASCII art text
- cli-progress - Progress bars
import chalk from 'chalk';
console.log(chalk.green('✓ Success!'));import ora from 'ora';
const spinner = ora('Deploying...').start();
await deploy();
spinner.succeed('Deployed!');import { Listr } from 'listr2';
const tasks = new Listr([
{ title: 'Build', task: async () => await build() },
{ title: 'Deploy', task: async () => await deploy() }
]);
await tasks.run();import boxen from 'boxen';
console.log(boxen('Deploy Successful!', {
padding: 1,
borderColor: 'green'
}));All libraries are:
- ✅ Actively maintained
- ✅ Millions of downloads per week
- ✅ Trusted maintainers
- ✅ Minimal dependencies
Before updating: Always run bun pm audit and check package reputation.