This document provides guidelines for people who want to contribute to the project.
- Code repository: https://github.com/diecutter/diecutter
- Bugtracker: https://github.com/diecutter/diecutter/issues
- Continuous integration: https://travis-ci.org/diecutter/diecutter
Please use the bugtracker [1] before starting some work:
- check if the bug or feature request has already been filed. It may have been answered too!
- else create a new ticket.
- if you plan to contribute, tell us, so that we are given an opportunity to give feedback as soon as possible.
- Then, in your commit messages, reference the ticket with some
refs #TICKET-IDsyntax.
- Work in branches.
- Prefix your branch with the ticket ID corresponding to the issue. As an
example, if you are working on ticket #23 which is about contribute
documentation, name your branch like
23-contribute-doc. - If you work in a development branch and want to refresh it with changes from master, please rebase [2] or merge-based rebase [3], i.e. do not merge master.
Clone diecutter repository (adapt to use your own fork):
git clone git@github.com:diecutter/diecutter.git
cd diecutter/System requirements:
- Python [4] version 2.7 (in a virtualenv [5] if you like).
- make and wget to use the provided Makefile.
Execute:
git clone git@github.com:diecutter/diecutter.git
cd diecutter/The Makefile is the reference card for usual actions in development environment:
- Install development toolkit with pip [6]:
make develop. - Run tests with tox [7]:
make test. - Build documentation:
make documentation. It builds Sphinx [8] documentation in var/docs/html/index.html. - Release diecutter project with zest.releaser [9]:
make release. - Cleanup local repository:
make clean,make distcleanandmake maintainer-clean.
Notes & references
| [1] | https://github.com/diecutter/diecutter/issues |
| [2] | http://git-scm.com/book/en/Git-Branching-Rebasing |
| [3] | http://tech.novapost.fr/psycho-rebasing-en.html |
| [4] | http://python.org |
| [5] | http://virtualenv.org |
| [6] | https://pypi.python.org/pypi/pip/ |
| [7] | https://pypi.python.org/pypi/tox/ |
| [8] | https://pypi.python.org/pypi/Sphinx/ |
| [9] | https://pypi.python.org/pypi/zest.releaser/ |