Communitygithub.com

wshobson/nodejs-backend-patterns

构建生产就绪的 Node.js 后端服务,使用 Express/Fastify,实现中间件模式、错误处理、身份认证、数据库集成和 API 设计最佳实践。适用于创建 Node.js 服务器、REST API、GraphQL 后端或微服务架构。

nodejs-backend-patterns 是什么?

该技能专为 Node.js 后端开发设计,提供了一套完整的最佳实践和模式,帮助开发者使用 Express 或 Fastify 构建生产级别的后端服务。涵盖中间件模式、错误处理、身份认证、数据库集成以及 API 设计(包括 REST 和 GraphQL)。支持常见的 Node.js 后端架构,包括单体服务、微服务和 API 网关。通过指导用户配置路由、处理请求/响应、集成数据库(如 PostgreSQL、MongoDB)以及实现安全认证(JWT、OAuth),显著提升代码质量、可维护性和稳定性。适合在 Claude Code、Cursor 等 AI 编码助手环境中使用,作为后端项目初始化和代码生成的参考标准。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/wshobson/agents/tree/main/skills/nodejs-backend-patterns

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

nodejs-backend-patterns 是做什么的?

使用 Express/Fastify 构建生产就绪的 Node.js 后端服务,实现中间件模式、错误处理、身份认证、数据库集成和 API 设计最佳实践。适用于创建 Node.js 服务器、REST API、GraphQL 后端或微服务架构。

概述

该技能为 Node.js 后端开发提供了一套完整且行业认可的模式和最佳实践集合。无论您是在构建一个新的 REST API 还是扩展一个现有的 GraphQL 服务,本技能都能确保您的代码遵循可靠的设计原则,并且已经为生产环境做好准备。

核心功能

  • 服务器框架支持:无缝集成 Express 和 Fastify,提供一致的开发体验。
  • 中间件模式:实现日志记录、请求验证、安全头设置等自定义中间件。
  • 错误处理:建立统一的错误处理机制,包括异步错误捕获和用户友好的错误响应。
  • 身份认证:支持 JWT、OAuth2 等常见认证方案,并提供会话管理和权限控制。
  • 数据库集成:连接 PostgreSQL、MySQL、MongoDB 等数据库,使用 ORM(如 Prisma、TypeORM)或原生驱动。
  • API 设计:遵循 RESTful 和 GraphQL 最佳实践,包括版本控制、资源命名、分页、过滤和排序。
  • 环境配置:通过环境变量管理配置,支持不同环境(开发、测试、生产)。

使用方法

在支持该技能的 AI 编码助手(如 Claude Code、Cursor、Codex)中,直接引用 wshobson/nodejs-backend-patterns 即可激活。您可以提出以下类型的请求:

  • “创建一个基于 Express 的后端服务,包含基本的中间件和错误处理”
  • “设计一个带有 JWT 认证的 REST API”
  • “帮我设置一个 Fastify 服务,并集成 MongoDB 数据库”
  • “实现一个 GraphQL 后端,包含用户和文章模型”

示例

// 使用 Express 创建一个简单的 API 服务器
const express = require('express');
const app = express();

// 全局中间件
app.use(express.json());
app.use(require('./middleware/logger'));

// 路由
app.get('/api/users', (req, res) => {
  res.json({ users: [] });
});

// 错误处理
app.use((err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ error: 'Internal Server Error' });
});

app.listen(3000, () => console.log('Server running on port 3000'));

最佳实践

  • 始终使用环境变量存储敏感信息(如数据库密码、API 密钥)。
  • 对输入数据进行严格的验证和清理。
  • 使用异步错误包装器防止未捕获的 Promise 拒绝。
  • 实施速率限制和 CORS 策略。
  • 编写单元测试和集成测试。
  • 使用日志系统(如 Winston 或 Pino)记录关键事件。

支持的平台

  • Claude Code
  • Cursor
  • Codex
  • 其他兼容的 AI 编码助手

许可证

MIT

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

wshobson/accessibility-compliance

Implement WCAG 2.2 compliant interfaces with mobile accessibility, inclusive design patterns, and assistive technology support. Use when auditing accessibility, implementing ARIA patterns, building for screen readers, or ensuring inclusive user experiences.

wshobson/airflow-dag-patterns

Build production Apache Airflow DAGs with best practices for operators, sensors, testing, and deployment. Use when creating data pipelines, orchestrating workflows, or scheduling batch jobs.

