This documents explains the processes and practices recommended for contributing enhancements to this project.
- Generally, before developing enhancements to this project, you should consider opening an issue explaining your use case.
- If you would like to chat with us about your use-cases or proposed implementation, you can reach us at Canonical Mattermost public channel or Discourse.
- Familiarising yourself with the Charmed Operator Framework library will help you a lot when working on new features or bug fixes.
- All enhancements require review before being merged. Code review typically examines:
- code quality
- test coverage
- user experience
- When evaluating design decisions, we optimize for the following personas, in descending order of priority:
- charm authors and maintainers
- the contributors to this codebase
- juju developers
- Please help us out in ensuring easy to review branches by rebasing your pull request branch onto the
main
branch. This also avoids merge commits and creates a linear Git commit history.
To set up the dependencies you can run:
pip install -r requirements.txt