We welcome contributions! Please read this file to get a feel for what the expectations are.
Civil servants on this product all follow the Civil Service Code. External contributors should review the Code of Conduct.
For PHP code we use Psalm, PHPCS and code to PSR-12.
For JavaScript we use ESlint.
For Terraform code, TFLint, TFSec and Terraform validate is used.
Code standards are enforced by the pre-commit hooks and the build pipeline. We recommend you install pre-commit for local development.
We have a pull request template, which will help you explain your work. It covers the purpose, approach and a checklist of key things to be sure of.
A green build on circle CI is required before a merge, along with approval from a member of the team.
We use a rebase workflow. Our primary branch is main. Please rebase branches on main if you need to pull in changes and use squash an merge for the final commit so we can back out changes easily.
Explain what your work changes in the commit message and why it does so.