We require that all developers sign a Contributor License Agreement Request Form. This agreement clarifies that you are granting a license to the Mycroft Project to freely use your work. Additionally, it establishes that you retain the ownership of your contributed code and intellectual property. As the owner, you are free to use your code in other work, obtain patents, or do anything else you choose with it.
Check our Issues first to see if the Issue has already been reported.
If not, you'll need to create a new Issue. Help us to help fix the Issue quicker by following these guidelines. Your Issue should contain:
A description of the Issue in object-deviation format
Object-deviation format is a very specific way of describing faults. The more specific you can be, the easier it is for us to fix the fault. Begin with the object, such as function, a skill, or a hardware feature, then explain the deviation from the expected condition.
"When my Mycroft Mark 1 device (object) powers on, the color of his eyes is red instead of blue (deviation - red - from expected condition - blue)
"When I ask Mycroft about the weather (object), Mycroft reports the low temperature correctly, but the high temperature is incorrectly reported as the low temperature (deviation - incorrect temperature - from expected condition - correct temperature
The Enclosure or Device you are using, and the version of Mycroft you are using
Be sure to let us know the Enclosure or Device you're using, such as:
Mycroft for Linux (please let us know your distro and install method)
Picroft (let us know which Speakers and Headphones you're using too)
This helps us to pinpoint the issue quickly.
Below, you'll find instructions to identify the version of Mycroft you're using.
Mark 1 and Picroft
To find what version of Mycroft your Mark 1 or Picroft is running, you'll need to SSH into the Device. Run the command apt list
then look through it to find the Mycroft packages that are installed.
Create a feature or bugfix branch based on dev with your issue identifier. For example, if your issue identifier is: issue-123 then you will create either: feature/issue-123 or bugfix/issue-123. Use feature prefix for issues related to new functionalities or enhancements and bugfix in case of bugs found on the dev branch
Make sure you stick to the coding style and OO patterns that are used already.
Before committing, format your code following the PEP8 rules and organize your imports removing unused libs. To check whether you are following these rules, install pep8 and run pep8 mycroft test while in the mycroft-core folder. This will check for formatting issues in the mycroft and test folders.
Once you have committed everything and are done with your branch, you have to rebase your code with dev. Do the following steps: 1. Make sure you do not have any changes left on your branch 2. Checkout on dev branch and make sure it is up-to-date 3. Checkout your branch and rebase it with dev 4. Resolve any conflicts you have 5. You will have to force your push since the historical base has changed 6. Suggested steps are: