用途
mkfast-deploy 用于把 mkfast-template(TanStarter 系)项目部署到 Cloudflare Workers。它的核心价值是根据项目实际启用的组件动态裁剪部署步骤,避免照搬完整版文档导致裁剪版项目跑空命令甚至报错。
适用对象是基于 mkfast-template 模板派生的项目,包括完整 SaaS 形态、裁剪版博客或任意中间形态。它不适用于任意 Cloudflare Workers 项目,后者用 wrangler skill 即可。判断标志(满足任一即可):根目录有 wrangler.jsonc + package.json;package.json 含 wrangler、@cloudflare/vite-plugin、@tanstack/react-start 中任一;目录里有 mkfast 特征文件如 drizzle.config.ts、src/server.ts、src/db/auth.schema.ts。
主要原则
- 先评估再执行:任何 deploy 命令前必须完成 Phase 1,生成裁剪后的步骤清单;直接 pnpm run deploy 不算工作完成。
- 不要照搬官方文档:完整版文档假设了 D1 + R2 + secret bulk,裁剪版项目跑这些步骤会报错或浪费。
- secret bulk 是 gating step:项目有服务端 secret(.env.production 含非 VITE_* 变量)必须在 deploy 前推到 Cloudflare,否则运行时崩溃。
- 生产部署需明确确认:执行 pnpm run deploy 前必须让用户最终确认。
- 域名状态决定 routes 策略:域名未托管 Cloudflare 时不能直接 deploy 含 routes 的配置。
- 安全优先:.env* 必须进 .gitignore;对话、截图、Slack、commit message 中出现过的 secret 一律视为已泄漏,立即 rotate。
- 模板占位符必查:wrangler.jsonc 有 4 处模板默认值必改(name、routes.pattern、database_id、bucket_name)+ 1 处必关(logpush: true 在 Free/Pro plan 必报 code 10023)。
工作流(4 阶段)
Phase 1 — 自动评估(只读):对照模板默认占位符识别表做 wrangler.jsonc + package.json diff,任何未替换的模板默认值都直接 block 进 Phase 2。读取项目状态识别“项目画像”,最少读 wrangler.jsonc、package.json、.env.example、.env.production、.env.local,按 12 类组件逐一判断启用与否,输出项目形态、启用组件勾选表、环境变量缺口表和裁剪后的待执行步骤清单。
Phase 1.5 — 安全 baseline(只读 + 必要时新建 .gitignore):部署前必查 4 项——.gitignore 存在且含 .env*;.env.local 不在 git history;wrangler.jsonc 无硬编码 secret;.env.production 无明文 production secret 准备 commit。
Phase 2 — 决策点:基于画像问用户,按情况选 1-5 题,包括目标用户地域、域名状态、D1/R2 资源、可选功能、CI 自动化。若选中国大陆需注意 Cloudflare 在中国大陆访问体验问题。
Phase 3 — 执行(按裁剪后清单):Step 0 做 Sanity(清缓存、验证 wrangler 凭证),所有项目都做 whoami 验证、检查 token 权限、最终确认后执行 pnpm run deploy;仅当检测到对应组件时执行 D1 创建与迁移、R2 bucket 创建、Email Routing、Better Auth secret、secret bulk、支付配置等步骤;若选 CI 则创建 GitHub Actions 工作流。
Phase 4 — 验证:用 curl 做在线验证,预期首次 HTTP 200、size 大于几 KB、time 小于 3s,二次 time 小于 500ms;检查 gzip 体积是否小于 3072(3 MB 免费计划上限)、Dashboard 日志无 runtime error、自定义域名首次访问可能有 30s CDN 传播延迟;上线后 30 分钟观察 5xx 响应率、版本号匹配、Analytics 流量、D1 表访问、R2 bucket 访问;并提供回滚方案与 Secret rotation 提醒。
工具文件
- references/components.md:12 类组件检测信号与部署步骤映射表、模板默认占位符识别表、API Token 权限矩阵、反推 secret 列表方法。
- references/tailoring.md:完整版 vs 裁剪版 vs 中间形态裁剪决策树与决策矩阵,含 enable=false 仍需保留 D1 binding、enable=false 不等于 tree-shake 的说明。
- references/troubleshoot.md:11 个常见报错 + 排查命令 + 修复。
- references/cn-access.md:中国大陆访问优化 4 档方案。
- templates/deploy-checklist.md:项目画像输出模板、最终汇报模板、AskUserQuestion 模板。
- templates/stub-no-d1-r2.md:彻底关闭 D1/R2 的代码 stub 模板。
限制
资料未提供该技能的收费、价格、平台兼容性、组件完整清单之外的更多功能或效果承诺。是否适用于特定项目需按上述判断标志确认。