Communitygithub.com

WordPress-Plugin nach EmDash portieren

Analysiere und portiere das Verhalten von WordPress-Plugins, benutzerdefinierte Beitragstypen, Shortcodes, Admin-Workflows und gespeicherte Daten auf die aktuellen EmDash-Erweiterungspunkte. Verwende dies für Migrationen von WordPress-Plugins oder um zu entscheiden, welches Verhalten in ein EmDash-Plugin, Site-Schema, Seed oder Astro-Code gehört. Nicht verwenden für reine Design-Theme-Portierungen ohne Plugin-Funktionalität.

Was ist WordPress-Plugin nach EmDash portieren?

Diese Fähigkeit hilft dabei, WordPress-Plugins systematisch auf die EmDash-Plattform zu portieren. Anstatt PHP-Code zeilenweise zu übersetzen, wird die zugrundeliegende Funktionalität und das Datenmodell bewahrt, indem sie auf EmDash-spezifische Konzepte wie Site-Schema, Astro-Code, sandboxierte oder vertrauenswürdige native Plugins verteilt werden. Der Skill unterstützt Entwickler dabei, die Verantwortlichkeiten eines WordPress-Plugins (z. B. benutzerdefinierte Beitragstypen, Shortcodes, REST-Endpunkte, geplante Ereignisse, Admin-Seiten) den entsprechenden EmDash-Abstraktionen (Collections, `ctx.settings`, `ctx.kv`, `ctx.storage`, Cron-Hooks, Block Kit) zuzuordnen. Er stellt sicher, dass Autorisierungsgrenzen getrennt bleiben und Daten nur über öffentliche APIs migriert werden. Der Skill ist für Claude Code, Cursor und Codex geeignet und arbeitet mit der SKILL.md als Leitfaden, der auch die Auswahl des Plugin-Formats, die Datenmigration und die Überprüfung des äquivalenten Verhaltens abdeckt. Ziel ist es, die beobachtbare Funktionalität zu erhalten, während die WordPress-spezifische Implementierung durch EmDash-Konzepte ersetzt wird.

Funktioniert mit✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/emdash-cms/emdash/tree/HEAD/skills/wordpress-plugin-to-emdash

In Ihrer bevorzugten KI fragen

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

Dokumentation

Ein WordPress-Plugin nach EmDash portieren

Bewahre das für Benutzer sichtbare Verhalten und das Datenmodell des Plugins, ohne PHP zeilenweise zu übersetzen. WordPress und EmDash teilen die Verantwortlichkeiten anders auf, daher entscheide zunächst, ob jedes Merkmal in Site-Schema, Astro-Code, ein sandboxiertes Plugin oder ein vertrauenswürdiges natives Plugin gehört.

Lade creating-plugins, bevor du Plugin-Code implementierst. Lade building-emdash-site, wenn der Port Collections, Seeds, Queries oder Frontend-Vorlagen ändert. Diese Skills definieren die aktuellen APIs; dieser Skill behandelt Migrationsentscheidungen.

Die Quelle verstehen

Untersuche den Plugin-Quellcode, das Installationsverhalten, Datenbankänderungen, Hooks, REST-Endpunkte, geplante Aufgaben, Admin-Bildschirme, Shortcodes oder Blöcke, Frontend-Ausgabe, Berechtigungen und externe Dienste. Identifiziere das Verhalten, auf das sich Benutzer verlassen, getrennt von der WordPress-spezifischen Implementierung.

Dokumentiere:

  • erforderliche Inhalts- und Konfigurationsdaten;
  • Aktionen, die Daten verändern oder veröffentlichen;
  • Autorisierungs- und Vertrauensgrenzen;
  • Hintergrund- oder Wiederholungsverhalten;
  • Frontend- und Administratorinteraktionen;
  • Import-, Migrations- und Rollback-Anforderungen;
  • Lizenzverpflichtungen für kopierte Assets oder Code.

Falls die Quelle, das erwartete Verhalten oder die Ziel-EmDash-Umgebung fehlen, melde die Lücke, anstatt eine Entsprechung zu erfinden.

Jede Verantwortung zuweisen

WordPress-VerantwortungEmDash-Ziel
Benutzerdefinierter Beitragstyp, Taxonomie oder MetadatenCollection, Taxonomie und Felder, erstellt über das Site-Schema oder Seed
Seitenweite PräsentationseinstellungSite-Einstellung, gelesen von Astro-Vorlagen
Plugin-eigene Benutzereinstellungenctx.settings; Anmeldeinformationen als verschlüsselte secret-Felder deklarieren
Plugin-eigene Cursor, Caches oder interner ZustandPlugin-bezogener ctx.kv
Plugin-eigene abfragbare DatensätzeDeklarierter ctx.storage.<collection>-Speicher
Inhaltserkennung, Übersetzung oder VeröffentlichungBerechtigungsgesteuerte ctx.content und ctx.schema; Policy-Hooks und -Aktionen haben separate Autorität
Laufzeit-Taxonomie- oder Redirect-Verwaltungctx.taxonomies oder ctx.redirects mit enger Lese-/Schreibberechtigung
Kommentarverwaltungctx.comments; Lesezugriffe legen personenbezogene Daten offen und Moderation verwendet erwartete Status
WordPress-REST-EndpunktDeklarierte Plugin-Route mit expliziten Methoden, Eingaben, Headern und Antwortmodus
Geplanter Ereigniscron-Hook und ctx.cron-Planung
Admin-Seite oder -FormularBlock Kit für sandboxierte Plugins; React nur für ein vertrauenswürdiges natives Plugin
Metabox des Beitragseditors oder Aktion beim Speichernadmin.editorPanels oder admin.editorActions auf privaten Routen
Benutzer- oder Autorensuchectx.users mit users:read
Ausgehende HTTP-Anfragectx.http.fetch() mit network:request und einem allowedHosts-Eintrag
MedienoperationGetrennte Metadaten-, Byte-Lese-, Metadaten-Schreib- und Hochladen/Löschen-Berechtigungen
WP_Query oder Template-TagEmDash-Inhalts-API in Astro-Site-Code
Shortcode oder Editor-BlockVorhandener Portable Text Inhalt wo möglich; ein benutzerdefinierter Portable Text Block erfordert ein vertrauenswürdiges natives Plugin
Raw Head-Markup oder SkripteVertrauenswürdiger nativer page:fragments; per Registry installierte Plugins können nur validiertes page:metadata beitragen

