Communitygithub.com

swyxio/skills

當任務需要 Forge 專用的 CLI、驗證、清單或發佈行為(forge.smol.ai 或 *.sites.smol.ai 上的行為)時,操作或診斷 SmolForge 儲存庫以及 Forge Deploy/Sites。不適用於一般的 Git 或 Cloudflare 工作、公開頁面審查、產品策略或分析,或是不與 Forge 託管狀態互動的一般程式碼變更。

skills 是什麼?

此技能專門用於操作和診斷 SmolForge 儲存庫以及 Forge 的 Deploy/Sites 平台。它涵蓋 Forge 的兩個主要面向:基於 Cloudflare 的儲存庫(Git 託管、問題、拉取請求、Actions、轉錄和儲存庫代理)以及 Deploy/Sites(將推送的 SHA 精確轉換為預覽,並可進一步升級為正式生產應用程式)。此技能強調任務範圍的嚴謹分類:區分儲存庫操作、客戶應用程式部署、Forge 基礎設施修復,以及僅限原始碼、CLI、文件或分析的工作,以避免不必要的發佈閘道。它要求使用 Forge 的 CLI(`sf`)及其範圍內的憑證流程進行驗證,同時嚴格禁止直接從瀏覽器儲存或其他應用程式的鑰匙圈中提取 token。部署合約是圍繞 `forgeBuild.ts` v1 文件、精確 SHA 版本管理以及獨立的狀態變更(如專案啟用、服務條款接受、升級、回滾和提供者應用)構建的。最後,此技能提供了修復和復原的指導方針,在 Forge 的規範通道無法使用或涉及事件時,允許直接使用 Wrangler 進行基礎設施修復,同時始終將客戶應用程式的發佈記錄作為優先事項。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/swyxio/skills/tree/HEAD/forge

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

Forge

Forge 在 Cloudflare 之上提供兩種功能:

  • 儲存庫: Git 託管、議題、拉取請求、Actions、轉錄與儲存庫代理。
  • Deploy / Sites: 一個精確推送的 SHA 會成為預覽,之後可以變成正式環境的應用程式。

Cloudflare 仍然是執行時期/提供者。當 Forge 是要求的目標時,請勿替代其他 Git 或託管產品,也不要假設託管應用程式會繼承 Forge 或 Cloudflare Access 的驗證。

保持任務範圍明確

在載入更多流程之前,先分類要求的結果:

  • 儲存庫操作: 使用一般的 Git 加上 Forge 驗證。
  • 客戶應用程式部署: 使用 Forge Deploy 及其發佈記錄。
  • Forge 基礎架構修復: 使用最小且健康的發佈路徑;被修復的控制平面不需要部署自身的修復。
  • 僅限原始碼、CLI、文件、分析或 UI 工作: 除非使用者同時要求部署,否則不要加入正式環境的發佈閘道。

執行緒區域性的保留與不相關的發佈並非全域前提。僅套用能夠減輕所要求動作中具體風險的檢查,並在該結果被證明後停止。將不相關的發現記錄為後續事項。

解決當前行為

Forge 正在演進中。使用已安裝的 CLI、目標儲存庫、當前 UI/API,以及僅透過 Forge 來源對應 路由的相關第一方原始碼。文件無法證明當前的帳戶資格、限制或發佈狀態。

在構建指令之前檢查語法:

sf help
sf commands --json
sf schema --json
sf <command> --help

識別帳戶、儲存庫、預設分支,以及對於 Deploy,識別專案根目錄。保留現有的 GitHub 遠端,除非使用者要求取代它。

儲存庫驗證

已登入的 Forge 瀏覽器並非本機的 Git 憑證。使用 Forge 的範圍內憑證流程,且不要暴露其 token:

sf auth status
sf auth git-credential <owner>/<repo>
git ls-remote <forge-remote> HEAD

保持啟用 credential.useHttpPath。絕不要從瀏覽器儲存或其他應用程式的鑰匙圈中提取 token,也不要將其放入遠端、原始碼、Shell 歷史記錄或輸出中。未經必要授權,請勿強制推送、取代 origin、變更可見性或擴大憑證範圍。

對於 GitHub 遷移,使用 Forge 目前的匯入流程。保留套件管理器並單獨處理 Git LFS;匯入歷史記錄不會複製託管的 LFS 物件。

Forge Deploy 合約

Forge 發佈的是精確推送的 SHA,而非本機的檢出。原始碼、建置、預覽、提供者發佈、正式環境啟用以及線上驗證是各自獨立的狀態。

每個專案在其設定的根目錄中需要一個純資料的 forgeBuild.ts v1。從來源對應讀取當前清單來源,然後驗證:

npx smolforge deploy check
  • 省略 build 參數則不會執行儲存庫建置指令。
  • forgeBuild.ts 是靜態評估的;請勿使用可執行的設定、動態匯入或 forge.yml/forge.yaml。
  • 應用程式需要 HTTP 進入點、靜態資源,或兩者兼具。僅為瀏覽器端路由使用 SPA 降級方案。
  • .forge/config.json 可以對應專案並提議繫結;它不會建立專案、套用提供者狀態或授予 DNS 權限。
  • 匯入的 Wrangler 繫結可能會將正式環境資源暴露給預覽環境。

建立或啟用專案、接受服務條款、升級、回滾、停用、路由以及提供者套用,都是各自獨立的外部狀態變更。預覽 URL 是未列出的且設為 noindex,但並非私人;絕不要在其中放入機密或私人資料。

發佈與復原

對於客戶應用程式,使用 Forge Deploy。對於 Forge 基礎架構,在其正常且健康的情況下,優先使用規範通道。當該通道不可用、不健康、涉入事件,或實質上阻礙了有限的修復時,直接使用 Wrangler 是經授權的操作員路徑;但它不是繞過客戶應用程式發佈記錄的捷徑。

對於直接的基礎架構修復,範圍限定於一個確切的元件,記錄原始碼 SHA、當前版本與回滾版本,以及任何遷移或繫結變更,然後檢查流量、健康度/相依性,以及一次可重現性。不需要無關的預覽、組合件對帳、詳盡的證明,或與無法變更相同元件或 schema 的任務進行協調。

在重試被封鎖的發佈之前,識別最後已知的狀態和目標診斷。檢查確切的 SHA、專案根目錄、分支以及有效的建置/靜態資源設定。僅在不可變目標和冪等條件明確時才重試。

參考資料

使用 Forge 來源對應 僅載入擁有當前問題的第一方文件。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能