SuperAPI AI 工具集

reviewing-typescript-code

编程与开发

查看项目

更新于 10-16 01:49

技能介绍

用途:这是面向 Saleor Configurator 代码库的项目专属代码质量检查清单,用于审查 TypeScript 代码是否符合本项目的类型安全约定、错误处理模式与架构标准。适用场景包括新增实体类型、服务、仓库、比较器、格式化器,实现部署阶段或引导方法,创建 Zod schema 或错误类,以及在提交或合并 PR 前审查代码。

主要能力:覆盖类型安全、整洁代码、函数式模式、错误处理四类检查。类型安全要求生产代码不用 any(仅测试 mock 可例外),避免不安全断言 as unknown as T,无正当理由不用非空断言 !,领域值使用品牌类型 EntitySlug、EntityName,用可辨识联合而非继承,用 satisfies 做类型校验并保留字面量,不可变数据用 readonly。整洁代码要求单一职责、函数理想 10-50 行(最多约 100 行)、语义化命名、布尔命名使用 is/has/should/can 前缀、用命名常量代替魔法数字、长条件链改用注册表/策略模式、统一使用箭头函数。函数式模式要求不直接修改数组或对象,用 map/filter/flatMap 代替 for/forEach,避免在 reduce 中累积展开而应使用 Map。错误处理要求自定义错误继承 BaseError 并带错误码,GraphQL 错误用 GraphQLError.fromCombinedError() 包装,Zod 错误用 ZodValidationError.fromZodError() 包装,错误信息需可操作并给出恢复建议,错误需包含相关上下文。

输出格式:审查结果分为 Critical Issues(合并前必须修复)、Important Improvements(应处理但不阻塞)、Suggestions(可选改进)、Positive Observations(值得肯定的良好实践)。

项目专属约定:实体标识按 Slug(categories、products)或 Name(productTypes、pageTypes)区分;服务模式为构造器依赖注入 validator、repository、logger;仓库模式封装 GraphQL 操作并将响应映射为领域模型;测试模式使用 vi.fn() mock 与 schema 生成的测试数据;Zod-first 先定义 schema 再实现逻辑并用 z.infer<> 取类型。

常见错误与修正:生产代码用 any 应改为 unknown 加类型守卫;把 GraphQL 类型暴露给服务应在仓库中映射为领域类型;GraphQL 调用缺少错误上下文应包含操作名;长 if-else 链应重构为注册表/策略模式;reduce 中累积展开应改用 Map 或 Object.fromEntries;循环中 push 变更应改用 map/filter/flatMap。

参考与相关技能:技能内附 Anti-Patterns 与 Type Safety Examples 参考文件;项目资源包括 docs/CODE_QUALITY.md、docs/ARCHITECTURE.md、biome.json;快速参考规则见 .claude/rules/code-quality.md(编辑 src/**/*.ts 时自动加载)。相关技能有 adding-entity-types、designing-zod-schemas、validating-pre-commit。收费、价格、平台等信息暂未提供。