Composer scripts
Configuration lives in
phpstan.neon.dist, phpcs.xml.dist, phpmd.xml and phpunit.xml.
Checking your own code
Writing tests
The PHPUnit configuration bootstraps the application’s autoloader and runs the suite intests/, with coverage measured over src/.
For a plugin, test what you can isolate:
Keep tests in your own package, with their own
composer.json scripts, so they run without an Aikeedo installation.
tests/Unit/ContactMapperTest.php
What automated tests won’t cover
Routes, settings pages, webhooks and payment flows need a running installation. Check them manually against a local install withDEBUG=true:
Install the extension into an installation that never had it.
Exercise every page and endpoint it adds.
Behave as a fresh installation would: no settings saved yet.
Deactivate and uninstall, and confirm nothing is left behind.
Read
var/log afterwards.Continuous integration
A minimal pipeline for a plugin repository:.github/workflows/ci.yml