When creating Plugins for Mautic, there's a few best practices which are highly recommend:
- The Marketplace links to the GitHub repository. Make sure you have all the information your users need in the README.md file.
- The GitHub repository should have issues enabled, so that your users are able to report issues and search for solutions. There is direct link to GitHub issues in the Marketplace.
- Use GitHub releases. Tag every new version.
- Write down changelog to all the GitHub releases. Again, the Marketplace links to all of them. Keep your users informed about what has changed in each version.
- Write automatic unit and functional tests and run them automatically with a CI like
GitHub Actions
. The effort you make to improve stability helps to catch bugs before they land with the users. - Take an advantage of releasing alpha and beta versions when working on big changes. Example beta version:
1.2.0-beta
. - Use
Semantic versioning
starting with 1.0. Don't tie your Plugin version with Mautic's version. The require section incomposer.json
specifies which Mautic versions your Plugin supports.