Skip to content

Contributing

Create a fork from our elasticms mono repository.

Pull requests

Submitted pull requests will be validated by elasticms developers and merged when approved.

Add a good description, detailed commit messages and multiple small pull requests is preferred.

Code Quality

Quality off the pull requests is insured by:

Our composer has aliases defined for checking before submitting pull request.

bash
composer phpcs
composer phpstan
composer phpunit

Target branch

Bugfixes should always target the lowest branch possible.

New features should target the default branch.

Title

The pull request title should follow the git conventional commits standard. This is forced with a GitHub action.

On merge all commits are squashed and the PR title is used as commit message. Sub commits inside the pull request are not required to follow the conventional commits standard.

Examples

  • fix(user): update profile 500 error
  • fix(user): change password not updating
  • feat(wysiwyg): media library support
typesection (changelog)description
featFeaturesA new feature
fixBug FixesA bug fix
docsDocumentationDocumentation only changes
styleStylesChanges that do not affect the meaning of the code (white-space formatting missing semi-colons etc)
refactorCode RefactoringA code change that neither fixes a bug nor adds a feature
perfPerformance ImprovementsA code change that improves performance
testTestsAdding missing tests or correcting existing tests
buildBuildsChanges that affect the build system or external dependencies (example scopes gulp broccoli npm)
ciContinuous IntegrationsChanges to our CI configuration files and scripts (example scopes Travis Circle BrowserStack SauceLabs)
choreChoresOther changes that don't modify src or test files
revertRevertsReverts a previous commit

Rector

Rector is also available for ensuring that PHP and Symfony best practices are followed.

bash
composer rector

Monorepo builder

For building our mono repository we used the symplify/monorepo-builder.

bash
vendor/bin/monorepo-builder validate