User:Osnard/Composer best practice DRAFT

Choose a maintenance model

 * Release branch: You should provide patches to certain release branches (e.g. LTS and last stable) and make sure the extension works properly with the corresponding version of MediaWiki Core
 * Semantic versioning: Add tags according to SemVer. Make sure that compatibility to MediaWiki Core is only changed in major releases

Be packagist.org compatible
In your  make sure you feature all fields that are required by a package repository like packagist.org.

Example:

Set proper keywords

 * "mediawiki"

Use release branches
Most MediaWiki extension do not have semantic versioning. The WMF as well as some extension authors support certain release branches. Using a release branch as version constraint will therefore ensure compatibilty to your Mediawiki Core version.

Example: Be aware that usually only the current LTS branch(es) as well as the branch of the latest release receive patches.

Use third-party package repositories
Not all MediaWiki extensions are listed on packagist.org. But you can add additional repositories to your