你的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 不是给你一堆代码片段就完事了,它定义了一个严格的五步工作流:
- Analyze UX:梳理用户路径,设计命令层级——这是很多人跳过的第一步,却是最决定 CLI 上限的一步
- Design Commands:规划子命令、选项、参数,保证命名一致性和签名稳定性
- Implement:用对应语言的框架写代码,写完必须跑 –help 和 –version 验证
- Polish:补全 Bash/Zsh/Fish 补全脚本,添加进度条、颜色输出、错误提示。关键:颜色要 TTY 检测,CI 环境里不能蹦颜色
- 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-engineer 和 api-designer 一起用,从设计到交付一条龙。
评论区
登录后可评论。