Skip to content

参考

基于 Kadajett/agent-nestjs-skills(社区,非官方)v1.1.0 的 README.mdSKILL.mdmetadata.jsonrules/_sections.md 与 40 条规则 frontmatter 整理。规则 title / impact 为源文件逐条抽取。

速查

  • npx skills add Kadajett/agent-nestjs-skills--global / -a claude-code -a cursor
  • 规模:40 规则 / 10 类 / 5 档严重度(CRITICAL → LOW-MEDIUM)
  • 归属:社区第三方(作者 Kadajett),MIT,v1.1.0,January 2026——非 NestJS 官方
  • 数据库:示例基于 TypeORM(非 Prisma)
  • 结构rules/前缀-描述.md(一条一文件)+ _sections.md + metadata.jsonnpm run buildAGENTS.md
  • 支持 agent:Claude Code · OpenCode · Codex · Cursor · Antigravity · Roo Code

10 类优先级总表

#类别前缀类严重度条数
1架构 Architecturearch-CRITICAL6
2依赖注入 Dependency Injectiondi-CRITICAL6
3错误处理 Error Handlingerror-HIGH3
4安全 Securitysecurity-HIGH5
5性能 Performanceperf-HIGH4
6测试 Testingtest-MEDIUM-HIGH3
7数据库与 ORM Database & ORMdb-MEDIUM-HIGH3
8API 设计 API Designapi-MEDIUM4
9微服务 Microservicesmicro-MEDIUM3
10DevOps 与部署 DevOps & Deploymentdevops-LOW-MEDIUM3

40 规则速览表

impact条级严重度(frontmatter),可能与类级不同(如 security-auth-jwt 类属安全 HIGH,条级为 CRITICAL)。

1. 架构 arch-(6)

规则条级要点
arch-avoid-circular-depsCRITICAL避免循环依赖(#1 崩溃源)→ 共享模块 / 事件
arch-feature-modulesCRITICAL按特性模块组织,非技术分层
arch-module-sharingCRITICAL正确导出/导入,避免重复注册 provider
arch-single-responsibilityCRITICAL单一职责,拒 god service
arch-use-eventsMEDIUM-HIGH事件驱动解耦
arch-use-repository-patternHIGH仓储模式抽象数据访问,利于测试

2. 依赖注入 di-(6)

规则条级要点
di-prefer-constructor-injectionCRITICAL构造函数注入优于属性注入
di-scope-awarenessCRITICAL懂 singleton/request/transient 三 scope
di-use-interfaces-tokensHIGH接口用注入令牌(Symbol/抽象类)
di-avoid-service-locatorHIGH避免 service locator 反模式
di-interface-segregationHIGH接口隔离原则(ISP)
di-liskov-substitutionHIGH里氏替换原则(LSP)

3. 错误处理 error-(3)

规则条级要点
error-use-exception-filtersHIGH异常过滤器集中处理
error-throw-http-exceptionsHIGHservice 直接抛 HttpException
error-handle-async-errorsHIGH正确处理 async 错误

4. 安全 security-(5)

规则条级要点
security-auth-jwtCRITICALJWT:Config 读密钥、短 access + refresh、不放敏感字段
security-validate-all-inputHIGHDTO + 全局 ValidationPipe(whitelist)
security-use-guardsHIGH守卫做鉴权/RBAC(RolesGuard/@Roles)
security-sanitize-outputHIGHXSS 净化 + Helmet CSP
security-rate-limitingHIGH@nestjs/throttler 限流

5. 性能 perf-(4)

规则条级要点
perf-use-cachingHIGH策略性缓存 + 失效
perf-optimize-databaseHIGH优化 DB 查询
perf-async-hooksHIGHasync 生命周期钩子要 await
perf-lazy-loadingMEDIUM大模块懒加载加快启动

6-7. 测试 test- / 数据库 db-(3 + 3)

规则条级要点
test-use-testing-moduleHIGHTest.createTestingModule + mock
test-e2e-supertestHIGHSupertest E2E
test-mock-external-servicesHIGHmock 外部依赖
db-use-transactionsHIGHTypeORM 事务(DataSource/QueryRunner)
db-avoid-n-plus-oneHIGH避免 N+1(relations/join/DataLoader)
db-use-migrationsHIGH迁移(禁生产 synchronize)

8-10. API / 微服务 / DevOps(4 + 3 + 3)

规则条级要点
api-use-interceptorsMEDIUM-HIGH拦截器管横切
api-use-dto-serializationMEDIUMDTO + @Exclude 序列化
api-use-pipesMEDIUM管道转换输入
api-versioningMEDIUM内置版本化(URI/Header/Media-Type)
micro-use-health-checksMEDIUM-HIGHterminus liveness/readiness
micro-use-queuesMEDIUM-HIGHBullMQ 后台任务
micro-use-patternsMEDIUM消息/事件模式
devops-graceful-shutdownMEDIUM-HIGH优雅关闭(enableShutdownHooks)
devops-use-loggingMEDIUM-HIGH结构化日志
devops-use-config-moduleLOW-MEDIUMConfigModule + Joi 校验

5 档严重度定义

档位含义
CRITICAL违反导致运行时崩溃、安全漏洞或架构崩坏
HIGH对可靠性、安全、可维护性有显著影响
MEDIUM-HIGH对质量与开发体验有明显影响
MEDIUM对代码质量与最佳实践有中等影响
LOW-MEDIUM一致性与可维护性的次要改进

安装与 CLI

bash
npx skills add Kadajett/agent-nestjs-skills          # 当前项目
npx skills add Kadajett/agent-nestjs-skills --global # 全局
npx skills add Kadajett/agent-nestjs-skills -a claude-code -a cursor

支持 agent:Claude Code、OpenCode、Codex、Cursor、Antigravity、Roo Code。

目录结构

agent-nestjs-skills/
├── rules/
│   ├── _sections.md       # 10 类元数据(标题/严重度/描述)
│   ├── _template.md       # 新规则模板(_ 开头不参与编译)
│   ├── arch-avoid-circular-deps.md
│   ├── security-validate-all-input.md
│   └── ...(40 条,一条一文件)
├── scripts/               # 构建脚本
├── metadata.json          # 版本/组织/摘要/references
├── SKILL.md               # 技能入口 + 优先级速查
└── AGENTS.md              # 编译产物(npm run build 生成)
  • 文件名 前缀-描述.md,前缀决定归类;_ 开头的文件(_sections.md/_template.md)不参与编译
  • 规则在类内按 title 字母序排列,编号(1.1、1.2…)构建时自动生成
  • 构建:cd scripts && npm installnpm run build(或 ./scripts/build.sh)汇编成 AGENTS.md

依赖生态(示例所用)

metadata.json 的 references 与规则示例涉及:NestJS(docs.nestjs.com)、TypeORM(typeorm.io,事务/迁移/N+1)、class-validator(校验)、@nestjs/jwt + @nestjs/passport(鉴权)、@nestjs/throttler(限流)、@nestjs/terminus(健康检查)、@nestjs/bullmq(队列)、@nestjs/config + Joi(配置)、nestjs-cls / nestjs-pino(上下文/日志)、helmet + sanitize-html(安全)。数据库层为 TypeORM,非 Prisma。

NestJS 版本背景(补充 · 非本 skill 规则)

本 skill 版本无关。作为独立背景:NestJS 11 升级到 Express 5,通配路由需用命名通配@Get('*splat') 而非裸 @Get('*'))。详见 NestJS v11 迁移指南——非本 skill 的规则条目。

许可与链接

下一步

  • 入门 看安装与分级机制
  • 指南 看 10 类逐类深入与反模式