We'd love for you to contribute to our source code! Here are the guidelines we'd like you to follow:
- Code of Conduct
- Issues and Bugs
- Getting Started
- Coding Rules
- Making Trivial Changes
- Making Changes
- Submitting Changes
- Further Info
Help us stay open and inclusive by following our Code of Conduct.
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 😍.
Please see the Submission Guidelines below.
- 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.
- This is usually the master branch.
- Only target release branches if you are certain your fix must be on that branch.
- To quickly create a topic branch based on master;
git checkout -b fix/master/my_contribution master
. Please avoid working directly on themaster
branch.
- Create your patch, including appropriate test cases.
- Make commits of logical units.
- Run
make
to make sure the code passes all 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