# Contribution Guidelines

Before implementing a new feature or fixing a bug, please read the following guidelines.

## Basic Guidelines

Before you start, learn how to Set Up the Environment. Pull requests must target the `dev` branch. Please create a separate pull request for every feature or bug fix.

## Bug Fixing Guidelines

It's recommended to create an issue before fixing a bug, so it can be discussed what is the best way to fix it.

## Feature Development Guidelines

It's recommended to create an issue before implementing a new feature. It's always better to discuss the solution before you start to implement it.

There are several aspects that should be taken into consideration when implementing something new.

- How will the new feature fit in the existing user interface and user experience?
- Will it work with any kind of model (regardless of color, size, etc.)?
- Does it need to be configurable? Where to store the configuration? How will it appear on the UI?
- How to test the new feature?