createcli_skill
- TypeScript
10.2k
GitHub Stars
4
Bundled Files
2 months ago
Catalog Refreshed
4 months ago
First Indexed
Readme & install
Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.
Installation
Preview and clipboard use veilstrat where the catalogue uses aiagentskills.
npx veilstrat add skill danielmiessler/personal_ai_infrastructure --skill createcli- FrameworkComparison.md11.8 KB
- Patterns.md10.2 KB
- SKILL.md9.5 KB
- TypescriptPatterns.md17.1 KB
Overview
This skill generates production-ready TypeScript command-line tools following CLI-First Architecture and PAI standards. It defaults to a lightweight, zero-dependency llcli-style template, escalates to Commander.js when needed, and outputs complete code, tests, and documentation ready for Bun runtime. It applies user customizations if present before generation.
How this skill works
Before running, the skill checks for user customizations at ~/.claude/skills/CORE/USER/SKILLCUSTOMIZATIONS/CreateCLI/ and applies any preferences or config found there. It routes your request to the proper workflow (create new CLI, add command, upgrade tier), emits a voice and text notification when executing, then generates TypeScript source, strict tsconfig, Bun package setup, docs, and quality gates. Templates include Tier 1 (llcli-style), Tier 2 (Commander.js), and Tier 3 guidance for oclif-scale projects.
When to use it
- You want a TypeScript CLI to wrap an API or automate repetitive terminal tasks
- You repeatedly run complex bash scripts and need type safety, help text, and error handling
- You need a small, composable JSON-output CLI for pipelines and tooling
- You plan a multi-command tool with subcommands and need Commander.js escalation
- You need production-ready docs, testing setup, and Bun-compatible packaging
Best practices
- Default to Tier 1 (llcli-style) for 2–10 commands and simple flags to stay minimal and fast
- Escalate to Tier 2 (Commander.js) only when subcommands, nested options, or plugins are required
- Keep output deterministic JSON for composability with jq and other tools
- Externalize configuration via .env and provide .env.example for reproducibility
- Enforce strict TypeScript, explicit types, and exit codes for predictable behavior
Example use cases
- Create a GitHub API CLI to list repos, create issues, and search code (Tier 1)
- Build a file-processor CLI to convert markdown to HTML and extract frontmatter (Tier 1)
- Generate a data pipeline CLI with conversion, validation, and analysis subcommands (Tier 2)
- Add a new command to an existing CLI to support a new API endpoint or data format
FAQ
Personal CLIs go under ~/.claude/Bin/[cli-name]/ by default; project-specific CLIs can be placed in ~/Projects/[project-name]/. The skill prompts to confirm location before any git ops.
Which runtime and package manager are used?
Generated CLIs target Bun as the runtime and Bun tooling for package management; TypeScript strict mode is enforced and tests use Vitest when included.