Tanplate Docs

CLI

使用 Tanplate CLI 创建项目、恢复中断步骤并理解本地与远程边界。

@tanplate/cli 是模板初始化的薄编排层。它不重新实现 Manifest 或 Wrangler 配置,而是把克隆、安装和仓库已有的确定性初始化命令串成一个可恢复流程。

创建项目

包发布后可直接运行:

pnpm dlx @tanplate/cli create my-app
cd my-app

项目名必须是最长 48 字符的小写 kebab-case slug;CLI 会在克隆前拒绝大写、下划线、点号和 Windows 保留设备名。该名称同时用于目标目录与 Manifest 项目身份。

当前仓库内开发 CLI 时,可直接验证入口:

node packages/cli/src/index.mjs --help
pnpm --filter @tanplate/cli test

工具链

CLI 不检查 Node 版本,只要求 pnpm 10.33.0 和可用的 Git。pnpm 版本不匹配时会在克隆前失败。

执行顺序

create 固定执行以下步骤:

  1. 检查 pnpm 和 Git,不校验 Node 版本。
  2. https://github.com/6owen/tanplate.git 浅克隆目标目录。
  3. 幂等移除模板仓库的 origin,避免误推送到上游。
  4. 执行 pnpm install
  5. 执行 pnpm init:template -- --project <project-name>,把目录名同步为 Manifest、Worker 和本地资源身份。
  6. 执行 pnpm check:template

CLI 不自动安装系统工具,也不会创建 Cloudflare/GitHub 资源、写远程 secret、部署或推送代码。远程资源仍按 Cloudflare 与部署 的显式 plan 和批准流程处理。

中断恢复

每个成功步骤都会原子写入目标项目的 .tanplate/state.json。状态只包含 Schema 版本、项目名、绝对目标路径、模板 URL、已完成步骤和更新时间,不保存密码、token、API key、环境变量或其他 secret。

流程中断后,在原父目录执行:

pnpm dlx @tanplate/cli create my-app --resume

CLI 会重新检查工具链和状态归属,然后只运行未完成步骤。普通 create 不覆盖已存在目录;--resume 也只接受由该 CLI 创建且状态匹配的项目。

初始化后的工作

CLI 完成的是本地模板准备。随后编辑 project.manifest.json,重新运行 pnpm init:template,再执行当前 Profile 需要的步骤:

pnpm data:migrate:local # Profile 需要 D1 时
pnpm data:seed:local    # Profile 部署 Admin 时
pnpm dev:web

完整顺序见 快速开始

On this page