# Contributing to the Harmony project ## Write small P-R Aim for the smallest piece of work that is mergeable. Mergeable means that : - it does not break the build - it moves the codebase one step forward P-Rs can be many things, they do not have to be complete features. ### What a P-R **should** be - Introduce a new trait : This will be the place to discuss the new trait addition, its design and implementation - A new implementation of a trait : a new concrete implementation of the LoadBalancer trait - A new CI check : something that improves quality, robustness, ci performance - Documentation improvements - Refactoring - Bugfix ### What a P-R **should not** be - Large. Anything over 200 lines (excluding generated lines) should have a very good reason to be this large. - A mix of refactoring, bug fixes and new features. - Introducing multiple new features or ideas at once. - Multiple new implementations of a trait/functionnality at once The general idea is to keep P-Rs small and single purpose. ## Commit message formatting We follow conventional commits guidelines. https://www.conventionalcommits.org/en/v1.0.0/