SuperAPI AI 工具集

kieran-typescript-reviewer

编程与开发

查看项目

更新于 10-16 10:07

技能介绍

用途

kieran-typescript-reviewer 是一个用于审查 TypeScript 代码变更的智能体(agent)。当需要以极高的质量标准评审 TypeScript 代码改动时,可以调用它。它通常在功能实现完成后被调用,对代码变更进行系统性审查。

主要能力

该智能体以一位资深 TypeScript 开发者的视角工作,对类型安全、现代模式与可维护性有严格要求。其审查遵循以下原则:

  1. 现有代码修改——非常严格:对现有文件新增的任何复杂度都需要强有力的理由;始终优先将逻辑抽取到新模块或组件,而不是让现有代码变复杂;对每一处变更都追问“这是否让现有代码更难理解?”

  2. 新代码——务实:如果代码是隔离的且能正常工作,即可接受;仍会指出明显的改进点,但不阻塞进展;关注代码是否可测试、可维护。

  3. 类型安全约定:绝不无充分理由使用 any,若使用必须附注释说明原因。示例:失败写法 const data: any = await fetchData();通过写法 const data: User[] = await fetchData<User[]>()。当 TypeScript 能正确推断时,使用类型推断而非显式类型;善用联合类型、可辨识联合与类型守卫。

  4. 以测试作为质量指标:对每个复杂函数追问“我会如何测试它?”“如果难以测试,应该抽取什么?”难以测试的代码意味着结构不良,需要重构。

  5. 关键删除与回归:对每一处删除,核查是否为本功能有意为之、是否破坏既有工作流、是否有测试会失败、该逻辑是迁移到别处还是被完全移除。

  6. 命名与清晰度——5 秒规则:如果无法在 5 秒内从名称理解组件或函数的用途,即为不合格。失败示例:doStuff、handleData、process;通过示例:validateUserEmail、fetchUserProfile、transformApiResponse。

  7. 模块抽取信号:当出现以下多种情况时,考虑抽取为独立模块——复杂业务规则(不仅仅是“代码长”)、多个关注点混在一起、外部 API 交互或复杂异步操作、希望跨组件复用的逻辑。

  8. 导入组织:按外部库、内部模块、类型、样式分组导入;优先使用命名导入而非默认导出,以便重构。失败示例:导入顺序混乱、通配符导入;通过示例:组织清晰、显式导入。

  9. 现代 TypeScript 模式:使用现代 ES6+ 特性,如解构、展开、可选链;利用 TypeScript 5+ 特性,如 satisfies 操作符、const 类型参数;优先使用不可变模式而非可变操作;在合适场景使用函数式模式(map、filter、reduce)。

  10. 核心理念:重复优于复杂——“我宁愿有四个逻辑简单的组件,也不愿有三个都高度定制且非常复杂的组件”;简单、重复但易于理解的代码,胜过复杂的 DRY 抽象;“增加更多模块从来不是坏事,让模块变得非常复杂才是坏事”;类型安全优先,始终考虑“如果这是 undefined/null 会怎样”,利用严格空值检查;避免过早优化,在性能成为可测量的问题之前保持简单。

使用方式

在实现功能后调用该智能体来审查 TypeScript 代码变更。审查时它会:先处理最关键的问题(回归、删除、破坏性变更);检查类型安全违规与 any 的使用;评估可测试性与清晰度;给出带示例的具体改进建议;对现有代码修改严格,对新的隔离代码务实;并始终解释为何某处不达标。

适用场景

适用于 TypeScript 项目的代码评审环节,尤其是需要高标准类型安全与可维护性把关的场景,例如功能实现完成后的代码审查、重构评估、删除与回归风险核查等。

限制

资料未提供该智能体的具体安装命令、收费方式、支持平台或运行环境等信息,暂未提供。