Skip to content

Latest commit

 

History

History
32 lines (21 loc) · 2.04 KB

CONTRIBUTING.md

File metadata and controls

32 lines (21 loc) · 2.04 KB

How to contribute

We love receiving pull requests. We use them ourselves for reviewing new features and fixing issues in modm. If you want to contribute, but don't exactly know what or how, have a look at the issues we tagged with "help wanted".

To start contributing, please fork modm and then start a new branch on top of the develop branch. We recommend prefixing your branch with

  • feature/ for new functionality, or
  • fix/ for a bug fix.

Please remember to have a look at our coding conventions.

Once you open the pull request, we will review it and might ask you for changes. Remember that you can continue to push to your feature/* or fix/* branches to update the corresponding pull requests!

Including unit tests is very welcomed and highly recommended. modm has its own simple and easy to use unit test framework. Unit tests are placed in the test subdirectory (e.g. test/modm/math/filter) and are run with make test-{hosted|stm32|avr}. See here for more information about testing strategies in modm.

The CI first compiles all examples and unittests and then executes the unittests for Linux. If all of that passes, it will compile all :platform:** modules for all supported devices. Please note that your pull request will have to pass ALL CI tests in order to be merged.

When in doubt, ask

The dedicated maintainer of modm is @salkinium and you can always ping him.

If you want to add a new platform, or other significant functionality, we ask you to discuss that in an issue first. We are very open to new helping hands, but all of this is still fairly complicated and we want to provide you with tips and additional explanations along the way.

Communication is cheap, implementation is expensive and we don't want to frustrate you.