For sandman
to be a truly great project, third-party code contributions are
critical. I (@jeffknupp) can only do so much, and I don't have the benefit of
working on sandman
in a team, where multiple ideas and points-of-view would be
heard. So if you want to enhance sandman
, spot and fix a bug, or just
generally want to get involved, I'd love the help! Below is a list of things
that might aid you in contributing to sandman
.
- Create a new, Python 2.7+ virtualenv and install the requirements via pip:
pip install -r requirements.txt
- Make sure you have a GitHub account
- Either sumbit an issue directly on GitHub or head to
sandman's
Waffle.io page- For bugs, clearly describe the issue including steps to reproduce
- For enhancement proposals, be sure to indicate if you're willing to work on implementing the enhancement
- Fork the repository on GitHub
sandman
uses git-flow as the git branching model- No commits should be made directly to
master
- Install git-flow and create a
feature
branch like so:$ git flow feature start <name of your feature>
- No commits should be made directly to
- Make commits of logical units.
- Check for unnecessary whitespace with
git diff --check
before committing. - Make sure you have added the necessary tests for your changes.
- Test coverage is currently at 100% and tracked via coveralls.io
- Aim for 100% coverage on your code
- If this is not possible, explain why in your commit message
- This may be an indication that your code should be refactored
- If you're creating a totaly new feature, create a new class in
test_sandmand.py
that inherits fromTestSandmanBase
- Run
python setup.py test
to make sure your tests pass - Run
coverage run --source=sandman setup.py test
if you have thecoverage
package installed to generate coverage data - Check your coverage by running
coverage report
- Push your changes to the feature branch in your fork of the repository.
- Submit a pull request to the main repository