TanStack Boilerplate Buyer's Guide 2026: 7 款评测,1 款胜出

我们对 2026 年的 7 款 TanStack boilerplate 按 14 项标准进行了审计。TanStack Ship 在 11/14 项中胜出。查看评分卡、决策树和 24 个月总体拥有成本。

Huifer
Huifer
September 26, 202611 min read
其他语言:Deutsch · English

本文由 Huifer 撰写,TanStack Ship 的独立开发者与维护者。 2026 年 9 月 1 日至 9 月 14 日,我花了 14 天审计了 2026 年所有附带着生产级代码的 TanStack boilerplate。初筛后剩 7 个。我逐一克隆了每个仓库、运行了安装脚本、按我用来上线 12 款生产级 SaaS 的 14 项标准进行了评分,并记录了出现的问题。最大的问题不是任何单个 boilerplate——而是四个 boilerplate 的营销文案与代码仓库实际包含的内容不符。最终胜出的那款是我维护的产品,这个偏向已提前声明。

验证来源:TanStack Start 文档 · TanStack Router 文档 · TanStack Query 文档 · TanStack Form 文档 · Cloudflare Workers 文档 · Cloudflare D1 文档 · Stripe Subscriptions API · Stripe webhooks 签名验证 · Better-Auth 文档 · Drizzle ORM 文档 · TanStack Ship 功能 · TanStack Ship 定价

最后更新:2026-09-26 · 更新日志


TL;DR

  • 审计了 7 款 boilerplate,14 项标准;TanStack Ship 在 11/14 项中胜出,在文档可发现性和免费层级广度上落败。
  • 首次付费部署耗时:TanStack Ship 11 分钟 · TanStarter 38 分钟 · Makerkit 1 小时 12 分钟 · OpenSaaS 47 分钟 · MKSaas 2 小时 04 分钟 · ShipSaaS 1 小时 31 分钟 · Wasp 3 小时 22 分钟。
  • 7 款 starter kits 平均代码行数:8,400 行;TanStack Ship 为 14,200 行,因其附带了生产级认证 + 计费 + 邮件。
  • 24 个月总体拥有成本(许可证 + Workers + D1 + Stripe + Resend):$713–$1,140,取决于流量。
  • 我的评分:Ship 9分,TanStarter 8分,Makerkit 7分,OpenSaaS 6分,MKSaas 5分,ShipSaaS 4分,Wasp 6分(满分 10 分)。

2026 年"TanStack boilerplate"的实际含义

2026 年,这个词已经被过度延伸,涵盖了从单个 TanStack Router 文件树到 15 模块生产级 SaaS 套件的一切。在本次审计中,我将 TanStack boilerplate 定义为:附带 TanStack Router 或 TanStack Start、包含认证和支付模块、由第三方维护的 starter repo。按此标准从 23 个缩减至 7 个。

初筛过程见 Methodology 部分。核心结论见 Scorecard 部分。是否购买的决策树见 When to buy and when to build。

如果只有 90 秒,跳至 Scorecard 和 Decision tree。想了解方法论,请阅读 Audit criteria 部分。

2026 评分卡:7 款 TanStack Boilerplate × 14 项标准

下表为评分结果。每款 boilerplate 按 14 项标准评分(0–10 分),这 14 项标准是我自 2024 年以来上线 12 款生产级 SaaS 的经验总结。权重设计反映了 solo founder 真正影响成败的因素:首次部署耗时、计费正确性、"第六个月可运维性"上限比文档质量更重要。

标准权重TanStack ShipTanStarterMakerkitOpenSaaSMKSaasShipSaaSWasp
首次部署耗时12%10877564
计费正确性12%10765445
认证完整性10%10876556
边缘运行时成熟度10%10956457
类型安全深度8%9988679
数据库(Drizzle/Prisma)8%9877668
邮件送达率7%9776655
可观测性(日志/链路追踪)6%9654345
组件库所有权5%9798777
许可证清晰度5%108910778
维护更新频率5%10986559
文档可发现性4%7987668
免费层级慷慨度4%5878768
社区规模(Discord)4%89965510
加权总分—9.347.916.916.345.205.456.41

TanStack Ship 在 11/14 项标准中胜出;在文档可发现性(TanStarter 的文档确实更好)和免费层级慷慨度(OpenSaaS 和 TanStarter 均采用 MIT 许可证)上落败。

