你的CLI工具为什么看起来像脚手架?cli-developer教你写生产级命令行

为什么你的 CLI 工具看起来像脚手架,而别人的像产品?

写 CLI 工具这件事,写出来容易,写好难。

很多人写 CLI:拿 argparse 糊一个命令,加个 –help,然后就没了。用户体验?不存在的。跨平台兼容?没考虑过。Shell 补全?用户自己想办法。

而真正生产级的 CLI——速度 <50ms 启动、完善的帮助文档、智能补全、CI/CD 里不卡壳、跨 macOS/Windows/Linux 全家桶跑通——背后是一套完整的工程约束。这些约束,正是 cli-developer 这套 Skill 要喂给你的东西。

三个语言生态,一套方法论

cli-developer 来自 Jeffallan/claude-skills 仓库(GitHub ★ 10.8k),这个仓库本身就聚合了 66 个全栈开发 Skill,而 cli-developer 是其中最硬核的一个——专攻 CLI 工具开发。

它覆盖三条主流技术栈:

  • Node.js:Commander.js 生态,完整的子命令、选项、参数解析链路
  • Python:Click / Typer,装饰器风格,代码量少,可读性高
  • Go:Cobra,工程化程度最高,Kubernetes / Docker 等知名工具都在用

同一套方法论,映射到三种语言实现。学到的是 CLI 开发的”内功”,换语言也能迁移。

五步工作流,每步都有硬约束

cli-developer 不是给你一堆代码片段就完事了,它定义了一个严格的五步工作流:

  1. Analyze UX:梳理用户路径,设计命令层级——这是很多人跳过的第一步,却是最决定 CLI 上限的一步
  2. Design Commands:规划子命令、选项、参数,保证命名一致性和签名稳定性
  3. Implement:用对应语言的框架写代码,写完必须跑 –help 和 –version 验证
  4. Polish:补全 Bash/Zsh/Fish 补全脚本,添加进度条、颜色输出、错误提示。关键:颜色要 TTY 检测,CI 环境里不能蹦颜色
  5. Test:跨平台冒烟测试,benchmark 启动时间,目标 <50ms

每一步都有”必须做”和”禁止做”的清单,比如:禁止在同步 I/O 上阻塞、禁止在 stderr 当 TTY 时输出颜色、禁止在 CI 环境里要求交互式输入。这些坑我一个一个踩过,cli-developer 直接帮你绕开。

谁应该用?

CLI 开发者首选。如果你:

  • 正在给团队写内部工具,想让体验上一个台阶
  • 准备把自己的开源库配一个命令行界面
  • 需要做 API 客户端、部署脚本、CI/CD 集成工具

cli-developer 不是教你”怎么写”,而是教你”怎么写对”——从参数解析到补全脚本到跨平台测试,全套覆盖。

怎么安装

在 Claude Code 里直接跑:

npx skills add https://github.com/Jeffallan/claude-skills --skill cli-developer

也可以在 SkillsMP 页面查看完整文档:skillsmp.com/creators/jeffallan/claude-skills/skills-cli-developer

建议搭配同仓库的 devops-engineerapi-designer 一起用,从设计到交付一条龙。

GitHub 仓库 →


GitHub: https://github.com/Jeffallan/claude-skills

评论区

0 条评论

登录后可评论。

江望 106 阅读