创建项目

从 Saavo 账户授权 CLI,下载模板并自动准备本地开发环境。

先打开 Saavo 账户中心,在“我的产品”中确认能够看到 Saavo Starter 和当前可用的模板版本。这里显示的是账号实际拥有的权限,你在使用 CLI 授权时也要使用同一个账号。

Saavo 账户中心

账户中心提供的 ZIP 适合需要查看原始发布文件的情况。正常创建项目建议使用 Saavo CLI,因为它会完成下载校验、项目命名和本地初始化,比手动下载 ZIP 更方便。

运行创建命令

在开始执行命令前,请确保你已经安装了 Node.js 和 npm,具体可以查看准备工作章节。

打开终端,进入准备存放项目的上级目录,然后执行:

npx saavo-cli@latest create my-project

第一次使用时,CLI 会打开浏览器进入 saavo.dev。登录拥有模板权限的账号,阅读授权内容后允许访问。

Saavo 授权

授权完成后回到终端,CLI 会继续检查 Node.js、npm 和模板权限,不需要再复制 Token 或下载链接。如果你没有购买 Saavo Starter 模板,授权完成后会提示:

◆  Logged in as saavo (xxx@xxx.com).
│
■  SAAVO CLI FAILED
│  No templates are available for saavo (xxx@xxx.com). The account may not have template access, or no release has been published.

请在授权前确保你有获取模板的权限,否则无法创建项目。

你可以把 my-project 换成自己的项目名,确保项目名使用小写英文字母、数字和连字符,并且不要与已有的项目名重复。

选择本地初始化

如果一切顺利,模板下载并校验完成后,终端会询问:

Prepare the project for local development?
Installs dependencies, creates .env, and initializes local databases.

是否本地初始化

这里选择 Yes。CLI 随后会:

  • 使用 npm ci 或 npm install 安装依赖。
  • 调用模板中的 npm run saavo:init。
  • 从 example.vars 创建本地 .env。
  • 生成只属于这个项目的 SAAS_SECRET。
  • 生成 Cloudflare 类型。
  • 生成文档、博客内容集合及其类型。
  • 初始化本地 D1 数据库并应用迁移。
  • 运行 doctor 检查本地配置。

这可能需要一些时间,完成后会看到下一步的提示信息:

本地初始化完成

此时不需要手工复制 example.vars,也不需要逐条执行 D1 SQL。.env 中已经保留 Cloudflare 官方 Turnstile 测试密钥,Stripe、OAuth、通知和 R2 API 凭据没有使用时可以继续留空。

不要提交本地环境文件

.env 已经被 Git 忽略,其中的 SAAS_SECRET 不能提交,也不要复制到其他项目。以后部署时,deploy:init 会把同一个应用密钥写入同样被忽略的 .env.production。

如果创建时跳过了初始化

项目文件仍然会保留。进入项目目录后执行:

npm install
npm run saavo:init

看到 Local development environment is ready 后,再继续下一步。初始化中途失败时也使用这组命令恢复,不要改回旧的手工建库流程。

下一页:本地运行。