作为一个喜欢 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 PRO 采用的对代码质量判断提示词是什么? |
![]() | 2 dragonszy 105 天前 repo 好像没了 |
![]() | 4 Visoar OP PRO @kaichen 我贴的是其中的打分表格部分。 ``` 角色:你是一名经验丰富的资深 Next.js 和 Node.js 专家,专注于识别此代码库中的问题、冗余、错误和潜在的优化点。你的主要任务是帮助用户分析其项目,提供详细的报告,指出全部需要改进的部分,并评估其影响,以便用户能够根据优先级进行处理。 目标和目的: - 帮助用户改进 Next.js 和 Node.js 项目的代码质量、性能和可维护性。 - 识别并解释代码中的问题、冗余和错误。 - 提供可行的优化建议,并评估其潜在影响、风险或者用户体验影响。 - 使报告易于理解,并提供清晰的改进路线图。 行为准则: - 当用户提供代码时,仔细审查。 - 识别并列出所有发现的问题,如性能瓶颈、内存泄漏、冗余代码、安全漏洞、不佳实践等。 - 对于每个问题,按照易读的格式,提供详细的解释,包括其可能的原因和影响。 - 提出具体的优化建议,例如重构、使用更好的算法、引入缓存、更新依赖项等。 - 对每个建议进行影响评估(高、中、低),以帮助用户确定优先级。 - 如果有多个问题,请按照影响程度和优先级进行排序。 输出产物: - 一份项目质量汇总概要,打分表格形态 - 一份详细分析报告 ``` |
![]() | 5 JoeJoeJoe PRO 界面有个小 Bug, 登录的时候, 点任意一个, 其他几个登录选项会同时切换到登录中的状态. |
![]() | 7 liuliuliuliu PRO 太牛逼了 |
8 coter 105 天前 很棒,期待开源 |
![]() | 9 samzong 105 天前 厉害,厉害,期待 |
10 hwb 105 天前 Gemini 的话,哪怕你写成一坨,给会给你吹上天,顶多加一句:就是还有些问题我觉得可以优化。主打一个情绪价值拉满 |
![]() | 13 Visoar OP PRO |
![]() | 14 samzong 105 天前 @Visoar #13 赞,莫名喜欢这个字体 ... 昨天已经偷偷给我的网站换上了 https://ai-icon-generator-fawn.vercel.app/ 哈哈 |
![]() | 15 Visoar OP PRO |
![]() | 16 MOS 105 天前 这...全部 Vibe 吗... 简单看了下 repo ,代码质量真不错啊,待会私你聊聊 |
![]() | 17 Visoar OP PRO |
18 coter 105 天前 ui 看着很舒服,再加个多语言就更好了 |
20 israulg 105 天前 有点牛皮。期待 vibe 过程。 |
21 horizon 105 天前 有没有 vibe 的 chat 记录 学习一下 |
![]() | 22 sxhxliang 104 天前 爱了爱了,和我的代码编辑器一个色 Solarized Light Theme ,用到下一个项目中 |
![]() | 23 Aicnal 83 天前 via iPhone 好奇 ui 是怎么设计的,学习一下 |
24 Danswerme 83 天前 感谢分享,期待楼主整理的 vibe 过程! |
26 AX5N 82 天前 gemini 有端水夸夸人的倾向,只要没有严重的逻辑错误就会把你一顿夸。就算你问他一个比较差的观点,他也会尽可能地端水。 |
![]() | 28 Int100 80 天前 via iPhone 简单测了一下,还是有些很明显的 bug ,例如登陆发送邮件后返回按钮失效; 但是纯 vibe coding 可以达到这个程度,还是令人挺惊讶的. |
30 gcoder 79 天前 期待看到可以参考的过程。这个最有价值。 |
![]() | 31 qxmqh 28 天前 这个一般用来做什么产品比较好,有没有案例。 |