用途
本技能用于在多个后端微服务之间建立一致性与最佳实践,采用现代 Node.js/Express/TypeScript 模式。它会自动激活于以下工作场景:
- 创建或修改路由、端点、API
- 构建控制器、服务、仓储
- 实现中间件(认证、校验、错误处理)
- 使用 Prisma 进行数据库操作
- 使用 Sentry 进行错误跟踪
- 使用 Zod 进行输入校验
- 配置管理
- 后端测试与重构
架构概览
采用分层架构,请求依次经过:
HTTP Request
↓
Routes (routing only)
↓
Controllers (request handling)
↓
Services (business logic)
↓
Repositories (data access)
↓
Database (Prisma)
核心原则:每一层只负责一项职责。
目录结构
service/src/
├── config/ # UnifiedConfig
├── controllers/ # Request handlers
├── services/ # Business logic
├── repositories/ # Data access
├── routes/ # Route definitions
├── middleware/ # Express middleware
├── types/ # TypeScript types
├── validators/ # Zod schemas
├── utils/ # Utilities
├── tests/ # Tests
├── instrument.ts # Sentry (FIRST IMPORT)
├── app.ts # Express setup
└── server.ts # HTTP server
命名约定:
- Controllers: PascalCase - UserController.ts
- Services: camelCase - userService.ts
- Routes: camelCase + Routes - userRoutes.ts
- Repositories: PascalCase + Repository - UserRepository.ts
七条核心规则
- 路由只负责路由,控制器负责控制:路由中不写业务逻辑,全部委托给控制器。
- 所有控制器继承 BaseController。
- 所有错误上报到 Sentry。
- 使用 unifiedConfig,绝不直接使用 process.env。
- 使用 Zod 校验所有输入。
- 数据访问使用仓储模式(Service → Repository → Database)。
- 必须进行全面测试。
使用方式
快速开始提供两份清单:
- 新后端功能清单:路由(清晰定义、委托给控制器)、控制器(继承 BaseController)、服务(带依赖注入的业务逻辑)、仓储(若逻辑复杂则进行数据库访问)、校验(Zod schema)、Sentry(错误跟踪)、测试(单元 + 集成测试)、配置(使用 unifiedConfig)。
- 新微服务清单:目录结构、instrument.ts(Sentry)、unifiedConfig 设置、BaseController 类、中间件栈、错误边界、测试框架。
文档还包含常用导入示例,涵盖 Express、Zod、Prisma、Sentry、unifiedConfig 及中间件(SSOMiddlewareClient、asyncErrorWrapper)。
参考信息
HTTP 状态码:200 成功、201 已创建、400 错误请求、401 未授权、403 禁止、404 未找到、500 服务器错误。
服务模板:Blog API(成熟)用作 REST API 模板;Auth Service(成熟)用作认证模式模板。
需避免的反模式:路由中写业务逻辑、直接使用 process.env、缺失错误处理、无输入校验、到处直接使用 Prisma、用 console.log 代替 Sentry。
导航与资源文件
文档提供导航指南,根据需求指向对应资源文件:架构概览、路由与控制器、服务与仓储、校验模式、Sentry 与监控、中间件指南、数据库模式、配置、异步与错误、测试指南、完整示例。这些资源文件分别覆盖分层架构与请求生命周期、路由定义与 BaseController、服务模式与依赖注入与缓存、Zod schema 与 DTO 模式、Sentry 初始化与性能监控、认证与审计与错误边界与 AsyncLocalStorage、PrismaService 与事务与优化、UnifiedConfig 与环境配置与密钥、异步模式与自定义错误与 asyncErrorWrapper、单元/集成测试与 mock 与覆盖率、完整示例与重构指南。
相关技能:database-verification(验证列名与 schema 一致性)、error-tracking(Sentry 集成模式)、skill-developer(用于创建和管理技能的元技能)。
限制
关于收费、价格、平台支持等具体信息,资料中暂未提供。文档未提供安装命令或代码以外的额外操作步骤,具体使用请依据上述清单与资源文件执行。