catalog/repos/ahmed-lotfy-dev--elysia-core-backend.md

2.3 KiB

Elysia后端脚手架

Bun Elysia 后端 脚手架 ORM 认证 MCP

Elysia 核心后端(技能)

脚手架一个最小化、生产就绪的 Bun + Elysia 后端,集成 Better Auth、Drizzle ORM、Postgres、MCP 端点、OpenAPI 文档、CORS 和安全默认配置。不含业务逻辑,仅提供基础设施。

安装

npx skills add ahmed-lotfy-dev/elysia-core-backend --skill elysia-core-backend

技能功能说明

  • 使用官方生成器生成干净的 Elysia 服务器脚手架
  • 添加带有 Drizzle 适配器和最小认证 schema 的 Better Auth
  • 配置 Drizzle ORM 与 Postgres
  • 添加 MCP 插件及示例 health 工具
  • /docs 启用 OpenAPI 文档
  • 配置 CORS 白名单、CSRF 保护和安全响应头
  • 提供基础路由://health/api/csrf/api/auth/*/mcp

生成的文件结构

server/
  src/
    index.ts
    auth.ts
    middleware/
      auth-middleware.ts
      logger.ts
      csrf.ts
      security-headers.ts
    db/
      db.ts
      auth-schema.ts
    mcp/
      index.ts
      tools/
        health.ts
    routes/
      health.ts
    lib/
      env.ts
  drizzle.config.ts
  drizzle/
  package.json
  tsconfig.json
  .env

环境要求

  • Bun 运行时
  • Postgres 数据库
  • Better Auth 密钥及第三方提供商密钥

环境变量

DATABASE_URL=postgres://user:pass@host:5432/db
BETTER_AUTH_SECRET=your-generated-secret
BETTER_AUTH_URL=http://localhost:8000
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
FRONTEND_URL=http://localhost:3000
NODE_ENV=development

默认脚本

"scripts": {
  "dev": "bun run --watch src/index.ts",
  "build": "bun build src/index.ts --outdir dist --target bun",
  "start": "bun dist/index.js",
  "db:generate": "drizzle-kit generate",
  "db:migrate": "drizzle-kit migrate",
  "db:studio": "drizzle-kit studio"
}

使用示例

向 Codex 提问,例如:

  • "用 Better Auth、Drizzle、Postgres、MCP 和 OpenAPI 搭建一个 Bun + Elysia 后端。使用 Elysia Core Backend 技能。"
  • "为新的 Elysia 服务器添加 Better Auth + Drizzle + MCP 脚手架。"

注意事项

  • MCP 服务器必须通过 elysia-mcp 插件挂载,而非直接使用原始的 McpServer 实例。
  • 使用 cookie 认证时,非认证路由会强制执行 CSRF 校验。

许可证

MIT