用途:这是 TinyShip SaaS 起步项目的对话式分步安装向导,在每个决策点都先询问用户并等待回答,不代替用户做选择。
主要能力与步骤:
- 检测模板(shipeasy 或 tinyship-cf),并校验前置条件:node -v 需 >= 22.20.0,pnpm -v 需 >= 9.0.0,缺失时用 npm install -g pnpm 安装。
- 环境配置:shipeasy 执行 cp env.example .env;tinyship-cf 执行 cp apps/tanstack-app/.dev.vars.example apps/tanstack-app/.dev.vars;用 openssl rand -hex 32 生成密钥并写入 BETTER_AUTH_SECRET。
- 数据库选择:tinyship-cf 默认 Cloudflare D1,运行 npx wrangler d1 migrations apply tinyship-db --local;shipeasy 可选 SQLite(DB_DIALECT="sqlite",先 mkdir -p data,再 pnpm install、pnpm db:push:sqlite、pnpm db:seed:sqlite)或 PostgreSQL(DB_DIALECT="pg",可自动检测本地环境或改用 Docker 运行 postgres:15,随后 pnpm install、pnpm db:push、pnpm db:seed)。种子数据含测试账号 admin@example.com / admin123 与 user@example.com / user123456。
- 框架选择(仅 shipeasy):Next.js(pnpm dev:next)、Nuxt.js(pnpm dev:nuxt)、TanStack Start(pnpm dev:tanstack);tinyship-cf 固定 TanStack Start,命令为 pnpm dev。之后启动并验证 http://localhost:7001 及 /api/health,并尝试登录。
- 定价模式(可选):静态为默认,计划定义在 config/payment.ts;动态需设 PRICING_MODE="dynamic",通过 /admin/pricing 管理计划,tinyship-cf 还需在 wrangler.jsonc 的 vars 中设置。
- 框架清理(可选,仅 shipeasy):经用户明确确认后删除未用 apps/、清理工作区与 CI 配置,并验证剩余应用可构建。
限制:所有步骤依赖上述具体环境与模板;资料未提供其它平台、价格、效果或版本范围信息。