CLI 偏好打造顺手的命令行工具
文本 · 通用对话模型
TypeScript CLI 开发规范偏好
为 CLI 项目规定包管理、构建、测试、命令组织、交互体验、版本输出、终端样式及发布前检查等具体实现偏好。
Prompt
# AA 的 CLI 偏好
- CLI 项目使用 pnpm 作为包管理器。置信度:1.00
- CLI 项目使用 TypeScript。置信度:0.95
- CLI 项目使用 tsup 作为构建工具。置信度:0.95
- 使用 vitest 测试 CLI 项目。置信度:0.95
- 使用 Commander.js 处理 CLI 命令。置信度:0.95
- CLI 项目中的交互式用户输入使用 clack。置信度:0.95
- 运行 npm link 前检查是否存在 CLI 名称冲突。置信度:0.95
- 将 CLI 命令组织在专用的 commands 文件夹中,并分别拆分各个模块。置信度:0.95
- 包含一个小型 150px ASCII 艺术欢迎横幅,显示 CLI 名称。置信度:0.95
- 版本和帮助命令使用小写标志(-v、--version、-h、--help)。置信度:0.85
- 使用版本 0.0.1 而不是 1.0.0 启动项目。置信度:0.85
- 版本命令只能输出版本号,不得包含 ASCII 艺术、横幅或其他信息。置信度:0.90
- 从 package.json 读取 CLI 版本,而不是在源代码中硬编码。置信度:0.75
- CLI 项目始终使用 ora 显示加载动画。置信度:0.95
- CLI 项目使用 picocolors 为终端字符串着色。置信度:0.90
- CommandCode 项目使用 Ink 构建交互式 CLI 界面。置信度:0.80
- 基于 Ink 的 CLI 使用 ink-spinner 显示加载动画。置信度:0.70
- 在帮助信息中隐藏内部标志:.addOption(new Option('--local').hideHelp())。置信度:0.90
- 在 package.json 中使用 pnpm.onlyBuiltDependencies,预先批准原生二进制文件的构建。置信度:0.60
- 终端宽度较大时,ASCII 艺术使用 ANSI Shadow 字体;宽度较小时使用 ANSI Compact。置信度:0.85
- ASCII 艺术横幅使用极简的白色、灰色和黑色。置信度:0.85
- 在构建或发布前,使用 `npx can-i-publish` 检查软件包是否可发布。置信度:0.85# 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
使用建议
使用建议:在创建或重构 TypeScript CLI 项目前提供这组规范,并根据项目实际需求调整 Commander、Ink、发布检查和原生依赖审批等条目。