Erstelle keine Collections oder Taxonomien, indem du in EmDash-Systemtabellen eingreifst. Verwende das öffentliche Schema, Seed, CLI oder die Admin-Grenze. Verwende keine internen REST-Routen, um eine Sandbox-API zu imitieren, die nicht existiert.

Halte Berechtigungen getrennt: Das Lesen von Medienmetadaten gewährt keine Bytes, Moderation gewährt keine Löschung, Veröffentlichungspolitik gewährt keine Veröffentlichungsaktionen, und das Wiederherstellen von Inhalten gewährt keine gewöhnlichen Inhaltslesevorgänge.

Das Plugin-Format wählen

Standardmäßig ein sandboxiertes Plugin verwenden. Es unterstützt portable Hooks, Routen, deklarierten Speicher, Medien, Netzwerkzugriff, MCP-Tools und eine Block-Kit-Admin-Benutzeroberfläche über einen Installationszeit-Vertrauensvertrag.

Ein vertrauenswürdiges natives Plugin nur dann verwenden, wenn das Feature Host-Prozesszugriff, React-Admin-Code, Astro-Rendering-Komponenten, rohe Seitenfragmente oder benutzerdefinierte Portable-Text-Block-Definitionen erfordert. Gib die zusätzliche Autorität und die Verteilungseinschränkung im Migrationsplan an.

Einige WordPress-Plugins benötigen kein EmDash-Plugin. Ein benutzerdefinierter Beitragstyp plus Frontend-Vorlagen können zu reinem Schema, Seed-Daten und Astro-Seiten werden. Füge keine Laufzeiterweiterung hinzu, wenn die statische Site-Struktur das Verhalten abdeckt.

Datenbewegung planen

Beschreibe, wie vorhandene WordPress-Daten abgebildet werden, bevor Laufzeitcode geschrieben wird:

  • Beitrags-IDs, Slugs, Gebietsschemata, Autoren, Status, Revisionen und Veröffentlichungsdaten abbilden;
  • Beziehungen zwischen Beiträgen, Begriffen, Medien und Plugin-eigenen Datensätzen bewahren;
  • einen einmaligen Import von Daten unterscheiden, die weiterhin synchronisiert werden müssen;
  • Importe wiederholbar machen und definieren, wie Duplikate erkannt werden;
  • Quellkennungen behalten, wenn sie für Abgleiche oder Weiterleitungen benötigt werden;
  • Inhalte identifizieren, die ohne eine Produktentscheidung nicht dargestellt werden können.

Seed-Daten für das anfängliche Schema und Beispielinhalte einer neuen Website verwenden. Einen Importer oder Migrationspfad für die Produktionsdaten einer bestehenden Website verwenden; ein Seed ist kein Backup oder Mechanismus zur fortlaufenden Synchronisation.

Äquivalentes Verhalten überprüfen

Testen über die Grenze hinweg, die Benutzer und die Laufzeit nutzen:

  • Schema- und importierte Datenbehauptungen für Änderungen am Inhaltsmodell;
  • Plugin-Tests auf Produktionsgrenze für Sandbox-Hooks, Routen, Speicher und Berechtigungen;
  • Browser-Überprüfung für Admin- und Frontend-Abläufe;
  • Neustart-, Duplikatzustellungs-, Autorisierungs- und Fehlerfälle, wenn das Quellfeature davon abhängt.

Vergleiche beobachtbares Verhalten, nicht interne Struktur. Dokumentiere beabsichtigte Unterschiede und alle WordPress-Funktionen, die weiterhin nicht unterstützt werden.

Den Port ausliefern

Bereitstellen:

  1. eine knappe Bestandsaufnahme des WordPress-Verhaltens und der Daten;
  2. die Verantwortungszuordnung und die Entscheidung für sandboxiert/nativ;
  3. den Datenmigrations- oder Seed-Plan;
  4. die Implementierung über Plugin- und Site-Code;
  5. Überprüfungsnachweise und bekannte Lücken;
  6. Quellenangabe und Lizenzhinweise für wiederverwendeten Code oder Assets.

Individual skills in this repo

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

Verwandte Skills