业务背景
日常开发中反复出现的琐事:批量处理图片、生成项目脚手架、清理云资源、格式化 CSV……每次现写脚本不如沉淀成可复用的 CLI 工具。项目从一个 20 行的脚本长成插件式工具集,意外收获了社区关注。
架构简述
- 核心:TypeScript + Commander,命令与插件分离,核心只负责注册与调度;
- 插件机制:约定式目录加载 + 简单的生命周期钩子,第三方插件一个 npm 包即可分发;
- 分发:npx 直接运行免安装,CI 自动发布到 npm。
核心业务成果
- GitHub 300+ Stars,20+ Forks,收到 8 个外部 PR;
- npm 周下载量 1500+;
- 自身已经成为我每天使用的高频工具,Dogfooding 驱动迭代。
技术难点总结
- 插件隔离:插件运行时错误不能拖垮主进程,用子进程隔离 + 超时熔断;
- 跨平台兼容:路径、shell 转义、终端色彩在 Windows/macOS/Linux 的差异统一封装;
- 渐进式文档:CLI 帮助即文档(--help 生成),配合 README 的 Gif 演示降低上手门槛。