wshobson/angular-migration

Migrate from AngularJS to Angular using hybrid mode, incremental component rewriting, and dependency injection updates. Use when upgrading AngularJS applications, planning framework migrations, or modernizing legacy Angular code.

wshobson/anti-reversing-techniques

Understand anti-reversing, obfuscation, and protection techniques encountered during software analysis. Use this skill when analyzing malware evasion techniques, when implementing anti-debugging protections for CTF challenges, when reverse engineering packed binaries, or when building security research tools that need to detect virtualized environments.

wshobson/api-design-principles

Master REST and GraphQL API design principles to build intuitive, scalable, and maintainable APIs that delight developers. Use when designing new APIs, reviewing API specifications, or establishing API design standards.

wshobson/architecture-decision-records

Write and maintain Architecture Decision Records (ADRs) following best practices for technical decision documentation. Use when documenting significant technical decisions, reviewing past architectural choices, or establishing decision processes.

wshobson/architecture-patterns

Implement proven backend architecture patterns including Clean Architecture, Hexagonal Architecture, and Domain-Driven Design. Use this skill when designing clean architecture for a new microservice, when refactoring a monolith to use bounded contexts, when implementing hexagonal or onion architecture patterns, or when debugging dependency cycles between application layers.

wshobson/async-python-patterns

Master Python asyncio, concurrent programming, and async/await patterns for high-performance applications. Use when building async APIs, concurrent systems, or I/O-bound applications requiring non-blocking operations.

wshobson/attack-tree-construction

Build comprehensive attack trees to visualize threat paths. Use when mapping attack scenarios, identifying defense gaps, or communicating security risks to stakeholders.

wshobson/auth-implementation-patterns

Master authentication and authorization patterns including JWT, OAuth2, session management, and RBAC to build secure, scalable access control systems. Use when implementing auth systems, securing APIs, or debugging security issues.

wshobson/avoid-ai-writing

Audit and rewrite prose so it stops reading as machine-generated. Use this skill when asked to remove AI-isms, clean up AI writing, edit a draft for AI tells, audit a README, changelog, release note, PR description, or blog post for machine-sounding prose, or make text sound less like AI. Supports a detect-only mode, a rewrite mode, and an edit-in-place mode, with optional voice and context profiles.

wshobson/backtesting-frameworks

Build robust backtesting systems for trading strategies with proper handling of look-ahead bias, survivorship bias, and transaction costs. Use when developing trading algorithms, validating strategies, or building backtesting infrastructure.

wshobson/bash-defensive-patterns

Master defensive Bash programming techniques for production-grade scripts. Use when writing robust shell scripts, CI/CD pipelines, or system utilities requiring fault tolerance and safety.

wshobson/bats-testing-patterns

Master Bash Automated Testing System (Bats) for comprehensive shell script testing. Use when writing tests for shell scripts, CI/CD pipelines, or requiring test-driven development of shell utilities.

wshobson/bazel-build-optimization

Optimize Bazel builds for large-scale monorepos. Use when configuring Bazel, implementing remote execution, or optimizing build performance for enterprise codebases.

wshobson/before-you-build

Pre-build product and feature risk review for founders, product managers, and AI-assisted builders. Use this skill when the user is about to build a landing page, MVP, SaaS product, internal tool, agent workflow, or major feature and needs to check demand, positioning, monetization, retention, trust, distribution, and adoption risk before implementation starts.

wshobson/billing-automation

Build automated billing systems for recurring payments, invoicing, subscription lifecycle, and dunning management. Use when implementing subscription billing, automating invoicing, or managing recurring payment systems.

wshobson/binary-analysis-patterns

Master binary analysis patterns including disassembly, decompilation, control flow analysis, and code pattern recognition. Use when analyzing executables, understanding compiled code, or performing static analysis on binaries.

wshobson/block-no-verify-hook

Configure a PreToolUse hook to prevent AI agents from skipping git pre-commit hooks with --no-verify and other bypass flags. Use when setting up Claude Code projects that enforce commit quality gates.

wshobson/brand-landingpage

Brand-first landing page designer — runs a brand-identity interview (colors, typography, shape language), then generates and iterates on a polished landing page via Stitch with deployment-ready HTML. Use when the user asks to create, design, or build a landing page, homepage, or marketing page and has no established visual direction. Skip when they have a design mockup, need a dashboard or app UI, are working at component level, building a multi-page app, or restyling with known design tokens — use frontend-design instead.

相关技能