👍🎉 First off, thanks for taking the time to contribute! 🎉👍
The following is a set of guidelines for contributing to Footprints. These are mostly guidelines, not rules. Use your best judgement, and feel free to propose changes to this document in a pull request.
- Code of Conduct
- Question or Problem?
- Issues and Bugs
- Getting Started
- Coding Rules
- Making Changes
- Submitting Changes
- Further Info
This project and everyone participating in it is governed by the Footprints Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior via our Contact Page.
If you have questions about how to use Footprints, please contact us via our Contact Page.
If you find a bug in the source code or a mistake in the documentation, you can help us by submitting an issue to our GitHub issue tracker. Even better you can submit a Pull Request with a fix 😍.
If you're not sure how to write a bug report, here's a quick guide: Write an Effective Simple Bug Report (4 minutes!).
Note: Please don't file an issue to ask a question, please contact us via our Contact Page instead.
- Make sure you have a GitHub account
- Submit a ticket for your issue, assuming one does not already exist.
- Clearly describe the issue including steps to reproduce when it is a bug.
- Make sure you fill in the earliest version that you know has the issue.
- Fork the repository into your account on GitHub
To ensure consistency throughout the source code, please keep these rules in mind as you are working:
- All features or bug fixes must be tested by one or more unit tests.
- We follow the conventions contained in:
- Python's PEP8 Style Guide (enforced by flake8)
- Javscript's ESLint errors and warnings.
- The master branch is continuously integrated by Travis-CI, and all tests must pass before merging.
- Create a topic branch from where you want to base your work.
- To quickly create a topic branch based on master;
git checkout -b fix/master/my_contribution master
. Please do not work directly on themaster
branch.
- To quickly create a topic branch based on master;
- Create your patch, including appropriate test cases.
- Make commits of logical units.
- Run
make
to make sure the code passes all validation, flake8, jshint and unit tests - Make sure your commit messages are in the proper format.
- Push your changes to a topic branch in your fork of the repository.
- Submit a pull request to the repository in the ccnmtl organization.
- The core team reviews Pull Requests on a regular basis, and will provide feedback
For more information, see: