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 固定执行以下步骤:
- 检查 pnpm 和 Git,不校验 Node 版本。
- 从
https://github.com/6owen/tanplate.git浅克隆目标目录。 - 幂等移除模板仓库的
origin,避免误推送到上游。 - 执行
pnpm install。 - 执行
pnpm init:template -- --project <project-name>,把目录名同步为 Manifest、Worker 和本地资源身份。 - 执行
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 --resumeCLI 会重新检查工具链和状态归属,然后只运行未完成步骤。普通 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完整顺序见 快速开始。