.. _contributing: ============ Contributing ============ Table of contents 1. `What to contribute`_ 2. Feedback_ 3. Code_ What to contribute ------------------ We welcome contributions to the project from anyone who wants to: - give feedback - add features - fix bugs - improve documentation - add examples Feedback -------- Use the form below to provide feedback: .. raw:: html Code ---- .. image:: https://img.shields.io/bitbucket/pipelines/agiletekengineering/pyqalx :alt: Bitbucket Pipelines .. image:: https://api.codacy.com/project/badge/Grade/fdfb81fd286a474098b624b426d63c41 :target: https://www.codacy.com?utm_source=bitbucket.org&utm_medium=referral&utm_content=agiletekengineering/pyqalx&utm_campaign=Badge_Grade .. image:: https://api.codacy.com/project/badge/Coverage/fdfb81fd286a474098b624b426d63c41 :target: https://www.codacy.com?utm_source=bitbucket.org&utm_medium=referral&utm_content=agiletekengineering/pyqalx&utm_campaign=Badge_Coverage .. note:: The pyqalx code will become fully open source on release of version 1.0. Until then you must request access to the codebase hosted at Bitbucket. `Send an email `_ to request access. All code contributions should be made in through `pull requests `_ and there are some simple rules to follow: - check that the issue hasn't been submitted previously or is being worked on by someone else - follow the `git flow `_ branching system. Always branch off the develop branch to add new features. - always **add tests to cover any code you add** if possible these should be unit tests but some types of feature (mainly relating to bots) are better to address in functional tests. - ensure that your code complies with `black `_ and `flake8 `_. The build chain will fail if it doesn't. You can make your life easier by doing `pre-commit install` once you've installed the requirements (`poetry install`). This adds a series of pre-commit hooks which handle formatting for you and will prevent a commit if not compliant. - add emojis to the start of commit messages to give a quick visual indicator of the content of the commit (use win + . keyboard shortcut to bring up emoji on windows): =========================== =================================== **Commit type** **Emoji** =========================== =================================== Initial commit 🎉 :tada: Version tag 🔖 :bookmark: New feature ✨ :sparkles: Bugfix 🐛 :bug: Documentation 📚 :books: Documenting source code 💡 :bulb: Performance 🐎 :racehorse: Cosmetic 💄 :lipstick: Adding a test ✅ :white_heavy_check_mark: Make a test pass ✔ :heavy_check_mark: General update ⚡ :zap: Improve format/structure 🎨 :art: Refactor code 🔨 :hammer: Removing code/files 🔥 :fire: Continuous Integration 💚 :green_heart: Security 🔒 :lock: Upgrading dependencies ⬆ :arrow_up: Downgrading dependencies ⬇ :arrow_down: Critical hotfix 🚑 :ambulance: Deployment 🚀 :rocket: Fixing on Linux 🐧 :penguin: Fixing on Windows 🔲 :black_square_button: Work in progress 🚧 :construction: Merging branches 🔀 :twisted_rightwards_arrows: Bad code / need improv. 💩 :hankey: Reverting changes ⏪ :rewind: Breaking changes 💥 :boom: Code review changes 👌 :ok_hand: Bots code 🤖 :robot_face: Adapters code 🔌 :electric_plug: =========================== ===================================