Skip to content

How to contribute to Astrea

Users are welcome to contribute either through new feature development, general updates, or bug fixes. Larger refactors should first be discussed with project leads.

Generality

  • You can use the IDE of your choice
  • You must create a feature branch before merge
  • You have to be in the mindset of the software craftsmanship
  • Features must be developed with runtime speed in mind
  • You must apply OOP principles
  • You must apply DRY principles as much as possible
  • You must follow the formatting laid out in .clang-format and must otherwise maintain neat, legible code
  • Each development must be tested at least at the level of unit tests
  • All tests and examples must run after new developments
  • Code coverage should never go below 90%.

Documentation

  • All new classes, functions, and header files must be documented.
  • Documentation goes in header files and follows standard doxygen formatting