关于 nestjs-best-practices
nestjs-best-practices 是用于构建、审查和重构 NestJS 应用的规则指南。40 条规则覆盖 10 个类别,按影响优先级排列,并在独立规则文件中提供示例。
主要功能
- 01覆盖 10 类的 40 条规则
- 02按优先级排列的指导
- 03架构与依赖注入建议
- 04安全、性能与测试实践
- 05含代码示例的规则文件
适用场景
- 01组织 NestJS 模块与服务
- 02审查身份验证和安全性
- 03重构现有 NestJS 代码库
- 04改进查询、测试或性能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ rolling-scopes/ rsschool-app --skill nestjs-best-practices安装后在 Claude Code 中输入/nestjs-best-practices确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
.gitignoreAGENTS.mdREADME.md.github/workflows/branch-protection.ymldeploy.ymlrules/api-use-dto-serialization.mdapi-use-interceptors.mdapi-use-pipes.mdapi-versioning.mdarch-avoid-circular-deps.mdarch-feature-modules.mdarch-module-sharing.mdarch-single-responsibility.mdarch-use-events.mdarch-use-repository-pattern.mddb-avoid-n-plus-one.mddb-use-migrations.mddb-use-transactions.mddevops-graceful-shutdown.mddevops-use-config-module.mddevops-use-logging.mddi-avoid-service-locator.mddi-interface-segregation.mddi-liskov-substitution.mddi-prefer-constructor-injection.mddi-scope-awareness.mddi-use-interfaces-tokens.mderror-handle-async-errors.mderror-throw-http-exceptions.mderror-use-exception-filters.md详细介绍
NestJS 最佳实践
NestJS 应用的全面最佳实践指南。包含 10 个类别中的 40 条规则,并按影响优先级排序,以指导自动化重构和代码生成。
适用场景
以下情况请参考这些指南:
- 编写新的 NestJS 模块、控制器或服务
- 实现身份验证和授权
- 检查代码中的架构和安全问题
- 重构现有 NestJS 代码库
- 优化性能或数据库查询
- 构建微服务架构
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 架构 | 严重 | arch- |
| 2 | 依赖注入 | 严重 | di- |
| 3 | 错误处理 | 高 | error- |
| 4 | 安全 | 高 | security- |
| 5 | 性能 | 高 | perf- |
| 6 | 测试 | 中高 | test- |
| 7 | 数据库与 ORM | 中高 | db- |
| 8 | API 设计 | 中 | api- |
| 9 | 微服务 | 中 | micro- |
| 10 | DevOps 与部署 | 中低 | devops- |
快速参考
1. 架构(严重)
arch-avoid-circular-deps- 避免模块间循环依赖arch-feature-modules- 按功能而非技术层组织arch-module-sharing- 正确导出和导入模块,避免重复提供者arch-single-responsibility- 使用职责明确的服务,而非“万能服务”arch-use-repository-pattern- 抽象数据库逻辑,便于测试arch-use-events- 采用事件驱动架构实现解耦
2. 依赖注入(严重)
di-avoid-service-locator- 避免使用服务定位器反模式di-interface-segregation- 接口隔离原则(ISP)di-liskov-substitution- 里氏替换原则(LSP)di-prefer-constructor-injection- 优先使用构造函数注入,而非属性注入di-scope-awareness- 理解单例、请求和瞬态作用域di-use-interfaces-tokens- 使用注入令牌处理接口
3. 错误处理(高)
error-use-exception-filters- 集中处理异常error-throw-http-exceptions- 使用 NestJS HTTP 异常error-handle-async-errors- 正确处理异步错误
4. 安全(高)
security-auth-jwt- 安全地进行 JWT 身份验证security-validate-all-input- 使用 class-validator 进行验证security-use-guards- 使用身份验证和授权守卫security-sanitize-output- 防止 XSS 攻击security-rate-limiting- 实施速率限制
5. 性能(高)
perf-async-hooks- 正确使用异步生命周期钩子perf-use-caching- 实施缓存策略perf-optimize-database- 优化数据库查询perf-lazy-loading- 延迟加载模块,以加快启动速度
6. 测试(中高)
test-use-testing-module- 使用 NestJS 测试工具test-e2e-supertest- 使用 Supertest 进行端到端测试test-mock-external-services- 模拟外部依赖
7. 数据库与 ORM(中高)
db-use-transactions- 管理事务db-avoid-n-plus-one- 避免 N+1 查询问题db-use-migrations- 使用迁移处理架构变更
8. API 设计(中)
api-use-dto-serialization- 使用 DTO 和响应序列化api-use-interceptors- 处理横切关注点api-versioning- 采用 API 版本控制策略api-use-pipes- 使用管道转换输入
9. 微服务(中)
micro-use-patterns- 使用消息和事件模式micro-use-health-checks- 为编排提供健康检查micro-use-queues- 处理后台作业
10. DevOps 与部署(低至中)
devops-use-config-module- 环境配置devops-use-logging- 结构化日志记录devops-graceful-shutdown- 零停机部署
使用方法
阅读各个规则文件,了解详细说明和代码示例:
rules/arch-avoid-circular-deps.md
rules/security-validate-all-input.md
rules/_sections.md
每个规则文件都包含:
- 简要说明其重要性
- 附有说明的错误代码示例
- 附有说明的正确代码示例
- 补充背景信息和参考资料
完整汇编文档
查看包含所有规则完整内容的指南:AGENTS.md
评论
支持 Markdown