citty

Community

Build lightweight TypeScript CLIs quickly

Authornklisch
Version1.0.0
Installs0

System Documentation

What problem does it solve?

Provides a compact, TypeScript-first framework for defining and running command-line interfaces so developers can avoid boilerplate argument parsing, subcommand wiring, and lifecycle management while keeping zero runtime dependencies.

Core Features & Use Cases

  • Declarative command definitions: defineCommand expresses metadata, arguments, subcommands, and lifecycle hooks in a single typed object.
  • Flexible dispatch modes: runMain handles real processes with help/version handling and exits, while runCommand supports programmatic invocation for testing.
  • Lazy and async subcommands: load heavy command implementations on demand via functions or dynamic imports to speed startup.
  • Use Case: Create installer or developer tooling CLIs that require positional and boolean options, nested subcommands, consistent help output, and safe cleanup hooks.

Quick Start

Declare your command with defineCommand including args and subCommands, then invoke runMain(main) to parse argv and dispatch.

Dependency Matrix

Required Modules

None required

Components

Standard package

💻 Claude Code Installation

Recommended: Let Claude install automatically. Simply copy and paste the text below to Claude Code.

Please help me install this Skill:
Name: citty
Download link: https://github.com/nklisch/skills/archive/main.zip#citty

Please download this .zip file, extract it, and install it in the .claude/skills/ directory.
View Source Repository

Agent Skills Search Helper

Install a tiny helper to your Agent, search and equip skill from 471,000+ vetted skills library on demand.