mcpField
N
nestjs-best-practices

nestjs-best-practices

github.com/kadajett开发29230.7k 次安装14 周前更新
代码仓库

关于 nestjs-best-practices

面向 NestJS 开发者和编码 Agent 的实践指南,按优先级将 40 条规则分为 10 类,适用于代码生成、审查与重构。

主要功能

  1. 01涵盖 10 类、40 条规则
  2. 02按优先级排序
  3. 03架构与依赖注入指导
  4. 04安全、性能与测试指导
  5. 05数据库、API 与微服务指导

适用场景

  1. 01设计 NestJS 模块与服务
  2. 02审查架构和安全问题
  3. 03重构现有 NestJS 代码
  4. 04优化查询与性能

安装

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

$npx skills add https://github.com/kadajett/agent-nestjs-skills --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