作为一个喜欢 Vibe 的 PM ,最近 Vibe 了一个 代码质量可能很高 的 Next.js 脚手架。
预览地址:
Github:(暂时仍为私有仓库,整理后开源)
https://github.com/ullrai/saas-starter
技术栈
框架: Next.js 15 (App Router, RSC), React 19, TypeScriptUI: Tailwind CSS v4, shadcn/ui, Lucide Icons, Dark/Light Mode认证: Better-Auth (MagicLink, OAuth - Google/GitHub/LinkedIn)数据库: PostgreSQL + Drizzle ORM支付: Creem (集成一次性支付/订阅/客户门户)文件: Cloudflare R2 集成 (客户端预签名直传, 服务端代理上传, 图片压缩)内容管理: Keystatic (Markdown/MDX 博客系统)邮件: Resend + React Email (事务性邮件模板)表单: React Hook Form + Zod (类型安全的表单验证)代码质量: ESLint, Prettier管理后台: 通用的数据管理后台,可轻松扩展以管理任何数据库表
文档 https://starter.ullrai.com/blog/saas-starter-kit-intro
据 Gemini 说代码质量杠杠的....[捂脸]
UllrAI SaaS Starter Kit 项目质量评估
综合评价: 一个卓越的、生产就绪的 SaaS 入门套件。它不仅是启动新项目的坚实基础,更是学习现代全栈应用开发的优秀范例。
总分: 9.5 / 10
评估维度 (Dimension) | 评分 (Score) | 优点 (Strengths) | 改进建议 (Room for Improvement) |
---|---|---|---|
文档与开发者体验 (DX) | 10/10 | ⭐ 极其详尽: README 覆盖了从配置到部署的所有环节。✅ 流程清晰: 数据库迁移、脚本命令、文件上传等都有清晰的指导。 | 无明显缺点,堪称典范。 |
项目结构与代码组织 | 10/10 | ⭐ 结构清晰: 遵循 App Router 最佳实践,使用路由组分离关注点。 ✅ 模块化: lib , components , schemas 等目录组织合理,高内聚低耦合。 | 无,项目结构堪称教科书级别。 |
代码质量与最佳实践 | 9.5/10 | ⭐ 端到端类型安全: 从数据库 (Drizzle) 到后端 (Zod, Safe Actions) 再到前端 (TypeScript) 的完美类型链。 ✅ 环境安全: 使用 @t3-oss/env 确保环境变量的类型安全。 | 接近完美,代码质量极高。 |
安全性 (Security) | 9.5/10 | ⭐ 多层防护: better-auth 认证、清晰的权限控制、安全的管理员创建脚本。✅ 上传安全: 客户端+服务端双重验证和预签名 URL 。 | 可以考虑增加 CSP (内容安全策略)来进一步强化前端安全,但这已是高级要求。 |
功能实现与完整性 | 9.0/10 | ⭐ 功能全面: 覆盖 SaaS 所需的认证、支付、数据库、CMS 、文件上传和管理后台。 ✅ 后台强大: 提供了易用的管理后台, GenericTableManager 是一大亮点。✅ 支付流程完整: 包含结账、客户门户和 Webhook 处理。 | ❌ 通知系统暂未实现。 ❌ 首页仪表盘部分统计数据为静态占位符。 |
测试 (Testing) | 8.0/10 | ⭐ 测试文化: 配置了 Jest 和 RTL ,并提供了多层面的测试范例(组件、工具函数、数据库、Schema )。 ✅ 基础扎实: 为项目的长期维护和迭代提供了良好的基础。 | 💡 核心业务逻辑(如 Server Actions )的测试覆盖率可以进一步提高。 |