testing-wp-runtime

Richtlinien für die Ausführung von wp-now zur Laufzeitvalidierung von WordPress-Plugins und -Themes

npx skills add https://github.com/automattic/data-liberation-agent --skill testing-wp-runtime

When to use me

Use this skill when you need to verify that a WordPress plugin or theme loads correctly at runtime. Do not use this skill for static linting — use testing-php or testing-js for that.

Step 1: Determine the project mode

wp-now requires a --mode flag based on the project type:

  • Plugin project (main PHP file has a Plugin Name: header): use --mode=plugin
  • Theme project (contains style.css with Theme Name: header): use --mode=theme

Check the project root to determine which mode to use:

head -20 *.php style.css 2>/dev/null

Step 2: Start wp-now

Start wp-now in the background on an available port:

wp-now start --mode=<plugin|theme> --port=8881 &

Wait a few seconds for the server to initialize, then verify it is running:

curl -s -o /dev/null -w "%{http_code}" http://localhost:8881/
  • HTTP 200 or 302 = server is running and WordPress loaded successfully.
  • HTTP 500 = a fatal PHP error occurred — check debug log.
  • Connection refused = server failed to start.

Step 3: Check for PHP errors

After the server starts, check the WordPress debug log for errors:

find /tmp -name "debug.log" -path "*/wp-content/*" 2>/dev/null | head -1 | xargs tail -50 2>/dev/null

Look for:

  • Fatal errors: Plugin or theme could not load — must be fixed.
  • Warnings/Notices: Non-fatal but should be reported.
  • Deprecation notices: Report but do not fix.

Step 4: Validate HTTP responses

Test key endpoints to verify the project works:

# Homepage
curl -s -o /dev/null -w "%{http_code}" http://localhost:8881/

# wp-admin (should redirect to login)
curl -s -o /dev/null -w "%{http_code}" http://localhost:8881/wp-admin/

For plugins, also check if the plugin is active:

curl -s http://localhost:8881/ | grep -c "<plugin-specific-identifier>"

Step 5: Clean up

Always stop wp-now when done testing:

kill $(lsof -t -i:8881) 2>/dev/null

Rules

  • Always clean up: Never leave wp-now running after testing is complete.
  • Port 8881: Always use port 8881 to avoid conflicts.
  • Timeout: If wp-now does not respond within 15 seconds of starting, consider it failed and kill the process.
  • Never modify business logic: Only report issues found during runtime validation. Do not change how the code works.
  • Report format: After testing, report results as:
    • PASS: Server started, HTTP 200, no fatal errors in debug log
    • FAIL: List specific errors (HTTP status, debug log entries, failed endpoints)

Mehr Skills von automattic

wp-phpstan
automattic
Verwenden beim Konfigurieren, Ausführen oder Beheben von PHPStan-Statikanalysen in WordPress-Projekten (Plugins/Themes/Websites): phpstan.neon-Setup, Baselines,…
official
wp-playground
automattic
Für WordPress Playground-Workflows: schnelle, wegwerfbare WP-Instanzen im Browser oder lokal über @wp-playground/cli (server, run-blueprint, build-snapshot),…
official
wp-plugin-development
automattic
Verwenden bei der Entwicklung von WordPress-Plugins: Architektur und Hooks, Aktivierung/Deaktivierung/Deinstallation, Admin-UI und Settings API, Datenspeicherung, Cron/Aufgaben, Sicherheit…
official
wp-project-triage
automattic
Verwenden Sie, wenn Sie eine deterministische Inspektion eines WordPress-Repositorys (Plugin/Theme/Block-Theme/WP-Core/Gutenberg/Full-Site) benötigen, einschließlich Tooling/Tests/Version…
official
wp-rest-api
automattic
Verwenden beim Erstellen, Erweitern oder Debuggen von WordPress-REST-API-Endpunkten/-Routen: register_rest_route, WP_REST_Controller/Controller-Klassen, Schema/Argumente…
official
wp-wpcli-and-ops
automattic
Verwenden bei der Arbeit mit WP-CLI (wp) für WordPress-Operationen: sicheres Suchen/Ersetzen, DB-Export/Import, Plugin/Theme/Benutzer/Inhaltsverwaltung, Cron, Cache leeren,…
official
wpds
automattic
Verwenden beim Erstellen von Benutzeroberflächen, die das WordPress Design System (WPDS) und dessen Komponenten, Tokens, Patterns usw. nutzen.
official
woocommerce-finalize
automattic
Vorab-Code-Gesundheits- und Rückverfolgbarkeitsaudit für WooCommerce-Plugins. Wird nach der Code-Überprüfung ausgeführt – konzentriert sich auf toten Code, Duplikate, strukturelle Komplexität und…
official