Backend Development Professional Workflow

A comprehensive workflow for building backend APIs, databases, authentication, microservices from requirements to deployment, with defensive programming and separation of concerns.

Sby Skills Guide Bot
DevelopmentAdvanced
107/24/2026
Claude CodeCursorWindsurfCopilotCodex
#backend-development#api-design#database#authentication#testing

Recommended for


name: backend-dev description: | This skill should be used when the user asks to "build a backend API", "design a database schema", "implement authentication", "create a REST endpoint", "develop a microservice", "set up server-side logic", "write API routes", "design system architecture", "implement business logic", "connect to database", "set up middleware", "configure ORM", "write server tests", "deploy backend service", or discusses backend-related tasks including API design, database design, authentication/authorization, server architecture, middleware, error handling, logging, performance optimization, or backend testing. Also triggered by technology-specific requests mentioning "Express", "FastAPI", "Spring Boot", "Django", "Rails", "Gin", "Fiber", "NestJS", "GraphQL", "gRPC", "WebSocket", "PostgreSQL", "MongoDB", "Redis", "JWT", "OAuth", "OpenAPI", "Swagger", "Docker compose backend", or "CI/CD pipeline".

【中文触发场景】

  • "写后端接口"、"开发API"、"设计数据库"、"实现登录"
  • "搭建后端服务"、"写服务器代码"、"实现业务逻辑"
  • "数据库设计"、"表结构设计"、"API文档"
  • "后端架构设计"、"微服务拆分"、"接口规范"
  • "权限系统"、"中间件"、"错误处理"、"日志"
  • "后端测试"、"单元测试"、"集成测试"
  • "部署后端"、"Docker化"、"CI/CD配置" allowed-tools: Read, Write, Edit, Bash, Glob, Grep, WebFetch, TaskCreate, TaskUpdate, TaskList

Backend Development Professional Workflow

专业后端开发工作流 —— 从需求到部署,结构化、可追溯、可审查。

核心原则

  1. 防御性编程 —— 所有外部输入不可信,边界条件显式处理
  2. 关注点分离 —— 分层架构(Handler → Service → Repository),每层只做一件事
  3. 显式优于隐式 —— 依赖注入、配置外部化、错误显式传播
  4. 渐进式交付 —— 先可运行,再优化;先核心路径,再边缘场景

工作流总览

Phase 0: 需求澄清与约束定义  ──→  明确边界、性能目标、部署环境
    ↓
Phase 1: 架构设计             ──→  分层/模块/数据流/技术选型 & 决策记录
    ↓
Phase 2: 核心实现(增量)      ──→  Repository → Service → Handler 由内向外
    ↓
Phase 3: 安全加固             ──→  认证/授权/输入校验/注入防护/速率限制
    ↓
Phase 4: 测试覆盖             ──→  单元 → 集成 → 契约测试(含边界与异常)
    ↓
Phase 5: 审查与改进           ──→  自审查清单 → 性能评估 → 文档收尾

每个阶段的 prompt 模板在 prompts/ 目录中,按需引用。

阶段详细说明

Phase 0: 需求澄清与约束定义

执行 prompts/phase0-clarify.md 中的提问框架,收齐以下信息:

| 维度 | 必须明确的点 | |------|-------------| | 上下文 | 业务场景、用户群体、预期流量 (QPS) | | 技术栈 | 语言/框架/数据库/运行时版本 | | 约束 | 部署方式(容器/Serverless/VM)、团队规模、时间线 | | 接口风格 | REST / GraphQL / gRPC / WebSocket / 混合 | | 数据要求 | 一致性级别、数据量级、是否需要事务 | | 非功能要求 | P99延时、可用性 SLA、审计合规 |

输出文件:.backend-dev/phase0-requirements.json

Phase 1: 架构设计

执行 prompts/phase1-arch.md,输出以下工件:

  • 分层架构图 —— Handler / Service / Repository / 中间件栈
  • 模块划分 —— 每个模块的职责、边界、依赖方向
  • 数据模型 —— 核心 Entity 定义、表关系(ER)、索引策略
  • 接口契约草案 —— 端点路径、请求/响应结构、状态码
  • 技术选型决策记录 (ADR) —— 每次选型附理由和替代方案
  • 风险与缓解 —— 识别数据热点、单点瓶颈、降级策略

