mcpField
N
nestjs-best-practices

nestjs-best-practices

github.com/midudev开发7.0k65 次安装2 周前更新
代码仓库

关于 nestjs-best-practices

面向 NestJS 开发者的实践指南,适用于构建、审查和重构应用。内容包含 10 个类别的 40 条规则,并在独立规则文件中提供说明与代码示例。

主要功能

  1. 0110 个类别的 40 条优先级规则
  2. 02架构与依赖注入指南
  3. 03安全、错误处理与性能实践
  4. 04测试、数据库与 API 建议
  5. 05微服务与部署指南

适用场景

  1. 01审查 NestJS 应用的架构问题
  2. 02重构模块、控制器或服务
  3. 03检查身份验证与输入校验实践
  4. 04改进查询、测试或微服务设计

安装

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

$npx skills add https://github.com/midudev/autoskills --skill nestjs-best-practices

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

包含的文件

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

rules/
_sections.md
_template.md
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
micro-use-health-checks.md
micro-use-patterns.md
micro-use-queues.md

详细介绍

NestJS 最佳实践

NestJS 应用的全面最佳实践指南。包含 10 个类别的 40 条规则,并按影响优先级排序,以指导自动化重构和代码生成。

适用场景

在以下情况下请参考这些指南:

  • 编写新的 NestJS 模块、控制器或服务
  • 实现身份验证和授权
  • 检查代码中的架构和安全问题
  • 重构现有 NestJS 代码库
  • 优化性能或数据库查询
  • 构建微服务架构

按优先级划分的规则类别

优先级类别影响前缀
1架构CRITICALarch-
2依赖注入CRITICALdi-
3错误处理HIGHerror-
4安全HIGHsecurity-
5性能HIGHperf-
6测试MEDIUM-HIGHtest-
7数据库和 ORMMEDIUM-HIGHdb-
8API 设计MEDIUMapi-
9微服务MEDIUMmicro-
10DevOps 和部署LOW-MEDIUMdevops-

快速参考

1. 架构(CRITICAL)
  • arch-avoid-circular-deps - 避免循环模块依赖
  • arch-feature-modules - 按功能组织,而非按技术层组织
  • arch-module-sharing - 正确导出/导入模块,避免重复提供程序
  • arch-single-responsibility - 优先使用职责明确的服务,避免“全能服务”
  • arch-use-repository-pattern - 抽象数据库逻辑,以便进行测试
  • arch-use-events - 使用事件驱动架构实现解耦
2. 依赖注入(CRITICAL)
  • di-avoid-service-locator - 避免服务定位器反模式
  • di-interface-segregation - 接口隔离原则(ISP)
  • di-liskov-substitution - 里氏替换原则(LSP)
  • di-prefer-constructor-injection - 优先使用构造函数注入,而非属性注入
  • di-scope-awareness - 理解单例、请求和瞬态作用域
  • di-use-interfaces-tokens - 为接口使用注入令牌
3. 错误处理(HIGH)
  • error-use-exception-filters - 集中处理异常
  • error-throw-http-exceptions - 使用 NestJS HTTP 异常
  • error-handle-async-errors - 正确处理异步错误
4. 安全(HIGH)
  • security-auth-jwt - 确保 JWT 身份验证安全
  • security-validate-all-input - 使用 class-validator 验证输入
  • security-use-guards - 使用身份验证和授权守卫
  • security-sanitize-output - 防止 XSS 攻击
  • security-rate-limiting - 实施速率限制
5. 性能(HIGH)
  • perf-async-hooks - 正确使用异步生命周期钩子
  • perf-use-caching - 实施缓存策略
  • perf-optimize-database - 优化数据库查询
  • perf-lazy-loading - 延迟加载模块,以加快启动速度
6. 测试(MEDIUM-HIGH)
  • test-use-testing-module - 使用 NestJS 测试工具
  • test-e2e-supertest - 使用 Supertest 进行 E2E 测试
  • test-mock-external-services - 模拟外部依赖
7. 数据库和 ORM(MEDIUM-HIGH)
  • db-use-transactions - 管理事务
  • db-avoid-n-plus-one - 避免 N+1 查询问题
  • db-use-migrations - 使用迁移处理架构变更
8. API 设计(MEDIUM)
  • api-use-dto-serialization - 使用 DTO 和响应序列化
  • api-use-interceptors - 处理横切关注点
  • api-versioning - 制定 API 版本管理策略
  • api-use-pipes - 使用管道转换输入
9. 微服务(MEDIUM)
  • micro-use-patterns - 使用消息和事件模式
  • micro-use-health-checks - 为编排添加运行状况检查
  • micro-use-queues - 处理后台任务
10. DevOps 和部署(LOW-MEDIUM)
  • 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