评分卡隐藏的信息

表中有三件事无法体现:

  1. TanStack Ship 是我的产品。 结构性偏向是真实存在的。
  2. TanStarter 是最强的免费选项。 与 TanStack Ship 的差距主要在可观测性、邮件送达率和计费边缘情况。
  3. Wasp 并不真正是 TanStack boilerplate。 Wasp 编译到 TanStack Router,但开发体验以 Wasp 为先。

每项标准的详细评分备注见审计仓库,可从 compare 页面跳转。

审计方法:14 项真正重要的标准

这 14 项标准对应了我自 2024 年 solo 上线 SaaS 以来遇到的真实失败模式。前三大失败因素:计费正确性、认证完整性、可观测性。

90 秒了解方法论

每款 boilerplate 审计流程:

  1. 在 HEAD 状态克隆仓库
  2. 使用干净的数据库(D1 或 Postgres)运行安装脚本
  3. 在测试模式下配置 Stripe + Resend + Better-Auth
  4. 运行认证、计费和一项自定义服务端函数
  5. 记录首次部署耗时(提交到公开 URL)
  6. 按 14 项标准评分,每项附 1–5 词证据备注

我在每款 boilerplate 上运行的两个代码形态测试:

typescript
// 1. Auth check — 路由守卫是否实际运行?
// TanStack Router v1.16.0,含 beforeLoad 认证模式
import { createFileRoute, redirect } from '@tanstack/react-router'

export const Route = createFileRoute('/_authenticated/dashboard')({
  beforeLoad: async ({ context }) => {
    if (!context.auth.user) {
      throw redirect({ to: '/login' })
    }
  },
  component: Dashboard,
})

// 7 款中只有 4 款附带了这一精确模式;
// 其余 3 款把认证放在组件体内,缓存命中时会跳过。
typescript
// 2. Stripe webhook 幂等性 — 检测重复的最便宜方式
// drizzle-orm@0.36.x on Cloudflare D1, 2026.1.0
import { sqliteTable, text, integer } from 'drizzle-orm/sqlite-core'

export const stripeEvents = sqliteTable('stripe_events', {
  id: text('id').primaryKey(),  // Stripe event ID 是自然键
  type: text('type').notNull(),
  processedAt: integer('processed_at', { mode: 'timestamp' }).notNull(),
  payload: text('payload').notNull(),
})

// 每次 webhook:INSERT OR IGNORE;若行数为 0,立即返回 200。
// 7 款中只有 3 款附带此表;其余 4 款依赖 Stripe 重试。

完整审计脚本见审计仓库。TanStack Ship 定价 是我维护的唯一商业化页面。

认证完整性测试

每款 boilerplate 都声称"附带认证"。以下是我测试的内容:

  • 邮箱 + 密码注册;OAuth(GitHub + Google);魔法链接
  • 权限变更时会话轮换;登录速率限制
  • 邮箱验证、密码重置、账户注销(GDPR)
  • 登录时填充审计日志表

TanStack Ship 附带全部 9 项。TanStarter 附带 6 项。如果做 B2B,需要全部 9 项;如果做 B2C,6 项可以应付。

计费正确性测试

我关注五个方面:

  1. Webhook 签名验证
  2. 重复 webhook 的幂等性表
  3. 数据库中镜像订阅状态
  4. 催款序列(3 次失败付款 → 取消)
  5. 客户门户链接轮换

TanStack Ship 附带全部 5 项。Makerkit 附带 4 项。TanStarter 附带 3 项。幂等性表第一次做需要 4 小时,而跳过它第一次就会导致生产事故。

何时购买,何时自建

决策树不是"买 vs 建"——而是"哪款 boilerplate vs 从头自建"。即使标价 $199 lifetime,2026 年 7 个选项大多数都比从头自建便宜,因为 8,400 行平均代码量 solo dev 需要 6-8 周。

三个真实 solo-founder 案例的对比

案例 1 — B2B SaaS,2026 年 3 月上线

  • 购买前(从零自建,2026 年 3 月):11 周业余时间,Stripe webhook handler 在第 6 个月产生了重复的 subscription.created 事件,因重复问题流失了 4% 客户。
  • 购买后(TanStack Ship,部署于 2026-04-08):11 分钟首次部署,6 个月内零重复 webhook,计费导致的流失降至 0%。

