SuperAPI AI 工具集

tool-updater

编程与开发

查看项目

更新于 10-16 09:47

技能介绍

用途:安全地刷新既有 CLI 工具。适用场景包括工具出现 require() 路径损坏或运行时错误、CLI 接口需要更新(新增参数、行为变化)、复盘标记工具陈旧或表现不佳、用户要求审计或刷新既有工具。

核心原则:不得盲目更新。每次刷新都要有证据支撑、经 TDD 把关并通过集成验证。

工作流: 第 0 步评估现状:读取工具文件理解用途;检查是否已注册到 package.json scripts;用 node <tool-path> --help 测试 CLI 接口;识别破损 require、缺失错误处理、陈旧逻辑。 第 1 步调研最佳实践:阅读 .claude/tools/cli/CLAUDE.md 了解工具约定;参考同类工具模式(尤其 cli-wrapper.cjs 用法);检查是否使用 ../../lib/utils/cli-wrapper.cjs 的 wrapCLITool();需要外部调研时使用 Skill({ skill: 'research-synthesis' })。 第 2 步生成补丁待办:列出具体改动,优先级为破损 require > CLI 接口 > 错误处理 > 逻辑;估算范围,小于 30 行可自动应用,大于 30 行进入计划模式。 第 3 步应用更新:先写或更新测试(RED),再改工具(GREEN),然后重构(REFACTOR);使用 Edit 工具,不要整体重写文件。 第 4 步验证集成:确认无 MODULE_NOT_FOUND;确认 --help 输出正确完整;确认缺少参数时优雅退出(exit 1 并给出用法);CLI 工具需在 package.json 中注册脚本;运行 pnpm lint:fix && pnpm format 及工具专属测试。 第 5 步记录:重要改动通过 MemoryRecord 记录,更新 CHANGELOG.md。

领域校验要求:工具必须无 MODULE_NOT_FOUND 加载;必须优雅处理 --help 与缺参;require() 路径必须相对文件而非相对 CWD;子进程必须 shell: false;建议使用 wrapCLITool();面向用户的工具应在 package.json 注册。

反模式:使用 CWD 相对 require 而非文件相对;catch 中静默吞掉错误;硬编码本应由 __dirname 计算的路径;spawn/exec 使用 shell: true。