Skip to content

amirkabiri/tehlug

Repository files navigation

🚀 create-npm-cmd

A modern TypeScript starter template for building CLI tools

License: MIT TypeScript

✨ Features

  • 🎯 TypeScript First - Full TypeScript support with strict type checking
  • 📦 Zero Config - Pre-configured build system with tsup
  • 🔄 Semantic Release - Automated versioning and changelog generation
  • Fast Build - Optimized bundle with minification

🎯 Quick Start

# Clone this repository
git clone https://github.com/amirkabiri/create-npm-cmd.git my-awesome-cli
cd my-awesome-cli

# Install dependencies
npm install

# Build
npm run build

# Test locally
npm link
my-awesome-npm-cmd --help

📖 Usage

Running the Example

my-awesome-npm-cmd example
# Output: Hello World!

Adding New Commands

  1. Create a command file in src/commands/:
// src/commands/my-command.ts
import chalk from 'chalk';

export function myCommand() {
  console.log(chalk.green('My custom command!'));
}
  1. Register it in src/cli.ts:
import { myCommand } from './commands/my-command';

program
  .command('my-command')
  .description('Description of my command')
  .action(myCommand);

🛠️ Development

Available Scripts

  • npm run build - Build for production
  • npm run build:watch - Build in watch mode
  • npm run clean - Remove dist folder

📦 Publishing

Setup

  1. Create a GitHub repository
  2. Set up GitHub Actions secrets:

Commit Message Format

Use Conventional Commits for automatic versioning:

fix: bug fix          # Patch release (0.0.x)
feat: new feature     # Minor release (0.x.0)
feat!: breaking       # Major release (x.0.0)

Publish

npm run build
npm publish

🎨 Customization

Update package.json:

{
  "name": "your-cli-name",
  "bin": {
    "your-command": "./dist/cli.cjs"
  }
}

Update src/cli.ts:

program
  .name('your-command')
  .description('Your CLI description')

📚 Tech Stack

📄 License

MIT License - see the LICENSE file for details.


Happy CLI building! 🎉

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •