CreateCLI

Generate TypeScript command-line tools with tiered templates, type safety, and documentation.

Updated Jul 10, 2026
One-click install
npx skills add https://github.com/Kaleb-Rupe/aurora --skill createcli-kaleb-rupe
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: CreateCLI
Source: https://github.com/Kaleb-Rupe/aurora/tree/main/claude/skills/Utilities/CreateCLI
Command: npx skills add https://github.com/Kaleb-Rupe/aurora --skill createcli-kaleb-rupe

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires commander, and includes references (resource) components.

What problem does it solve? Building a command-line tool from scratch involves repetitive setup: argument parsing, error handling, help text, configuration loading, and documentation. This Skill automates that entire process, generating a complete TypeScript CLI that follows a proven pattern instead of a bare scaffold. ## Core Features & Use Cases - Three-Tier Template System: Generates zero-dependency manual-parsing CLIs by default, escalates to Commander.js for complex multi-command tools, and documents oclif for enterprise plugin systems. - Complete Project Output: Produces the TypeScript source, package.json, tsconfig.json, .env.example, README.md, and QUICKSTART.md in one pass. - Extension Workflows: Adds new commands to existing CLIs or migrates a simple CLI to a framework-based tier when complexity grows. - Use Case: Ask for a CLI wrapping the GitHub API with repo listing, issue creation, and code search, and receive a working tool with JSON output, error handling, and full help text ready to run with Bun. ## Quick Start Ask the assistant to create a CLI for your chosen API or service, listing the commands you need and how it should authenticate.

Frequently Asked Questions about CreateCLI

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I create a TypeScript CLI without a framework?

Use manual process.argv parsing with a switch statement routing to one async function per command. This zero-dependency pattern handles 2-10 commands in roughly 300 lines with full type safety, and is the default tier this Skill generates.

Commander.js vs manual argument parsing for a CLI?

Manual parsing suits simple CLIs with 2-10 commands, JSON output, and no subcommands, giving zero dependencies and full control. Commander.js fits when you need 10+ grouped commands, git-style subcommands, or auto-generated help.

When should I use oclif for a command-line tool?

oclif fits enterprise plugin systems at Heroku or Salesforce CLI scale with 50+ commands, topics, and auto-update mechanisms. Its 22+ MB bundle and steep learning curve make it overkill for most CLIs, so this Skill documents it for reference only.

Does the generated CLI work with Bun instead of Node.js?

Yes, generated CLIs target the Bun runtime with a bun shebang, Bun as package manager, and ESM TypeScript in strict mode. They load configuration from a .env file and output deterministic JSON to stdout.

How do I add a new command to an existing CLI?

The AddCommand workflow locates the CLI, adds a typed command function, registers it in the switch statement or Commander program, updates help text and README, then verifies the command runs and appears in --help output.

Why upgrade a CLI from manual parsing to Commander.js?

Upgrade when the switch statement exceeds roughly 15 commands, you need subcommand grouping, plugin architecture, or multiple output formats. The UpgradeTier workflow converts commands while preserving help quality and bumps the major version.