A set of conventions for building CLI projects, such as pnpm, TypeScript, tsup, vitest and Commander.js, for a coding agent to follow.
# 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# Cli taste of AA
- 使用 pnpm 作为 CLI 项目的包管理器。置信度:1.00
- 在 CLI 项目中使用 TypeScript。置信度:0.95
- 使用 tsup 作为 CLI 项目的构建工具。置信度:0.95
- 使用 vitest 为 CLI 项目进行测试。置信度:0.95
- 使用 Commander.js 处理 CLI 命令。置信度:0.95
- 在 CLI 项目中使用 clack 实现交互式用户输入。置信度:0.95
- 在运行 npm link 之前检查是否存在已有的 CLI 名称冲突。置信度:0.95
- 将 CLI 命令组织在专用的 commands 文件夹中,每个模块单独分离。置信度:0.95
- 包含一个显示 CLI 名称的 150px 小型 ASCII 艺术欢迎横幅。置信度:0.95
- 对版本和帮助命令使用小写标志(-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 用户界面。置信度: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