Communitygithub.com

amagnatema/ship-cloudflare-sites

在 Cloudflare Workers 上開發、稽核、佈建、發佈、驗證及恢復網站,包含 Next.js/OpenNext、Wrangler、D1、R2、機密、網域、快取及版本化部署。

ship-cloudflare-sites 是什麼?

這項技能專為在 Cloudflare Workers 平台上管理網站生命週期而設計,涵蓋從開發、稽核、佈建到發佈、驗證與恢復的完整流程。它能自動化偵測專案中的框架、套件管理器、適配器、Worker 進入點等關鍵資訊,並根據使用者的意圖選擇稽核、開發、佈建、發佈或恢復等操作模式。技能提供嚴格的安全檢查,例如區分本機、預覽與正式環境、保護機密值、審查髒工作目錄,以及模型化 D1 變更為有序遷移,確保每次發佈的可重複性與安全性。支援 Cloudflare Worker、D1、R2、自訂網域、快取、金鑰與版本化部署,並可產生詳細的發佈記錄,包含版本 ID、遷移記錄與驗證測試結果,適合需要穩定且安全的 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 <專案根目錄> 並檢查所有回報的阻礙。
  3. 從檔案(而非記憶)解析框架、套件管理器、適配器、Worker 進入點、Wrangler 設定、環境、繫結、遷移、網域、CI 路徑以及機密名稱。
  4. 使用儲存庫鎖定的 CLI。在進行遠端變更前,先在本機的 --help 與目前的官方文件中驗證可變的 Cloudflare/OpenNext 行為。
  5. 僅閱讀相關的參考資料:

選擇操作模式

  • 稽核/規劃: 保持唯讀。回報證據、阻礙、風險與確切的後續步驟。
  • 開發/設定: 在本機編輯與驗證。僅在使用者要求佈建或部署需要時,才建立遠端資源。
  • 佈建: 確認帳號、區域、環境、名稱與預期的擁有權;僅建立缺少的資源,並將回傳的 ID 持久化到選定的設定檔中。
  • 發佈: 建構一次,然後部署該經過驗證的成品。在要求低風險發佈時使用直接部署;在風險高或明確要求逐步發佈時,使用版本上傳搭配受控的升級。
  • 恢復: 選擇一個已知良好的 Worker 版本,然後分別處理 D1 與 R2 的狀態。Worker 版本不包含儲存狀態。

套用不變的保護措施

  • 區分本機、預覽/暫置與正式環境資源。讓每個遠端指令的目標明確。
  • 將機密值排除在原始碼、輸出、螢幕截圖與 Shell 參數之外。僅回報名稱與存在與否。
  • 在發佈前審查髒工作目錄。不要丟棄、提交或運送不相關的使用者變更。
  • 將 D1 變更建模為有序的遷移,並偏好跨發佈採用擴展/回填/收縮模式。
  • 對長期快取的資產使用不可變或已版本化的 R2 金鑰。將覆寫、刪除、CORS 變更與快取清除視為一項協調的變更。
  • 將 Worker 自訂網域與 R2 自訂網域視為獨立的資源。獨立驗證 apex、www、標準重新導向、憑證與資產主機名稱。
  • 不要將上傳稱為成功的發佈。驗證公開主機名稱、關鍵路由、D1 支援的行為、一個代表性的 R2 物件以及部署後的日誌。

產生發佈記錄

回傳:

  • 發佈 ID、Git 提交、環境、Worker 與儲存資源名稱;
  • 已運送的原始碼/設定變更與排除的工作目錄變更;
  • 本機關卡及其結果;
  • D1 遷移加上復原書籤/匯出與相容性順序;
  • R2/網域/快取/機密變更(不含機密值);
  • Worker 版本/部署 ID 及流量百分比(若可用);
  • 煙霧測試 URL 及其結果;
  • 復原目標、儲存注意事項與剩餘的手動操作。

如果一個關卡失敗,請在危險邊界前停止、保留證據並說明尚未完成的項目。請勿在未告知的情況下弱化任何關卡。

相關技能