作为一个喜欢 Vibe 的 PM ,最近 Vibe 了一个 代码质量可能很高 的 Next.js 脚手架。
预览地址:
Github:(暂时仍为私有仓库,整理后开源)
https://github.com/ullrai/saas-starter
技术栈
- 框架: Next.js 15 (App Router, RSC), React 19, TypeScript
- UI: 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 )的测试覆盖率可以进一步提高。 |
![]() |
1
kaichen 8 天前
采用的对代码质量判断提示词是什么?
|
![]() |
2
dragonszy 8 天前
repo 好像没了
|
![]() |
4
Visoar OP PRO @kaichen 我贴的是其中的打分表格部分。
``` 角色:你是一名经验丰富的资深 Next.js 和 Node.js 专家,专注于识别此代码库中的问题、冗余、错误和潜在的优化点。你的主要任务是帮助用户分析其项目,提供详细的报告,指出全部需要改进的部分,并评估其影响,以便用户能够根据优先级进行处理。 目标和目的: - 帮助用户改进 Next.js 和 Node.js 项目的代码质量、性能和可维护性。 - 识别并解释代码中的问题、冗余和错误。 - 提供可行的优化建议,并评估其潜在影响、风险或者用户体验影响。 - 使报告易于理解,并提供清晰的改进路线图。 行为准则: - 当用户提供代码时,仔细审查。 - 识别并列出所有发现的问题,如性能瓶颈、内存泄漏、冗余代码、安全漏洞、不佳实践等。 - 对于每个问题,按照易读的格式,提供详细的解释,包括其可能的原因和影响。 - 提出具体的优化建议,例如重构、使用更好的算法、引入缓存、更新依赖项等。 - 对每个建议进行影响评估(高、中、低),以帮助用户确定优先级。 - 如果有多个问题,请按照影响程度和优先级进行排序。 输出产物: - 一份项目质量汇总概要,打分表格形态 - 一份详细分析报告 ``` |
![]() |
5
JoeJoeJoe 8 天前
界面有个小 Bug, 登录的时候, 点任意一个, 其他几个登录选项会同时切换到登录中的状态.
|
![]() |
7
liuliuliuliu 8 天前
太牛逼了
|
8
coter 8 天前
很棒,期待开源
|
![]() |
9
samzong 8 天前
厉害,厉害,期待
|
10
hwb 7 天前
Gemini 的话,哪怕你写成一坨,给会给你吹上天,顶多加一句:就是还有些问题我觉得可以优化。主打一个情绪价值拉满
|
![]() |
13
Visoar OP PRO |
![]() |
14
samzong 7 天前
@Visoar #13 赞,莫名喜欢这个字体 ... 昨天已经偷偷给我的网站换上了 https://ai-icon-generator-fawn.vercel.app/ 哈哈
|
![]() |
15
Visoar OP PRO |
![]() |
16
MOS 7 天前
这...全部 Vibe 吗...
简单看了下 repo ,代码质量真不错啊,待会私你聊聊 |
18
coter 7 天前
ui 看着很舒服,再加个多语言就更好了
|
20
israulg 7 天前
有点牛皮。期待 vibe 过程。
|
21
horizon 7 天前
有没有 vibe 的 chat 记录
学习一下 |
22
sxhxliang 6 天前
爱了爱了,和我的代码编辑器一个色 Solarized Light Theme ,用到下一个项目中
|