[In this document shall describe how you would like others to contribute to your code and what code of conduct shall they follow to avoid conflicts and misunderstandings during the collaboration process.]
[Describe the steps that developer should follow to install the source code and set up a development environment for each of the intended platforms (e.g. Windows 10, macOS, etc.).]
Requirements
- [List the software and/or technologies on which the code depends, and add hyperlinks to the sources whenever possible.]
- [State any relevant hardware requirements.]
[List and describe each step required to set up a development environment and install the source code. Use a description/example format.] [For example:]
[1. Create and activate a virtual environment using virtualenv
]
[$ virtualenv ./myvenv]
[$ source ./myvenv/bin/activate]
[2. Install dependencies ]
[$ pip install -r requirements.txt]
A contribution can be one of the following cases:
[List all ways you want others to contribute with the code. Below is a list of typical cases as examples:]
- [you have a question;]
- [you think you may have found a bug (including unexpected behaviour);]
- [you want to make some changes to the code base (e.g. to fix a bug, to add a new feature, to update 4. documentation).]
[The sections below outline the steps in each case.]
[Edit the section accordingly, though the text below is generic and a common practice]
- use the search functionality
[here](<link-to-issues-page>)
to see if someone already filed the same issue; - if your issue search did not yield any relevant results, make a new issue;
- apply the "Question" label; apply other labels when relevant.
If you think you may have found a bug:
- use the search functionality
[here](<link-to-issues-page>)
to see if someone already filed the same issue; - if your issue search did not yield any relevant results, make a new issue, making sure to provide enough information to the rest of the community to understand the cause and context of the problem. Depending on the issue, you may want to include:
- the SHA hashcode of the commit that is causing your problem;
- some identifying information (name and version number) for dependencies you're using;
- information about the operating system;
- detailed steps to reproduce the bug.
- apply relevant labels to the newly created issue.
- (important) announce your plan to the rest of the community before you start working. This announcement should be in the form of a (new) issue;
- (important) wait until some consensus is reached about your idea is a good idea;
- if needed, fork the repository to your own Github profile and create your feature branch out of the latest master commit. While working on your feature branch, make sure to stay up to date with the master branch by pulling in changes;
- make sure the existing tests still work;
- add your tests (if applicable);
- update or expand the documentation;
- push your feature branch to (your fork of) this repository on GitHub;
- create the pull request, e.g. following the instructions here.
If you feel like you have a valuable contribution to make, but you don't know how to write or run tests for it or create the documentation: don't let this discourage you from making the pull request; we can help you! Just go ahead and submit the pull request, but keep in mind that you might be asked to append additional commits to your pull request.