Smithery Logo
MCPsSkillsDocsPricing
Login
Smithery Logo

Accelerating the Agent Economy

Resources

DocumentationPrivacy PolicySystem Status

Company

PricingAboutBlog

Connect

© 2026 Smithery. All rights reserved.

    xiaobei930

    backend

    xiaobei930/backend
    Coding
    9
    1 installs

    About

    SKILL.md

    Install

    Install via Skills CLI

    or add to your agent
    • Claude Code
      Claude Code
    • Codex
      Codex
    • OpenClaw
      OpenClaw
    • Cursor
      Cursor
    • Amp
      Amp
    • GitHub Copilot
      GitHub Copilot
    • Gemini CLI
      Gemini CLI
    • Kilo Code
      Kilo Code
    • Junie
      Junie
    • Replit
      Replit
    • Windsurf
      Windsurf
    • Cline
      Cline
    • Continue
      Continue
    • OpenCode
      OpenCode
    • OpenHands
      OpenHands
    • Roo Code
      Roo Code
    • Augment
      Augment
    • Goose
      Goose
    • Trae
      Trae
    • Zencoder
      Zencoder
    • Antigravity
      Antigravity
    ├─
    ├─
    └─

    About

    Backend development patterns for services, error handling, logging, caching. Use when building backend services, APIs, or microservices.

    SKILL.md

    后端开发模式

    本技能提供后端服务开发的最佳实践和模式,支持多语言按需加载。

    触发条件

    • 构建后端服务
    • 设计服务架构
    • 实现业务逻辑层
    • 配置中间件
    • 处理错误和日志
    • 性能优化(数据库、缓存、并发)

    语言专属模式

    根据项目技术栈,加载对应的语言专属文件:

    技术栈 加载文件 框架
    Python python.md FastAPI, Django, Flask
    TypeScript/Node.js typescript.md Express, NestJS, Fastify
    Java java.md Spring Boot, Quarkus
    Go go.md Gin, Echo, Fiber
    C# csharp.md ASP.NET Core
    Rust rust.md Axum, Actix-web, Rocket

    加载方式: 检测项目中的 pyproject.toml/package.json/pom.xml/go.mod/Cargo.toml 等文件确定技术栈。


    通用架构模式

    分层架构

    ┌─────────────────────────────────────┐
    │           Controller 层              │  处理 HTTP 请求/响应
    ├─────────────────────────────────────┤
    │            Service 层                │  业务逻辑
    ├─────────────────────────────────────┤
    │          Repository 层               │  数据访问
    ├─────────────────────────────────────┤
    │             Model 层                 │  数据模型
    └─────────────────────────────────────┘
    

    通用目录结构

    src/
    ├── controllers/          # 控制器(或 routes/handlers)
    ├── services/             # 业务逻辑
    ├── repositories/         # 数据访问(或 dal/)
    ├── models/               # 数据模型(或 entities/)
    ├── middlewares/          # 中间件
    ├── utils/                # 工具函数
    ├── config/               # 配置
    └── types/                # 类型定义(如适用)
    

    通用最佳实践

    1. 错误处理原则

    ┌─────────────────────────────────────────────────────┐
    │                    错误处理金字塔                     │
    ├─────────────────────────────────────────────────────┤
    │  业务错误 (400-499)                                  │
    │  ├─ ValidationError (400)   输入验证失败             │
    │  ├─ UnauthorizedError (401) 未认证                  │
    │  ├─ ForbiddenError (403)    无权限                  │
    │  └─ NotFoundError (404)     资源不存在              │
    ├─────────────────────────────────────────────────────┤
    │  系统错误 (500-599)                                  │
    │  ├─ InternalError (500)     服务器内部错误           │
    │  ├─ ServiceUnavailable (503) 服务不可用             │
    │  └─ GatewayTimeout (504)    网关超时                │
    └─────────────────────────────────────────────────────┘
    

    原则:

    • 自定义错误类继承基础错误
    • 统一错误响应格式
    • 区分可操作错误和程序错误
    • 记录足够的上下文用于调试

    2. 日志规范

    日志级别:

    级别 用途 示例
    ERROR 需要立即关注的错误 数据库连接失败
    WARN 潜在问题 重试成功、降级处理
    INFO 重要业务事件 用户登录、订单创建
    DEBUG 开发调试信息 变量值、执行路径

    结构化日志字段:

    {
      "timestamp": "2025-01-22T10:00:00Z",
      "level": "info",
      "message": "用户登录成功",
      "requestId": "uuid",
      "userId": "123",
      "duration": 45
    }
    

    3. 缓存策略

    策略 适用场景 TTL 建议
    Cache-Aside 读多写少 5-60 分钟
    Write-Through 强一致性要求 短 TTL
    Write-Behind 写多读少 根据业务

    缓存键命名:

    {service}:{entity}:{id}
    {service}:{entity}:list:{hash}
    

    4. API 设计原则

    • RESTful 资源导向
    • 版本控制 /api/v1/...
    • 统一响应格式
    • 幂等性 PUT/DELETE 操作
    • 分页 大列表查询

    5. 安全检查清单

    • 输入验证(白名单优先)
    • SQL/NoSQL 注入防护
    • 认证令牌安全存储
    • 敏感数据加密
    • 速率限制
    • CORS 配置

    通用代码模式

    统一响应格式

    成功响应:
    {
      "success": true,
      "data": { ... },
      "meta": { "total": 100, "page": 1 }
    }
    
    错误响应:
    {
      "success": false,
      "error": {
        "code": "VALIDATION_ERROR",
        "message": "邮箱格式不正确"
      }
    }
    

    健康检查端点

    GET /health
    
    {
      "status": "ok",
      "timestamp": "2025-01-22T10:00:00Z",
      "services": {
        "database": { "status": "ok" },
        "redis": { "status": "ok" }
      }
    }
    

    优雅关闭

    1. 收到 SIGTERM 信号
    2. 停止接受新请求
    3. 等待进行中的请求完成(超时时间内)
    4. 关闭数据库连接
    5. 关闭其他资源
    6. 退出进程
    

    语言专属内容

    详细的语言专属实现请参考:

    • Python: python.md - FastAPI/Django/Flask
    • TypeScript: typescript.md - Express/NestJS
    • Java: java.md - Spring Boot
    • Go: go.md - Gin/Echo
    • C#: csharp.md - ASP.NET Core
    • Rust: rust.md - Axum/Actix-web/Rocket

    专项优化

    • 性能优化: performance.md - 数据库、缓存、并发优化

    Python 进阶

    • 设计模式: python-patterns.md - KISS、组合、策略模式
    • 类型提示: python-types.md - Protocol、泛型、TypeGuard
    • 可观测性: python-observability.md - 日志、指标、追踪

    Maintenance

    • Sources: 各语言官方文档, 12-Factor App
    • Last updated: 2025-01-22
    • Pattern: 通用清单 + 按需加载语言专属

    记住: 后端代码的质量标准是可维护性——类型安全、错误处理、日志追踪缺一不可。

    Recommended Servers
    Supabase
    Supabase
    Vercel Grep
    Vercel Grep
    InstantDB
    InstantDB
    Repository
    xiaobei930/claude-code-best-practices
    Files