# Conventions for writing code in this repository - Indentation: Use 4 spaces for indentation. Do not use tabs. - Minimise comments, code should be self-explanatory. - Do not try to reinvent the wheel. Use available APIs and tools where possible. - Follow best practices and common formatting for the programming language you are using. - Generate tests for new features and bug fixes. ## PHP - The back end is analysed by PHPStan at the highest level. Ensure everything is typehinted and generics are properly used. - When fixing PHPStan errors do not ignore them. Fix using typehints, the webmozart assertion library, or docblocks, or by addressing legitimate bugs that could be caused as a result of the warning. - Sometimes a PHPStan error should be fixed by editing another file, e.g. one file expects a property to be of a certain type but that property type is not specified in the class. Rather than coercing the type in the file with the error, request access to the other file and modify the definition there.