When contributing to this repository, please discuss the change you wish to make via issue, email, or any other method with the owners of this repository before making a change.
Make sure to follow the code of conduct. Any contributuions you make will be assumed to be under the same MIT License that covers this project.
- Reporting a bug
- Submitting a fix
- Proposing new features
We use GitHub issues to track bugs. Report a bug by opening a new issue. Great Bug Reports tend to have:
- A short summary
- Steps to reproduce
- Be specific
- Give sample code if you can
- What you expected would happen
- What actually happens
- Notes (possibly including why you think this might be happening, or stuff you tried that didn't work)
All code changes happen through pull requests. To submit a fix:
- Fork the repo and create your branch from
master. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue the pull request.
All proposals will be tracked using GitHub issues. Open a new issue to submit a proposal. Before submitting a proposal:
- Check if there's already a package which provides that feature.
- Determine which repository the feature should be suggested in.
- Perform a cursory search to see if the feature has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
Good practices for proposing new features:
- Use a clear and descriptive title for the issue to identify the suggestion.
- Provide a step-by-step description of the suggested feature in as many details as possible.
- Provide specific examples to demonstrate the steps. Include copy/pasteable snippets which you use in those examples, as Markdown code blocks.
- Describe the current behavior and explain the behavior you expected to see instead and why.
- Explain why this new feature would prove to be useful.
- Mention some other projects where this feature already exists if possible.