aa/cli taste — ChatGPT prompt for CLI project conventions
This prompt sets preferences for TypeScript CLI projects, from package management to command handling. Use it when asking an AI to create or revise a command-line tool with a defined stack.
Open on GitHubWhat aa/cli taste does
The prompt recommends pnpm, TypeScript, tsup for builds, vitest for tests, and Commander.js for command handling. It suggests clack for interactive input and ora for loading spinners. These are specific project preferences, not a general application template.
It calls for keeping command modules in a dedicated commands folder and reading the CLI version from package.json. Other conventions cover help and version flags, a terminal welcome banner, and checking for name conflicts before running npm link. Before publishing, it advises checking the package with npx can-i-publish.
Some guidance applies only in particular cases: Ink is recommended for interactive interfaces in CommandCode projects, while ink-spinner is for Ink-based CLIs. If an existing project follows a different stack or conventions, these preferences may conflict with it; account for that before generating code.
What it helps with
- choose a toolchain for a new CLI project
- organize command handlers into separate modules
- set conventions for help and version flags
- check a CLI name before running
npm link - check package publishability before release
Example prompts for the agent
- Create a TypeScript CLI using aa/cli taste, with
pnpm,Commander.js, andvitest. - Move this tool's commands into separate modules in a
commandsfolder and apply the prompt's help and version conventions. - Review this package for publishing using aa/cli taste, including
npx can-i-publish.
How to install aa/cli taste
How to use
Paste the text at the start of a chat or into project instructions
Manually: put the files in place
.claude/commands/prompts.csv.mdQuestions about aa/cli taste
How do I install aa/cli taste in Claude Code?
Place the prompt file at .claude/commands/prompts.csv.md. No separate installation command is provided for ChatGPT or Claude.ai.
What does aa/cli taste do?
It sets preferences for building CLI projects, including a TypeScript toolchain, command handling, terminal interaction, and version and help conventions.
Which tools does the prompt recommend for TypeScript CLIs?
Its core suggestions include pnpm, tsup, vitest, and Commander.js. It names clack for interactive input.
Source text
prompts.csv · CC0-1.0
# Cli taste of AA
- Use pnpm as the package manager for CLI projects. Confidence: 1.00
- Use TypeScript for CLI projects. Confidence: 0.95
- Use tsup as the build tool for CLI projects. Confidence: 0.95
- Use vitest for testing CLI projects. Confidence: 0.95
- Use Commander.js for CLI command handling. Confidence: 0.95
- Use clack for interactive user input in CLI projects. Confidence: 0.95
- Check for existing CLI name conflicts before running npm link. Confidence: 0.95
- Organize CLI commands in a dedicated commands folder with each module separated. Confidence: 0.95
- Include a small 150px ASCII art welcome banner displaying the CLI name. Confidence: 0.95
- Use lowercase flags for version and help commands (-v, --version, -h, --help). Confidence: 0.85
- Start projects with version 0.0.1 instead of 1.0.0. Confidence: 0.85
- Version command should output only the version number with no ASCII art, banner, or additional information. Confidence: 0.90
- Read CLI version from package.json instead of hardcoding it in the source code. Confidence: 0.75
- Always use ora for loading spinners in CLI projects. Confidence: 0.95
- Use picocolors for terminal string coloring in CLI projects. Confidence: 0.90
- Use Ink for building interactive CLI UIs in CommandCode projects. Confidence: 0.80
- Use ink-spinner for loading animations in Ink-based CLIs. Confidence: 0.70
- Hide internal flags from help: .addOption(new Option('--local').hideHelp()). Confidence: 0.90
- Use pnpm.onlyBuiltDependencies in package.json to pre-approve native binary builds. Confidence: 0.60
- Use ANSI Shadow font for ASCII art at large terminal widths and ANSI Compact for small widths. Confidence: 0.85
- Use minimal white, gray, and black colors for ASCII art banners. Confidence: 0.85
- Check if package is publishable using `npx can-i-publish` before building or publishing. Confidence: 0.85
© ahmadawais · CC0-1.0 · f/prompts.chat