Contributing
Zero is open source (OSL-3.0 or AFL-3.0, the same as Magento Open Source). Bug reports, fixes, compat modules for popular extensions and documentation are all welcome.
Where
Every package has its own repository at github.com/zerofrontdev: the
theme in theme-frontend-zero, each module in module-zero-<name>, the
metapackage in zero. Open issues and pull requests on the repository of
the package concerned. The packages are released together from one
development repository, so a merged change ships in the next release of
every package it touches.
A good issue
- Magento and PHP versions, and Zero's:
composer show 'zerofront/*'. - What you did, what you expected, what happened; the URL path and a screenshot for anything visual.
- The output of
bin/magento zero:compat:reportwhen another extension is involved.
Security problems: don't open a public issue. Report them privately to the maintainer (Roman Pasichnyk, on GitHub or LinkedIn) and allow time for a release with the fix.
A good pull request
- One change per pull request, with the reason in its description.
- Follows how the code around it is written; Magento's coding standard
(
vendor/bin/phpcs --standard=Magento2) with no errors. - Storefront changes keep the rules in getting-started.md: server-rendered markup, HTMX before JavaScript, no inline scripts, visitor-specific content as fragments, WCAG 2.2 AA.
- Unit tests for logic (
Test/Unitin the module), run with Magento'sdev/tests/unit/phpunit.xml.dist. - No measurable loss in the numbers performance.md tracks.
Compat modules
A compat module makes someone else's extension work on Zero without
touching it (extensions.md §2). If you made one for a
widely used extension, publish it as its own Composer package and open an
issue on zero with the link: popular ones get listed in the docs.
Documentation
These pages live in the theme's docs/ folder and on zerofront.dev/docs.
Corrections are pull requests on theme-frontend-zero.