name: Dev & Deploy slug: dev-deploy version: 1.4.0 description: 快速创建并部署 Web 应用到 Cloudflare Pages;包含文件覆盖、Git推送与系统修改的安全确认机制。 metadata: {"clawdbot":{"emoji":"🚀","requires":{"bins":["node","git","gh","wrangler"],"env":["CLOUDFLARE_API_TOKEN"]},"os":["darwin","linux","win32"]}}
快速开发并部署 Web 应用到 Cloudflare Pages,可选推送到 GitHub。
为避免破坏性行为和数据丢失,Agent 在执行此工作流时必须遵守以下确认流程,严禁在未获明确授权时进行高危自动化操作:
deploy.js 之前,必须简要向用户说明将要执行的参数和动作,并征得用户同意。--name) 必填:脚本强制要求提供 --name 参数。如果用户未提供,Agent 必须先向用户询问,不能随意编造或假定项目名称。--in-place、--source 可能导致现有文件被覆盖,必须先向用户发出明确警告并获取授权。--skip-github。CLOUDFLARE_API_TOKEN 时,必须暂停并请求用户提供或由用户执行授权。brew 或 npm install -g 安装全局依赖(如 gh, wrangler)时,必须先向用户申请权限,禁止在未授权时悄悄篡改系统环境。按需检查(不是所有命令都必须执行):
node -v
git --version
gh --version
wrangler --version
gh auth status
wrangler whoami
安装指引(缺什么装什么,但在执行系统级安装前必须征求用户同意):
# macOS
brew install node
brew install git
brew install gh
npm install -g wrangler
快速步骤:
Create Token。 Edit Cloudflare Workers),或自定义最小权限。 export CLOUDFLARE_API_TOKEN=your_token_here
注意:在脚本、CI、AI Agent 等非交互环境中,即使执行过
wrangler login,也仍可能需要CLOUDFLARE_API_TOKEN。
node dev_deploy/deploy.js --name my-app --custom
node dev_deploy/deploy.js --name my-app --source ./existing-project
node dev_deploy/deploy.js --name my-app --source ./existing-project --in-place
| 参数 | 说明 | 示例 |
|---|---|---|
--name |
项目名称(必填,小写字母/数字/短横线) | todo-app |
--custom |
自定义开发模式 | - |
--source |
已有项目目录 | ./my-project |
--in-place |
原地部署(不复制) | - |
--projects-dir |
默认项目目录 | ~/projects |
--config |
配置文件路径 | ~/.config/dev-deploy/config.json |
--branch |
Git 分支名 | main |
--public |
创建公开仓库(默认私有) | - |
--skip-test |
跳过访问测试 | - |
--skip-github |
跳过 GitHub 创建和推送 | - |
--skip-deploy |
跳过 Cloudflare 部署 | - |
命令行参数 > 环境变量 > 配置文件 > 默认值
环境变量:
export CLOUDFLARE_API_TOKEN=your_token_here
export PROJECTS_DIR=~/projects
export TEST_DELAY=5000
export MAX_RETRIES=3
export DEFAULT_DOMAIN=pages.dev
export DEFAULT_BRANCH=main
export PAGES_BUILD_OUTPUT_DIR=.
export DEV_DEPLOY_CONFIG=~/.config/dev-deploy/config.json
配置文件默认路径(取首个存在的):
~/.config/dev-deploy/config.json~/.dev-deploy.json--name)。deploy.js:根据授权的参数执行脚本。wrangler: command not found -> npm install -g wrangler gh: command not found -> brew install gh(或跳过 GitHub) non-interactive environment ... CLOUDFLARE_API_TOKEN -> 注入 CLOUDFLARE_API_TOKEN 后重试 gh auth status 失败 -> gh auth login 后重试 TEST_DELAY 或 MAX_RETRIES 整体质量较好。文档非常详细,使用说明清晰易懂;安全确认机制做得很到位,执行危险操作前会主动提示确认,不用担心被误操作;配置方式灵活,可以适应不同使用习惯;错误提示也比较友好。不足之处是部署脚本功能较多但没有拆分,长期使用和维护可能存在隐患。适合需要频繁部署项目到 Cloudflare Pages 的用户使用。