Guidelines
The rules every package of ours is built by, and how you can contribute. Your pull request goes through the same checks as our own code.
Development
What every package gets
Supported versions. We follow the supported versions of PHP and Laravel. Each package’s documentation states exactly which ones it runs on.
Without Laravel too. Where the task allows, the core of a package works without Laravel, and the Laravel integration is built on that core.
Strict checks. PHPStan checks the code at its strictest level, and Laravel Pint keeps the code style consistent.
Full test matrix. PHPUnit tests, with Orchestra Testbench, run on every supported combination of PHP and Laravel.
Semantic versioning. The changelog follows Keep a Changelog, and a released version never changes afterwards.
Two languages, named sources. An English and a Hungarian README, with the source of every rule. If a package bundles external data, its licence is in a separate file.
Contributing
From bug report to release
-
Bug report
Open an issue on the package’s GitHub page. Include the package, PHP and Laravel versions, and the steps that trigger the bug.
-
Discussion
Before a larger change, describe your plan in the issue, so your work does not clash with something already under way.
-
Pull request
Add a test and a line to the changelog. We can merge it once the tests, PHPStan and Pint are all green.
-
Release
We publish the release. A bug fix goes out in a patch version, a new feature in a minor one.
vendor/bin/phpunitvendor/bin/phpstan analyse --memory-limit=1Gvendor/bin/pint --test
Found a security issue?
Report it by email rather than in a public issue, where anyone could read it before the fix. We will reply within a few working days.
- The name and version of the affected package
- The steps that reproduce the issue
- Your suggested fix, if you have one
A question about a package?
If it is not a bug but a question of how to fit the package into your own system, write to us.