mcpField
N
nestjs-best-practices

nestjs-best-practices

github.com/rolling-scopes开发10.4k47 次安装1 周前更新
代码仓库

关于 nestjs-best-practices

nestjs-best-practices 是用于构建、审查和重构 NestJS 应用的规则指南。40 条规则覆盖 10 个类别,按影响优先级排列,并在独立规则文件中提供示例。

主要功能

  1. 01覆盖 10 类的 40 条规则
  2. 02按优先级排列的指导
  3. 03架构与依赖注入建议
  4. 04安全、性能与测试实践
  5. 05含代码示例的规则文件

适用场景

  1. 01组织 NestJS 模块与服务
  2. 02审查身份验证和安全性
  3. 03重构现有 NestJS 代码库
  4. 04改进查询、测试或性能

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rolling-scopes/rsschool-app --skill nestjs-best-practices

安装后在 Claude Code 中输入/nestjs-best-practices确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
AGENTS.md
README.md
.github/workflows/
branch-protection.yml
deploy.yml
rules/
api-use-dto-serialization.md
api-use-interceptors.md
api-use-pipes.md
api-versioning.md
arch-avoid-circular-deps.md
arch-feature-modules.md
arch-module-sharing.md
arch-single-responsibility.md
arch-use-events.md
arch-use-repository-pattern.md
db-avoid-n-plus-one.md
db-use-migrations.md
db-use-transactions.md
devops-graceful-shutdown.md
devops-use-config-module.md
devops-use-logging.md
di-avoid-service-locator.md
di-interface-segregation.md
di-liskov-substitution.md
di-prefer-constructor-injection.md
di-scope-awareness.md
di-use-interfaces-tokens.md
error-handle-async-errors.md
error-throw-http-exceptions.md
error-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-
8API 设计中api-
9微服务中micro-
10DevOps 与部署中低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