Thanks for wanting to help. This module is open source under OSL-3.0 and welcomes pull requests, bug reports, and documentation fixes.
- Search existing issues first, your problem may already be tracked.
- For storefront/admin bugs, please include the Magento version, PHP version, and reproduction steps. The Bug report template prompts for all of these.
- For security vulnerabilities, don't open a public issue. See
SECURITY.md.
- Open or comment on the issue that covers the change. Lets us agree on scope before code moves.
- Branch off
main. Naming likefeat/<topic>orfix/<topic>is fine, nothing strict. - Use Conventional Commits for commit messages:
feat:,fix:,refactor:,test:,chore:,docs:. One logical change per commit. - Every new PHP file starts with
declare(strict_types=1);. Match surrounding style, no tabs, no trailing whitespace. - Run the gates locally before pushing:
All four must pass. CI runs the same ones plus integration tests against a live Magento install.
composer install vendor/bin/phpunit --testsuite unit vendor/bin/phpstan analyse --memory-limit=1G vendor/bin/phpcs --standard=phpcs.xml.dist vendor/bin/php-cs-fixer fix --dry-run --diff --allow-risky=yes
- If the change is user-facing (storefront behavior, admin UI, GraphQL surface), add a
CHANGELOG.mdentry under## [Unreleased]. - Keep PRs small. Two 200-line PRs review faster than one 400-line PR.
- Initial response on a PR within about a week on a good week, longer on a busy one. Ping the PR if silence stretches past two weeks.
- Reviews focus on correctness, test coverage, and matching existing patterns. Style nits are rare, the tooling handles most of them.
- Merges use
--no-ffso feature history is preserved.
Semver. Patch releases land when there's a user-facing fix to ship. Minor/major coincide with new features or breaking changes and get a CHANGELOG section.
Design inspiration from Magefan Blog (OSL-3.0). v1 is an independent implementation with no shared code.
Participation is governed by the Contributor Covenant 2.1. See CODE_OF_CONDUCT.md.