# Elysia后端脚手架 `Bun` `Elysia` `后端` `脚手架` `ORM` `认证` `MCP` # Elysia 核心后端(技能) 脚手架一个最小化、生产就绪的 Bun + Elysia 后端,集成 Better Auth、Drizzle ORM、Postgres、MCP 端点、OpenAPI 文档、CORS 和安全默认配置。不含业务逻辑,仅提供基础设施。 ## 安装 ```bash 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