Based on thephpleague Definition
-
Use a vendor namespace (
Alphao
in my case) for PSR-4 autoloading. Place code in asrc
folder. -
Adhere to PSR-2 as the coding style guide.
-
Distribute code using Packagist.
-
Write unit tests. Aim for at least 80% coverage in version 1. Using Pest is huge bonus
-
DocBlock all the things that require additional context.
-
Use Semantic Versioning to manage version numbers.
-
Keep a Changelog.
-
Use Github Actions to automatically check coding standards and run tests.
-
Have an extensive README or dedicated docs.