# Contributing to Flowblade

# Non-programmer contributions

There are many impactful ways to contribute to the project. Use forum, wiki or Issue system to propose additional ideas you may have.

### Bug reports

Providing reports on bugs you experience when using Flowblade will greatly benefit the project and other users. 

### Documentation

Flowblade documantation is quite sparse and there are many ways it could be fleshed out more. If you want to contribute to documentation, open a new Issue on issues tab to describe what you think should done to improve documentation.

### Translations

Info on contributing to translations [here.](CREATING_TRANSLATION.md)

### Videos, tutorials, blog posts

If you have done something that you think could be interesting to other users or creators of Flowblade you can create a post on forum about it.

# Code contributions

**Reqiured skills** Flowblade is Python application so to get going you will need to have some experience in working in that language.

* There are many tasks that could maybe taken on at let's say beginner+ level of competence.
* Solid medium level will very likely be adequate to handle most tasks.
* You need be able to work with **git** and create pull requests using Github's available features.

**How to get started** Flowblade is a large and complex enough codebase that the first problem with contributing is to know how the codebase works. However, it is not necessery to fully understand the codebase to do useful work.

* We have a document to help with getting to know the inner workings [here.](codeoverview/CodebaseOverview.md)

### Work with Issues list to get going

Most contributions related communications in Flowblade project are made in comments in different items on *Issues* list

* **Your own ideas** 
  * Best way to get started is to open a new Issue, describe the feature you want to create and mention that you are planning to do the coding yourself. 
  * We can give feedback and pointers on how ahcieve the change.
* **'In Feature Queue' Issues**
  * There could be at any time be work going on with these
  * if you are interested in working on an Issue with this label drop a comment indicationg so and we will give information on what is going on.
* **'Contributions hoped' Issues**
  * Issues marked with this label are currently not planned to be worked on by project maintainer 
  * They could marked with this label for the very reason that someone else is planning to work these features. 
  * Read the comments to see if anyone is planning on working on these. if not, and you would like to, drop a comment telling that something could be coming from your direction.
* **'Bug' issues**
  * There could be at any time be work going on with these
  * If you would be interested in working on an Issue with this label drop a comment indicating so.


