## How to contribute

### **Questions? Have some enhancement ideas?**

* The [discussion forum](https://github.com/frePPLe/frepple/discussions) is to best place to post any question and ideas.

### **Found something unclear or incorrect in the documentation?**

* A pull request to improve the documentation (even just fixing a typo) is one of the easiest ways to contribute to frePPLe.

  All [online documentation pages](https://frepple.com/docs/current/) have an "edit on github" link that links to the
  page in [this repository](https://github.com/frePPLe/frepple/tree/master/doc). It can't be simpler than this...

### **Found something funny or incorrect in the translations?**

* To get the user interface correctly translated to your language, we rely on
  contributions from our community. There are AI-generated translations available,
  but these will often miss the subtle nuances of your language.

  [Updating a translation](https://frepple.com/docs/current/developer-guide/translating-the-user-interface.php)
  is and easy and clear process. It's a single file to edit and submit as a pull request.
  It's also an easy way to contribute to frePPLe.

### **Did you find a bug?**

* **Do not open up a GitHub issue if the bug is a security vulnerability**, and instead to refer to
  our [security policy](https://github.com/frePPLe/frepple/security/policy).

* **Ensure the bug was not already reported by searching the [Issues](https://github.com/frePPLe/frepple/issues).

* If you're unable to find an open issue addressing the problem, [open a new one](https://github.com/frePPLe/frepple/issues/new).
  Be sure to include a **title and clear description** and as much information as possible (such as version, operating system,
  screenshots, steps to reproduce, small datasets...) demonstrating the expected behavior that is not occurring.

  Keep any sample datasets as small and simple as possible. Digging through large and complex datasets is very
  time consuming for the people that are trying to help you.

### **Did you write code that fixes a bug or implements an enhancement?**

* Open a new GitHub pull request with the patch.

* Assure your pull request follows our coding styles.

  Python code is formatted using [black](https://black.readthedocs.io/en/stable/).

  C++ code is formatted using the [Google code style](https://google.github.io/styleguide/cppguide.html)

  When you use the cool [Visual Studio Code](https://code.visualstudio.com/) as development environment
  this formatting should happen automatically.

Thanks! :heart: :heart: :heart:
