SuperAPI AI 工具集

typescript-nestjs-best-practices-cursorrules-promp-cursorrules

编程与开发

查看项目

更新于 10-15 21:09

技能介绍

用途:这是一份 TypeScript + NestJS 最佳实践的编码规则提示词,适用于让 AI 生成、修正或重构代码时遵循统一的风格与设计原则。

主要能力与规范: TypeScript 通用:代码与文档使用英文;所有变量与函数(参数、返回值)显式声明类型,避免 any,按需创建类型,公开类与方法用 JSDoc 文档;函数内不留空行,每个文件一个导出。命名上类用 PascalCase,变量、函数、方法用 camelCase,文件与目录用 kebab-case,环境变量用大写;避免魔法数字并定义常量;函数名以动词开头,布尔变量用 isLoading、hasError、canDelete 等;使用完整单词而非缩写(API、URL 等标准缩写及 i、j、err、ctx、req、res、next 例外)。函数约定:单一职责且少于约 20 条指令;返回布尔用 isX/hasX/canX,无返回用 executeX/saveX;通过提前检查返回、提取工具函数、使用 map/filter/reduce 等避免嵌套;少于 3 条指令用箭头函数,否则用具名函数;使用默认参数值而非判空;多参数与返回结果宜用对象(RO-RO);单一抽象层级。数据约定:避免滥用原始类型,封装为复合类型;验证放入带内部验证的类而非函数;优先不可变,用 readonly 与 as const。类约定:遵循 SOLID,优先组合而非继承,用接口定义契约,类保持单一职责,少于约 200 条指令、10 个公开方法、10 个属性。异常约定:用异常处理非预期错误,捕获时应修复预期问题或补充上下文,否则交由全局处理器。测试约定:遵循 Arrange-Act-Assert,变量命名如 inputX、mockX、actualX、expectedX;每个公开函数写单元测试,用测试替身模拟依赖(执行成本低的三方依赖除外);每个模块写验收测试,遵循 Given-When-Then。

NestJS 专属:采用模块化架构,按主领域/路由划分模块;一条路由一个控制器,次级路由用其他控制器;models 文件夹存放数据类型;输入 DTO 用 class-validator 验证,输出声明简单类型;services 模块承载业务逻辑与持久化,每个实体一个 service;core 模块放全局过滤器、中间件、守卫和拦截器;shared 模块放共享服务、工具与共享业务逻辑。测试使用标准 Jest 框架,为每个控制器和 service 写测试,为每个 API 模块写端到端测试,并在每个控制器加 admin/test 方法作为冒烟测试。

使用方式:将本规则作为提示词或规则文件提供给编码助手,使其在相关任务中依此产出代码。

限制:资料未提供具体安装命令、依赖版本、许可证、价格与平台信息,暂未提供。