Contributing
Firstly, thanks for taking the time to contribute!
What should I know before getting started?
- git
- python (reading and understanding code)
How Can I Contribute?
Feature suggestions / bug reports
You can contribute to this project by suggesting features or filing bugs by creating an issue here.
Writing code
If you are interested in contributing by writing code, you can do so by implementing the features listed in the TODO file.
Structure
├── modules/ # home for various features
├── resources/ # home for resources required in modules
├── config.py # contains configuration
├── util.py # contains utility functions
├── setup.py # the setup script
└── yoda.py # the main script
Setup
# Fork, then clone the repo
$ git clone git@github.com:<your-username>/yoda.git
# create a virtualenv using python 2
$ virtualenv -p /usr/bin/python2 venv
# activate the virtualenv
$ . venv/bin/activate
# Install the package in editable mode
$ pip install --editable .
# run it!
$ yoda
# to exit the virtualenv, just type 'deactivate' without quotes
First contribution
In case you are unsure about where to start, you can look at the easy
and medium
issues.
- easy issues - do not require much work
- medium issues - should be a bit more involved than
easy
issues.
Sending a pull request
Push to your fork and submit a pull request. Follow the pull request template
Github labels
Issue labels
- Labels starting with
module:
: these specify the modules in which the changes / enhancements are to be made. bug
: it's a bugenhancement
: hacking on the existing code- Labels starting with
difficulty:
: specify the difficulty levels of the issue, depending on the work to be done to complete it. new feature
: new feature introduced