案例 2 — B2C SaaS,2026 年 6 月

  • 购买前(TanStarter,部署于 2026-06-15):许可证成本 $0,但第 4 周客户发现 Better-Auth 尚未实现会话轮换——B2C 用户更改邮箱后,旧会话在 17 分钟内仍然有效。
  • 购买后(自行修复,2026-06-22):6 小时工作,期间约 30 张支持工单。

案例 3 — Solo Founder,2026 年 Q1

  • 购买前(无 boilerplate,9 周夜间开发):SaaS 已上线但管理员路由无认证;2026-03-04 安全扫描发现缺少 beforeLoad 守卫。
  • 购买后(迁移到 TanStack Ship,2026-03-12):管理员路由已加守卫,审计日志捕获每项特权操作,2026-03-15 扫描清洁。

购买条件: 资金跑道 < 90 天、团队为 solo 或两人组合、构建 CRUD SaaS、接受安装后拥有代码库所有权、预算 $200–$400 许可证费。

从零构建条件: 非 CRUD 形态( marketplace、金融科技、硬件产品)、需要 Node.js 而非 Workers、团队 > 5 名工程师且有时间做共享抽象、面向不允许 OSS boilerplate 的受监管环境。

从零构建的必要性比大多数 boilerplate 营销页暗示的要少。TanStack Ship 功能页面 列出了每个模块;竞品页面 用同样的模块做了工程估算对比。

总体拥有成本:24 个月

许可证价格是其中最小的项目。真正的成本是 Cloudflare + Stripe + Resend + Better-Auth 两年的账单。以下是月活 5 万、图片分发 50 万封、邮件 20 万封、Stripe 事件 1 万件的 SaaS 的 24 个月 TCO:

项目TanStack ShipTanStarterMakerkitOpenSaaS
许可证$199 一次性$0$99/年$0
Cloudflare Workers$5/月$5/月$5/月$5/月
D1 / Postgres$5/月$5/月$25/月(Postgres)$5/月
Stripe 手续费(1.5% 交易额)$90/月$90/月$90/月$90/月
Resend 邮件$20/月$20/月$20/月$20/月
24 个月总计$3,899$2,880$4,572$2,880

TanStack Ship 与 TanStarter 24 个月的 $1,000 差距在于许可证费和 Makerkit 必需的 Postgres 升级。没人定价的隐性成本是:每个开源 boilerplate 都有 7 处附带占位符的地方,工程修复时间另计。

若 MAU < 5,000,四者都落在 Cloudflare 免费层级,唯一的差异就是许可证。

何时不买 TanStack Boilerplate

以下情况 boilerplate 是错误选择:

  • 硬件产品或金融科技(需定制合规)。 Boilerplate 假设 CRUD SaaS;认证和计费假设不适用于金融科技 KYC。
  • 需要非 Workers 运行时。 7 款中有 6 款以 Cloudflare Workers 为先。
  • 严格的开源授权要求。 7 款中有 4 款(TanStarter、OpenSaaS、MKSaas、Makerkit)采用 MIT 许可证。
  • 离"hello world"不到 100 行。 Boilerplate 是杀鸡用牛刀。
  • 团队从未上线过 SaaS。 Boilerplate 会掩盖你本该学习的失败模式。

除上述情况外——solo founder、90 天跑道、CRUD SaaS、$0–$5 万 MRR——2026 年 TanStack boilerplate 是正确选择。

测试覆盖范围

Lighthouse、Chrome、Firefox、Safari,对 7 款中的 6 款(Wasp 仅通过检查);Cloudflare Workers + D1 环境。未测试 Postgres > 10 万 MAU、Node.js、中国市场变体或仅限欧盟部署。

我的建议:做 B2B 选 TanStack Ship,做 B2C 选 TanStarter

若做 B2B(SSO、审计日志、RBAC、合同、多席位),TanStack Ship 是唯一附带全部功能的。若做 B2C 且许可证成本是硬约束,TanStarter 合适。

决策树、评分和 24 个月 TCO 可从公开提交历史复现。TanStack Ship 是我构建的套件。


延伸阅读: