cli-creator

Create Typer-based Python CLIs and wire console scripts into pyproject.toml.

Updated Dec 23, 2025
One-click install
npx skills add https://github.com/gordonwatts/skill-test --skill cli-creator-gordonwatts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cli-creator
Source: https://github.com/gordonwatts/skill-test/tree/main/.codex/skills/cli-creator
Command: npx skills add https://github.com/gordonwatts/skill-test --skill cli-creator-gordonwatts

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Create or extend Python command-line interfaces using Typer and wire them into pyproject.toml entry points, helping teams initialize consistent CLI projects without manual configuration.

Core Features & Use Cases

  • Scaffold Typer-based CLI modules and expose them via [project.scripts].
  • Automatically detect packaging layout (src/ vs flat) and generate a main entry.
  • Provide a guided workflow to add subcommands and ensure packaging readiness for distribution.

Quick Start

Initialize a new CLI named my-cli in an empty directory and run the default workflow to create the Typer app, update pyproject.toml, and wire a console script.

Frequently Asked Questions about cli-creator

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

FAQPage Schema
How do I scaffold a Python CLI with Typer and wire it into pyproject.toml?

To scaffold a Python CLI with Typer, this tool initializes a Typer-based application, updates pyproject.toml, and automatically wires a console script entry point for distribution.

How do I add subcommands to an existing Typer CLI module?

You can add subcommands to a Typer CLI module by running the guided workflow, which extends your existing Typer application structure and ensures packaging readiness for distribution.

Does the CLI scaffolding tool detect src versus flat packaging layouts?

Yes, the CLI scaffolding tool automatically detects your packaging layout, differentiating between src and flat directories, to generate the correct main entry point for your project.

How do I expose console scripts in pyproject.toml for a new Python package?

Expose console scripts in pyproject.toml by initializing a new Typer-based CLI module, which automatically updates the project configuration to register the executable entry point.

What is the best way to initialize a consistent Python command-line interface project without manual configuration?

Initializing a consistent Python command-line interface project requires automating Typer app creation and pyproject.toml entry point wiring, eliminating manual configuration errors across team environments.