SKILL.md
只读
名称
nestjs-best-practices
描述
NestJS 最佳实践与架构模式,用于构建生产级应用。在编写、审查或重构 NestJS 代码时,应使用此技能以确保模块、依赖注入、安全性和性能的正确模式。
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






