# Build To run a complete development build: ```Shell (.venv) $ faff ``` ## Documentation To build the package documentation: ```Shell (.venv) $ faff doc ``` ## Tests To run the package test suite: ```Shell (.venv) $ faff tests ``` To run individual tests: ```Shell (.venv) $ python setup.py test -s tests.$NAME ``` To report coverage via [Code Climate](https://codeclimate.com/): ```Shell (.venv) $ export CODECLIMATE_REPO_TOKEN=$TOKEN (.venv) $ codeclimate-test-reporter ``` To enable automated coverage reporting via [Travis CI](https://travis-ci.org/), set the environment variable `CODECLIMATE_REPO_TOKEN` in settings. ## Change Log To set the Git message template: ```Shell $ git config --global commit.template .gitmessage ``` To generate a change log: ```Shell (.venv) $ faff changelog ``` ## Release To build a release: - Run a development build with release flag. - Clean up change log, commit and tag with version number. - Push to remotes with tags, create release on GitHub. - Upload package/documentation to PyPI. - Update version number in `setup.py`, `faff/__init__.py`. ```Shell (.venv) $ faff all --release $VERSION (.venv) $ # Clean up change log. (.venv) $ # Create commit. (.venv) $ git tag $VERSION (.venv) $ git push origin master --tags (.venv) $ twine upload dist/* ```