SuperAPI AI 工具集

backend-dev-guidelines

编程与开发

查看项目

更新于 10-15 13:10

技能介绍

用途

本技能用于在多个后端微服务之间建立一致性与最佳实践,采用现代 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

七条核心规则

  1. 路由只负责路由,控制器负责控制:路由中不写业务逻辑,全部委托给控制器。
  2. 所有控制器继承 BaseController。
  3. 所有错误上报到 Sentry。
  4. 使用 unifiedConfig,绝不直接使用 process.env。
  5. 使用 Zod 校验所有输入。
  6. 数据访问使用仓储模式(Service → Repository → Database)。
  7. 必须进行全面测试。

使用方式

快速开始提供两份清单:

  • 新后端功能清单:路由(清晰定义、委托给控制器)、控制器(继承 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(用于创建和管理技能的元技能)。

限制

关于收费、价格、平台支持等具体信息,资料中暂未提供。文档未提供安装命令或代码以外的额外操作步骤,具体使用请依据上述清单与资源文件执行。