Skill for building TypeScript CLIs using citty, @clack/prompts, and @bomb.sh/tab
76
95%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Passed
No findings from the security scan
npm install citty `@bomb.sh/tab` `@clack/prompts`Minimal command:
import { defineCommand, runMain } from 'citty';
export default defineCommand({
meta: { name: 'greet', description: 'Say hello' },
args: { name: { type: 'string', description: 'Your name', required: true } },
run({ args }) { console.log(`Hello, ${args.name}!`); },
});defineCommand() — no exceptions() => import('./cmd').then(m => m.default)isCancel() after every @clack/prompts call — never skipcli/ structure when the user asks for project layout or scaffolding. Single-file CLIs are valid.See architecture for the full cli/ layout with commands, prompts, and lib directories. Do not impose this structure unless the user explicitly asks for scaffolding or project organization.
cli/ if multi-command — architecture--help to confirm command registration@clack/prompts reusable modules@bomb.sh/tab adapter