Getting Started¶
Setting up your development environment¶
First, make sure you have the necessary Requirements.
You should also install the virtualenv tool for python. (I use a wrapper for it called virtualenvwrapper which is awesome but not required.) Virtualenv will help isolate your dependencies from the rest of your system.
$ sudo yum install python-virtualenv git
$ mkdir -p ~/virtualenvs/
$ virtualenv ~/virtualenvs/bugwarrior
You should now have a virtualenv in a ~/virtualenvs/
directory.
To use it, you need to “activate” it like this:
$ source ~/virtualenvs/bugwarrior/bin/activate
(bugwarrior)$ which python
At any time, you can deactivate it by typing deactivate
at the command
prompt.
Next step – get the code!
(bugwarrior)$ git clone git@github.com:ralphbean/bugwarrior.git
(bugwarrior)$ cd bugwarrior
(bugwarrior)$ pip install -e .[all]
(bugwarrior)$ which bugwarrior
This will actually run it.. be careful and back up your task directory!
(bugwarrior)$ bugwarrior pull
To run the tests, use pytest
, and also check your code quality with flake8
:
(bugwarrior)$ pytest
(bugwarrior)$ flake8
Making a pull request¶
Create a new branch for each pull request based off the develop
branch:
(bugwarrior)$ git checkout -b my-shiny-new-feature develop
Make your changes, push your branch to your fork of the repository, and create a new PR using the normal GitHub flow.
We look forward to your contribution!
Works in progress¶
The best way to get help and feedback before you pour too much time and effort into your branch is to open a “work in progress” pull request. We will not leave it open indefinitely if it doesn’t seem to be progressing, but there’s nothing to lose in soliciting some pointers and concerns.
Please begin the title of your work in progress pr with “[WIP]” and explain what remains to be done or what you’re having trouble with.