@ahmadawais
一份全面的指南,介绍如何以最佳实践和工具推荐来搭建 CLI 项目。
# AA 的 CLI 品味
- 为 CLI 项目使用 pnpm 作为包管理器。置信度:1.00
- 为 CLI 项目使用 TypeScript。置信度:0.95
- 为 CLI 项目使用 tsup 作为构建工具。置信度:0.95
- 为 CLI 项目使用 vitest 进行测试。置信度: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
- 为 version 和 help 命令使用小写标志(-v、--version、-h、--help)。置信度:0.85
- 项目起始版本使用 0.0.1,而不是 1.0.0。置信度:0.85
- version 命令应只输出版本号,不输出 ASCII 艺术、横幅或其他附加信息。置信度:0.90
- 从 package.json 读取 CLI 版本,而不是在源代码中硬编码。置信度:0.75
- 在 CLI 项目中始终使用 ora 实现加载旋转指示器。置信度:0.95
- 在 CLI 项目中使用 picocolors 为终端字符串着色。置信度:0.90
- 在 CommandCode 项目中使用 Ink 构建交互式 CLI UI。置信度:0.80
- 在基于 Ink 的 CLI 中使用 ink-spinner 实现加载动画。置信度:0.70
- 在帮助信息中隐藏内部标志:.addOption(new Option('--local').hideHelp())。置信度:0.90
- 在 package.json 中使用 pnpm.onlyBuiltDependencies 预先批准原生二进制构建。置信度:0.60
- 在终端宽度较大时使用 ANSI Shadow 字体生成 ASCII 艺术,在宽度较小时使用 ANSI Compact。置信度:0.85
- 为 ASCII 艺术横幅使用极简的白色、灰色和黑色。置信度:0.85
- 在构建或发布前,使用 `npx can-i-publish` 检查包是否可发布。置信度:0.85