Communitygithub.com

amagnatema/ship-cloudflare-sites

Entwickeln, prüfen, bereitstellen, veröffentlichen und wiederherstellen von Websites auf Cloudflare Workers, inklusive Next.js/OpenNext, Wrangler, D1, R2, Secrets, Domains, Caching und versionierte Deployments. Verwenden für Cloudflare-Website-Setup, Deployment-Bereitschaft, Produktions-Releases, Infrastrukturänderungen, Rollback oder wiederholbare Release-Iteration; nicht verwenden für reines Pages-Hosting oder nicht verwandte Cloudflare-Produkte.

Was ist ship-cloudflare-sites?

Dieses Skill ermöglicht die vollständige Lebenszyklusverwaltung von Cloudflare Workers-Websites, einschließlich Next.js/OpenNext, direkt über das Repository. Es deckt Audit, Entwicklung, Provisionierung, Release, Rollback und Wiederherstellung ab, mit Unterstützung für D1, R2, Secrets, benutzerdefinierte Domains und Caching. Es arbeitet evidenzbasiert: Es liest Repository-Anweisungen und -Konfiguration, prüft vor jeder Aktion und respektiert die vom Benutzer angegebene Umgebung. Es verhindert versehentliche Änderungen an der Produktion durch explizite Zielangabe, Worktree-Überprüfung und invariante Sicherheitsvorkehrungen. Das Skill ist für Claude Code optimiert (da es sich auf das Repository stützt), kann aber mit jedem KI-Agenten (Cursor, Codex) verwendet werden, der Repository-Beweise lesen und lokale Skripte ausführen kann. Es führt ein lokales Audit-Skript aus, löst Blocker auf, wählt den geeigneten Modus (Audit, Entwicklung, Provisionierung, Release, Wiederherstellung) und erstellt einen detaillierten Release-Nachweis, der Rollback-Ziele, Speicher-Caveats und Testergebnisse enthält.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/amagnatema/ship-cloudflare-sites/tree/HEAD/skills/ship-cloudflare-sites

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Ship Cloudflare Sites v1.1

Arbeite auf Basis von Repository-Beweisen und der vom Benutzer angeforderten Reichweite. Eine Anfrage zum Deployment autorisiert den normalen Deployment-Workflow für die genannte Umgebung; frage nur nach, wenn eine zusätzliche destruktive, irreversible oder materiell breitere Änderung nötig wird. Leite niemals ein Produktionsziel aus einer nicht spezifizierten Umgebung ab.

Projekt entdecken

  1. Lese Repository-Anweisungen und inspiziere den aktuellen Arbeitsbaum vor der Bearbeitung.
  2. Führe scripts/audit-cloudflare-project.sh <Projekt-Root> aus und inspiziere jeden gemeldeten Blocker.
  3. Ermittle Framework, Paketmanager, Adapter, Worker-Einstieg, Wrangler-Konfiguration, Umgebungen, Bindungen, Migrationen, Domains, CI-Pfad und Secret-Namen aus Dateien – nicht aus dem Gedächtnis.
  4. Verwende das repository-pinned CLI. Überprüfe veränderliches Cloudflare/OpenNext-Verhalten in lokaler --help und aktueller offizieller Dokumentation vor Remote-Änderungen.
  5. Lese nur die relevanten Referenzen:

Betriebsmodus wählen

  • Audit/Plan: bleibe schreibgeschützt. Gib Beweise, Blocker, Risiken und genaue nächste Aktionen zurück.
  • Entwicklung/Konfiguration: bearbeite und verifiziere lokal. Erstelle Remote-Ressourcen nur, wenn der Benutzer die Bereitstellung angefordert hat oder das Deployment sie benötigt.
  • Provisionierung: bestätige Konto, Zone, Umgebung, Namen und beabsichtigte Eigentümerschaft. Erstelle nur fehlende Ressourcen und persistiere zurückgegebene IDs in der gewählten Konfiguration.
  • Release: baue einmal, dann deploye dieses verifizierte Artefakt. Verwende direktes Deployment für risikoarme Releases, wenn angefordert; verwende Version-Upload plus kontrollierte Promotion für riskante oder explizit schrittweise Releases.
  • Recovery: wähle eine bekannte funktionierende Worker-Version, behandle dann D1- und R2-Zustand separat. Worker-Versionen enthalten keinen Speicherzustand.

Invariante Sicherheitsvorkehrungen anwenden

  • Unterscheide lokale, Preview/Staging- und Produktionsressourcen. Mache das Ziel jedes Remote-Befehls explizit.
  • Halte Secret-Werte aus Quellcode, Ausgabe, Screenshots und Shell-Argumenten fern. Melde nur Namen und Vorhandensein.
  • Überprüfe einen verschmutzten Worktree vor dem Release. Verwerfe, committe oder versende nicht zusammenhängende Benutzeränderungen nicht.
  • Modelliere D1-Änderungen als geordnete Migrationen und bevorzuge Expand/Backfill/Contract über Releases hinweg.
  • Verwende unveränderliche oder versionierte R2-Schlüssel für langlebige Cache-Assets. Behandle Überschreiben, Löschen, CORS-Änderung und Cache-Leeren als eine koordinierte Änderung.
  • Behandle Worker Custom Domains und R2 Custom Domains als separate Ressourcen. Überprüfe Apex, www, kanonische Weiterleitungen, Zertifikate und Asset-Hostname unabhängig.
  • Bezeichne einen Upload nicht als erfolgreichen Release. Verifiziere den öffentlichen Hostnamen, kritische Routen, D1-gestütztes Verhalten, ein repräsentatives R2-Objekt und Logs nach dem Deployment.

Einen Release-Nachweis erstellen

Zurückgeben:

  • Release-ID, Git-Commit, Umgebung, Worker- und Speicher-Ressourcennamen;
  • ausgelieferte Quell-/Konfigurationsänderungen und ausgeschlossene Worktree-Änderungen;
  • lokale Prüfungen und ihre Ergebnisse;
  • D1-Migrationen plus Recovery-Lesezeichen/Export und Kompatibilitätsreihenfolge;
  • R2-/Domain-/Cache-/Secret-Änderungen ohne Secret-Werte;
  • Worker-Version/Deployment-ID und Traffic-Prozentsatz, wenn verfügbar;
  • Smoke-Test-URLs und Ergebnisse;
  • Rollback-Ziel, Speicher-Caveats und verbleibende manuelle Aktionen.

Wenn eine Prüfung fehlschlägt, stoppe vor der unsicheren Grenze, bewahre die Beweise auf und teile mit, was noch übrig ist. Schwäche keine Prüfung stillschweigend ab.

Verwandte Skills