Communitygithub.com

amagnatema/ship-cloudflare-sites

在Cloudflare Workers上开发、审计、配置、发布、验证和恢复网站,包括Next.js/OpenNext、Wrangler、D1、R2、密钥、域名、缓存和版本化部署。适用于Cloudflare网站搭建、部署就绪检查、生产发布、基础设施变更、回滚或可重复的发布迭代;不适用于仅Pages托管或无关的Cloudflare产品。

ship-cloudflare-sites 是什么?

此技能专为在Cloudflare Workers上构建和管理网站的开发者设计,支持Next.js/OpenNext等框架。它提供了从项目发现、审计、开发配置到生产发布、回滚和恢复的完整工作流。技能基于仓库证据和用户请求范围运行,强调安全性和可审计性:在执行任何破坏性或不可逆操作前会请求确认,所有操作都通过读取仓库配置文件和运行本地脚本来完成,而非依赖记忆。它涵盖了Wrangler、D1、R2、密钥、域名、缓存和环境管理等Cloudflare资源,并强制在发布前进行本地验证和烟雾测试。该技能适用于Claude Code等AI编码助手,通过读取参考文档和仓库指令,自动化了Cloudflare站点的发布和基础设施管理,同时保持了严格的防护措施,如区分环境、保护密钥值、处理脏工作树以及存储状态变更的谨慎处理。

兼容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/amagnatema/ship-cloudflare-sites/tree/HEAD/skills/ship-cloudflare-sites

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

Ship Cloudflare Sites v1.1

基于仓库证据和用户请求范围运行。部署请求授权对指定环境执行常规部署工作流;仅在需要额外的破坏性、不可逆或实质性变更时提问。切勿从未指定的环境推断生产目标。

发现项目

  1. 在编辑前阅读仓库说明并检查当前工作树。
  2. 运行 scripts/audit-cloudflare-project.sh <project-root> 并检查所有报告的阻塞项。
  3. 从文件(而非记忆)中解析框架、包管理器、适配器、Worker入口、Wrangler配置、环境、绑定、迁移、域名、CI路径和密钥名称。
  4. 使用仓库固定的CLI。在进行远程更改前,在本地 --help 和当前官方文档中验证可变Cloudflare/OpenNext行为。
  5. 仅阅读相关参考:

选择操作模式

  • 审计/计划: 保持只读。返回证据、阻塞项、风险和确切的下步操作。
  • 开发/配置: 在本地编辑和验证。仅在用户请求配置或部署需要时才创建远程资源。
  • 配置: 确认账户、区域、环境、名称和预期所有权;仅创建缺失的资源,并将返回的ID持久化到所选配置中。
  • 发布: 构建一次,然后部署已验证的工件。对于低风险的发布,请求后使用直接部署;对于有风险或明确需要逐步发布的发布,使用版本上传加受控推广。
  • 恢复: 选择已知良好的Worker版本,然后分别处理D1和R2状态。Worker版本不包含存储状态。

应用不变防护措施

  • 区分本地、预览/预发和生产资源。使每个远程命令的目标明确。
  • 将密钥值排除在源代码、输出、屏幕截图和shell参数之外。仅报告名称和存在状态。
  • 在发布前检查脏工作树。不要丢弃、提交或发布无关的用户更改。
  • 将D1变更建模为有序迁移,并在多个版本间优先采用扩展/回填/收缩策略。
  • 对长期缓存资产使用不可变或带版本的R2键。将覆盖、删除、CORS变更和缓存清除视为一个协调变更。
  • 将Worker自定义域名和R2自定义域名视为独立资源。分别验证顶点域、www、规范重定向、证书和资产主机名。
  • 不要将上传称为成功发布。验证公共主机名、关键路由、D1支持的行为、一个代表性R2对象和部署后日志。

生成发布记录

返回:

  • 发布ID、Git提交、环境、Worker和存储资源名称;
  • 已发布的源代码/配置变更以及排除的工作树更改;
  • 本地检查点及其结果;
  • D1迁移加上恢复书签/导出和兼容性顺序;
  • R2/域名/缓存/密钥变更(不含密钥值);
  • Worker版本/部署ID和流量百分比(如可用);
  • 烟雾测试URL和结果;
  • 回滚目标、存储注意事项和剩余手动操作。

如果检查点失败,在达到不安全边界前停止,保留证据,并说明剩余步骤。不要静默地削弱检查点。

相关技能