Contributing to Magewire Admin
April 27, 2026 · View on GitHub
Thanks for your interest in contributing. This is a small companion module for Magewire — most component and runtime questions belong upstream.
Code of Conduct
By participating you agree to the Code of Conduct.
Ways to Contribute
- Report bugs and request features via GitHub Discussions.
- Report security vulnerabilities privately — see SECURITY.md.
- Submit code changes via pull request.
Requirements
- PHP 8.2+
- Composer 2
- A working Magento 2 installation with admin access for testing
Getting Started
git clone https://github.com/magewirephp/magewire-admin.git
cd magewire-admin
composer install
Install into a real Magento 2 project via Composer path repository:
{
"repositories": [
{ "type": "path", "url": "/path/to/magewire-admin" }
],
"require": { "magewirephp/magewire-admin": "*" }
}
Scope
This module covers adminhtml-only concerns:
- The
MagewireUpdateRouteAdminhtmlcontroller and its auth. LayoutAdminResolver(component discovery from admin layout XML).- Admin asset wiring (templates under
src/view/adminhtml/). - Admin-specific plugins on Magento framework classes.
Anything touching component lifecycle, snapshots, directives, or storefront behavior belongs in the main magewirephp/magewire repo.
Commit Messages
Use Conventional Commits. Format: <type>(<scope>): <subject>.
Common types: feat, fix, chore, docs, refactor.
Examples:
feat(router): validate admin session before dispatch
fix(resolver): handle nested admin blocks
Breaking changes — append ! and add a BREAKING CHANGE: footer. Release-please reads these to bump versions and generate CHANGELOG.md.
Pull Requests
- Fork and branch from
main. Name the branch after the change. - Keep PRs focused — one concern per PR.
- Include a description explaining why, not just what.
- Verify the change in a real Magento admin panel before opening the PR.
Testing
No automated test harness lives in this repo yet. Manually verify in an admin panel:
- Log in.
- Navigate to a page containing a Magewire admin component.
- Trigger an action that causes a component update (should POST to the admin update route, not the frontend one).
- Confirm the component re-renders and the snapshot round-trips.
Releases
Automated via release-please. On merge to main with Conventional Commits, release-please opens a release PR that bumps the version and updates CHANGELOG.md. Merging that PR tags and publishes to Packagist.
License
By contributing, you agree your contributions will be licensed under the MIT License.