输出文件:.backend-dev/phase1-architecture.json

Phase 2: 核心实现

Repository → Service → Handler 由内向外顺序,逐层实现:

Request  →  [Middleware]  →  Handler  →  Service  →  Repository  →  DB
                                            │
                                            ↓
                                        外部服务 / 缓存 / 消息队列

每条实现遵循:

  1. 先定义接口(interface/trait/type),再实现
  2. 显式错误类型 —— 定义领域错误码,不在运行时拼字符串
  3. 完备的日志 —— 每个外部调用的入口和出口都记录结构化日志
  4. 幂等性考虑 —— 写操作的幂等键(idempotency key)设计

Phase 3: 安全加固

执行 prompts/phase3-security.md 中的安全检查清单,逐项验证:

  • 认证策略(JWT / Session / OAuth / API Key)
  • 授权模型(RBAC / ABAC / ACL)
  • 输入校验(结构化校验库 + 白名单策略)
  • 注入防护(参数化查询 / ORM / 输出编码)
  • 速率限制与防滥用
  • 敏感数据(加密存储、响应脱敏、日志脱敏)
  • CORS / CSP / HTTPS 强制

Phase 4: 测试覆盖

执行 prompts/phase4-testing.md,按金字塔模型覆盖:

        ╱╲              手动探索测试
       ╱  ╲             E2E 测试 (关键用户路径)
      ╱    ╲            集成测试 (模块间契约)
     ╱______╲           单元测试 (核心逻辑 + 边界)

每条测试准则:

  • 每个 Repository 方法对应一个集成测试
  • 每个 Service 公共方法对应单元测试(mock 依赖层)
  • 每条 Handler 路径(成功/鉴权失败/参数错误/404)各一个测试
  • 错误路径优先级 ≥ 成功路径

Phase 5: 审查与改进

执行 prompts/phase5-review.md,逐项审查:

  1. 正确性审查 —— 并发竞态、事务边界、状态机状态遗漏
  2. 性能审查 —— N+1 查询、缺少索引、未使用连接池、未分页
  3. 可观测性 —— 结构化日志、指标埋点、健康检查端点、追踪上下文传播
  4. 文档补全 —— API 文档 (OpenAPI)、README 运行说明、环境变量清单

交叉引用清单

  • references/api-design.md —— REST / GraphQL / gRPC 设计规范与对比
  • references/db-best-practices.md —— 表设计、索引策略、迁移、连接池
  • references/error-handling.md —— 错误类型体系、结构化错误响应、全局异常处理
  • references/security-baseline.md —— 安全基线检查表(OWASP Top 10 映射)
  • references/struct-export.md —— 阶段间结构化数据传递格式定义

输出规范

所有中间产出统一存放于 .backend-dev/ 目录,按阶段命名:

.backend-dev/
├── phase0-requirements.json    # 需求与约束
├── phase1-architecture.json    # 架构设计方案
├── phase2-impl-record.md       # 实现过程记录
├── phase3-security-report.md   # 安全审查报告
├── phase4-test-report.md       # 测试覆盖报告
├── phase5-review-report.md     # 最终审查报告
└── adr/                        # 架构决策记录(每项决策一个 markdown)
    ├── 001-use-postgresql.md
    └── 002-adopt-repository-pattern.md

注意事项

  1. 增量交付 —— 不要一次性生成所有代码。每次围绕一个功能点的完整分层实现(Handler → Service → Repository),提交后继续下一个
  2. 不重复造轮子 —— 优先使用框架内建机制和社区稳定库,仅在确有必要时自定义
  3. 兼容性优先 —— 接口变更时保持向后兼容(字段添加不删除、可选参数扩展)
  4. 不假设运行环境 —— 所有路径引用使用相对路径,配置使用环境变量 + 默认值
Related skills