Besides linters and entry points (T94275), we should put other best practices in BoilerPlate:
- additional continuous integration:
- documentation generation: doxygen, jsduck, KSS documentation
- PD extension help (example), using getOutput->addHelpLink() ?
- tests: browser tests, phpunit, qunit
- new MediaWiki features and practices
- extension.json
- PSR logging
- Config interface (getConfig()->get( 'CategoryPagingLimit') instead of $wgCategoryPagingLimit)
- assert handling
The last set raises the question of whether BoilerPlate master should use only cutting-edge features or demonstrate backwards compatibility with the latest release or LTS release.