Thanks for helping improve Maestro. This project is a WordPress plugin with a plain PHP/JS/CSS runtime and dev tooling for PHPUnit, Playwright, wp-env, WordPress Coding Standards, and WordPress.org packaging.
composer install
npm ci
npm run env:startThe plugin is mounted into the wp-env site as maestro-menu-editor.
Run the smallest useful checks first, then the full suite before opening a PR:
composer test:unit
composer lint
composer analyse:phpstan
npm run test:js
npm run check:doc-links
npm run audit:npm
bash bin/build.sh
npm run test:php
npm run test:e2enpm run test:php and npm run test:e2e require Docker through @wordpress/env.
- Target WordPress 6.4+ and PHP 7.4+ unless the plugin headers/readme change deliberately.
- Keep runtime files limited to
maestro-menu-editor.php,includes/,assets/,languages/,uninstall.php, andreadme.txt. - Use capability checks with nonces for state-changing behavior.
- Sanitize on input and escape on output.
- Treat menu visibility as cosmetic only; do not describe it as access control.
- Keep user-facing strings translatable with the
maestro-menu-editortext domain.
- Use a focused branch and a concise title.
- Explain the user-facing change and the verification you ran.
- Include screenshots or video for UI changes when practical.
- Update
README.md,readme.txt,SPEC.md, orTESTING.mdwhen behavior, requirements, or QA expectations change.
Do not report vulnerabilities in public issues or pull requests. See SECURITY.md.