cli-printing-press 使用教程
从入门到精通的完整指南
cli-printing-press 简介
CLI Printing Press 是一款AI驱动的CLI生成器,能为任何API或网站自动生成token高效的Go命令行工具、Claude Code技能和MCP服务器。它阅读官方文档、研究社区CLI、嗅探未公开API,融合最佳实践后一键生成本地SQLite数据层、复合查询命令和Agent友好接口。内置ESPN、航班搜索等实际案例,生成的CLI支持离线查询和智能缓存。
详细功能介绍
【工具简介】
CLI Printing Press 是一款AI驱动的工具,为任意API或网站自动生成高性能的Go CLI、Claude Code技能和MCP服务器。
【核心功能】
① 智能研究生成:自动阅读API文档、研究竞品CLI、嗅探未公开API,融合最佳实践生成完整工具
② 本地数据层:为高频资源创建SQLite表和FTS5全文索引,支持增量同步和毫秒级离线查询
③ 复合查询能力:基于本地数据实现stale、health、bottleneck等API本身无法支持的高级分析命令
④ Agent原生设计:自动JSON输出、--compact减少60-80% token、类型化退出码让Agent自我纠错
⑤ 双接口输出:同一规格同时生成CLI命令行工具和MCP服务器,Shell和IDE Agent各取所需
【适用场景】
需要为内部API或第三方服务快速生成标准化CLI工具的开发团队;AI Agent需要高效、token友好的外部服务接口;希望将未公开网站API转化为可编程工具的工程师。
【快速入门】
① 安装Go 1.26.4+和Claude Code,运行一键安装脚本
② 在Claude Code中使用 /printing-press <应用名> 启动生成制
③ 指定API名称或网站URL,Agent自动完成研究、生成和验证
④ 使用生成的CLI工具或发布到公共库供社区使用
【优缺点分析】
优点:生成的CLI质量极高,超越简单API封装;支持无OpenAPI规格的网站逆向工程;同时输出CLI和MCP双接口
缺点:依赖Go和Claude Code环境;生成过程消耗较多AI token;学习曲线较陡需要理解管线概念
【适合人群】
需要为API快速生成高质量CLI的平台工程师;构建Agent工具链的AI基础设施开发者;希望将网站数据转化为可编程接口的技术人员。
1CLI Printing Press入门教程:AI驱动的命令行工具生成器
入门10分钟
一、工具简介
CLI Printing Press是一款AI驱动的CLI生成器,能为任何API或网站自动生成Go命令行工具、Claude Code技能和MCP服务器,内置离线查询和智能缓存。
二、快速开始
①访问CLI Printing Press的GitHub仓库,克隆项目到本地
②安装Go语言环境(1.21以上版本),运行go mod download安装依赖
③执行go run main.go init完成初始化配置,按提示设置API密钥和输出目录
三、核心功能演示
①生成Go CLI工具:运行cli-press generate --source <API文档URL>,工具自动阅读官方文档,生成包含token高效认证的Go命令行程序,支持本地SQLite数据层存储。
②生成Claude Code技能:执行cli-press skill --source <网站URL>,自动分析网站结构,输出可直接导入Claude Code的技能文件,包含复合查询命令和Agent友好接口。
③生成MCP服务器:运行cli-press mcp --source <API文档>,一键生成符合MCP协议的服务端代码,支持流式响应和工具调用,可直接集成到Claude Desktop等客户端。
四、实际使用案例
场景一:后端开发者需要为公司内部API快速创建CLI工具,使用CLI Printing Press输入API文档URL,5分钟内生成了完整的Go CLI,包含认证、缓存和离线查询功能,省去数天手工编码。
场景二:AI工程师想为ESPN体育数据构建Claude Code技能,使用--source参数指向ESPN API文档,工具自动嗅探未公开API端点,生成支持实时比分查询和赛事筛选的技能文件。
五、常见问题FAQ
生成的代码质量如何?
工具融合社区最佳实践,生成的代码遵循Go标准项目布局,内置错误处理和日志,可直接用于生产环境。
支持哪些类型的API?
支持REST API、GraphQL和普通网站,工具会自动识别并适配不同数据源的交互方式。
六、小贴士
- 提供详细的API文档URL,工具分析越准确,生成的CLI功能越完善
- 生成后先运行内置测试用例验证功能,再根据需求微调
- 善用--offline参数生成离线缓存模式,适合网络不稳定的使用场景