Rudel
Anfragegesteuerte WordPress-Overlay-Umgebungen für Sandboxes.
composer require rudel/rudelNeueste Version v0.10.0 GPL-2.0-or-later WordPress 6.4+, PHP 8.2+
wp rudel create \
--name=feature-a \
--owner=dennis \
--labels=agent,qa \
--purpose="Test checkout changes" \
--ttl-days=7In der Praxis
Erstelle eine Sandbox auf der Host-Website und leite anschließend WP-CLI oder eine HTTP-Anfrage dorthin.
Sandbox erstellen und Anfragen dorthin leiten
wp rudel create klont die Host-Tabellen unter einem neuen Präfix, kopiert das Theme in das Sandbox-Verzeichnis und gibt die Sandbox-ID aus.
Übergib diese ID in RUDEL_ENVIRONMENT für WP-CLI oder im Header X-Rudel-Environment beziehungsweise Cookie rudel_environment für HTTP. Die PHP API erstellt dieselbe Sandbox samt Lebenszyklus-Metadaten.
wp rudel create --name=alpha --theme=twentytwentyfour
RUDEL_ENVIRONMENT=alpha-1234 wp option get siteurl
curl -H 'X-Rudel-Environment: alpha-1234' http://localhost:8000/$sandbox = Rudel::create( 'alpha', [
'theme' => 'twentytwentyfour',
'owner' => 'dennis',
'labels' => [ 'qa', 'agent' ],
'ttl_days' => 7,
] );Sandboxen
Kurzlebige Overlay-Umgebungen für Entwicklung, Tests und KI-Agents.
Anfrageauswahl
Leite eine Anfrage mit einem X-Rudel-Environment-Header, einem rudel_environment-Cookie oder RUDEL_ENVIRONMENT in WP-CLI in eine Sandbox. Die Auswahl erfolgt allein anhand der Sandbox-ID, ohne Authentifizierung.
Overlay-Laufzeit
Bei der Aktivierung wird eine Bootstrap-Zeile zu wp-config.php hinzugefügt. Jede Sandbox erhält anschließend geklonte Tabellen unter ihrem eigenen Präfix und eine Kopie des aktiven Themes; WordPress-Core, Plugin-Dateien und Uploads werden gemeinsam genutzt.
Git-Worktrees
Integrierte PHP-native Git-Abläufe für Clone, Push und Arbeitsbäume; keine Host-git-Binärdatei erforderlich.
Snapshots
Benannte Wiederherstellungspunkte, die Tabellen und verwaltete Theme-Dateien einer Sandbox kopieren. Erstelle und stelle sie über WP-CLI oder PHP wieder her.
Anfrageisolation
Tabellenpräfixe, Theme-Stammverzeichnisse, temporäres Verzeichnis, Object-Cache-Schlüssel-Salt und E-Mail-Sperre pro Anfrage.
WP-CLI & PHP API
Die Befehle wp rudel und die statischen Methoden Rudel\Rudel erstellen, listen, aktualisieren, sichern, wiederherstellen und löschen Sandboxes.
Für Agents bereit
Stellt Coding-Agents eine kurzlebige WordPress-Kopie bereit. WP-CLI wird über RUDEL_ENVIRONMENT darauf beschränkt und ausgehende E-Mails werden blockiert.
Warum Rudel
Eine Installation, viele Sandboxes
Rudel läuft in einer normalen WordPress-Installation, ohne Multisite und ohne eine zweite WordPress-Installation. Die Host-Website stellt weiterhin allen Anfragen, die keine Sandbox angeben, ihre eigenen Daten bereit.
Klont die Tabellen und ein Theme
Eine Sandbox erhält eine Kopie der Host-Tabellen einschließlich der Nutzer unter einem eigenen Präfix sowie eine Kopie des aktiven Themes. Bei einem Child-Theme kommt dessen Parent-Theme hinzu. WordPress-Core, Plugin-Dateien und Uploads bleiben auf dem Host.
Sandboxes mit Ablaufdatum
Weise einer Sandbox einen Besitzer, Labels, einen Zweck und eine TTL in Tagen zu. Ein stündlicher WP-Cron-Job entfernt abgelaufene Sandboxes und überspringt als geschützt markierte.
Sicher in der Vorschau
Sandbox-Anfragen blockieren ausgehende E-Mails und protokollieren jede blockierte Nachricht. Wenn wp-config.php keinen eigenen Wert setzt, wird der Object-Cache-Schlüssel-Salt aus der Sandbox-ID abgeleitet. So bleiben die Schlüssel in persistenten Caches für Host und Sandbox getrennt.
Im Vergleich zu
Rudel funktioniert innerhalb der Website, die du bereits betreibst. Diese Tools decken verwandte Anforderungen ab.
| Werkzeug | Gut geeignet für | Unterschiede zu Rudel |
|---|---|---|
| WordPress Multisite | Gut geeignet fürBetreibt ein Netzwerk virtueller Websites mit gemeinsamen Core-Dateien, Plugins und Themes sowie separaten Datenbanktabellen und Upload-Verzeichnissen für jede Website. | Unterschiede zu RudelRudel benötigt kein Multisite. Eine Sandbox ist eine Kopie der Tabellen und des aktiven Themes einer bestehenden Website. Sie wird pro Anfrage über einen Header, ein Cookie oder eine WP-CLI-Umgebungsvariable ausgewählt. |
| wp-env | Gut geeignet fürRichtet mit Docker eine lokale WordPress-Website zum Entwickeln und Testen von Plugins und Themes ein – ohne zusätzliche Konfiguration. | Unterschiede zu RudelRudel benötigt keine zweite WordPress-Installation. Es erstellt Sandboxes aus den Inhalten deiner bestehenden Website. Ihre Tabellen liegen in derselben MySQL-Datenbank wie die des Hosts. Eine Sandbox erhält weder eine eigene PHP-Laufzeit noch einen eigenen Datenbankserver. |
| WordPress Playground | Gut geeignet fürFührt WordPress clientseitig in WebAssembly aus – ohne Backend, auf den Browser beschränkt und ohne dauerhafte Nebenwirkungen außerhalb davon. | Unterschiede zu RudelRudel läuft auf dem Server neben einer echten Website und ihrer MySQL-Datenbank. Eine Sandbox basiert auf den aktuellen Inhalten dieser Website und ist über WP-CLI sowie jeden HTTP-Client erreichbar. |
Fragen und Antworten
Kurze Antworten aus der Rudel-Dokumentation.
WordPress-Core, Plugin-Dateien und hochgeladene Medien. Jede Sandbox erhält unter einem generierten Präfix eine eigene Kopie der Datenbanktabellen einschließlich der Nutzer sowie eine eigene Kopie des aktiven Themes.
Sende bei einer HTTP-Anfrage den Header X-Rudel-Environment oder das Cookie rudel_environment, oder setze RUDEL_ENVIRONMENT für WP-CLI. Rudel akzeptiert die ID von jedem Client; die Auswahl ist daher keine Zugriffskontrolle.
Nein. Anfragen innerhalb einer Sandbox stoppen ausgehende E-Mails über den pre_wp_mail-Filter und protokollieren Empfänger und Betreff jeder blockierten Nachricht.
In zwei Tabellen mit dem Standardpräfix in der Host-Datenbank: wp_rudel_environments und wp_rudel_worktrees. Es gibt keine Laufzeitkonfiguration JSON und keinen SQLite-Speicher.
Bei der Aktivierung werden die Laufzeittabellen erstellt, eine Bootstrap-Zeile zu wp-config.php hinzugefügt und das Bereinigungsereignis geplant. Daher benötigt WordPress zu diesem Zeitpunkt Schreibzugriff auf wp-config.php. Bei der Deaktivierung wird die Zeile wieder entfernt.
Ja. wp rudel snapshot speichert die Sandbox-Tabellen und ihre Theme-Dateien unter einem Namen. Mit wp rudel restore und --snapshot stellst du sie wieder her.
Installiere das Plugin, erstelle eine Sandbox aus deiner Website und leite deine erste Anfrage mithilfe der Anleitung für die ersten Schritte dorthin.