SuperAPI AI 工具集

library-craft

测试与质量

查看项目

更新于 10-16 02:39

技能介绍

用途:当工作影响可复用包、公共 API、包导出或面向维护者的源码组织时使用。示例触发语:library-craft this package before we publish。

默认姿态:分析优先,除非用户明确要求实现,否则不编辑源文件。默认范围:审查整个库契约,除非用户给出更窄范围。破坏性变更在能让库更干净、更小或更诚实的前提下是受欢迎的;若用户选择不变更兼容性,则保留兼容并说明取舍。

工作流:确定包、公共入口点、消费者契约,以及是否允许破坏性变更;阅读包元数据、导出映射、源码入口、构建配置、测试、夹具、README/文档、示例和发布说明;区分公共表面与内部形态;审查七个工艺视角:surface(导出、子路径、类型、默认值、运行时保证)、shape(目录、辅助函数、生成文件、夹具、构建产物)、names(面向用户的概念、选项、文件、辅助函数)、tests(公共 API、夹具、示例、类型测试、回归检查)、comments(公共文档、理由、兼容性说明、噪音叙述)、release(semver 影响、迁移路径、垫片、弃用)。

审查前加载 references/principles.md 获取审查词汇。对重大公共表面决策,建议进行聚焦的生态对比;在提出大型 API、导出、兼容性或发布形态变更前加载 references/ecosystem-comparison.md。撰写最终报告前加载 references/report-shape.md。

动作标签:keep 保留值得其成本的做法;rename 名称隐藏概念或泄露实现;move 文件或文件夹位置不利扫描路径;narrow 公共表面或选项过宽;split 一个入口或文件承担多个公共概念;merge 分离只带来仪式感而无真实概念;comment 注释缺失、过时、嘈杂或具有 API 意义;test 契约、夹具、类型或示例覆盖缺失;break 兼容性正在让包变差。对每个 break,需包含破坏什么、为何值得、迁移路径,以及是否应有兼容垫片。

规则:keep 保持简短,报告主要篇幅用于指出压力。将 package.json exports、README 示例和生成类型视为 API。注释解释为什么,不叙述代码已说明的内容。若包已有清晰的本地模式,不要发明新分类法。如果问题其实是模块深度、接缝设计或局部性,转交 improve-codebase-architecture。若命名变更影响项目语言,应说明并建议 grill-with-docs;默认不更新项目上下文。未经用户明确同意,不要发布评论、issue、release 或 PR 说明。