diff --git a/Development_Contribution.md b/Development_Contribution.md index bcc14dd..afb4ba6 100644 --- a/Development_Contribution.md +++ b/Development_Contribution.md @@ -1,19 +1,40 @@ -# Introduction -Thanks to all who have landed on this page with the intent of contributing to the apprise library. Any changes you make are going to easily make it upstream as long as there is there are: -* **Unit tests**: apprise is currently sitting at 100% test coverage. The goal is to keep it this way! :slightly_smiling_face: -* **PEP8 Compliance**: Following the [PEP 8 Style Guide for Python](https://www.python.org/dev/peps/pep-0008/) is a must. Most editors have PEP8 plugins and allow you to keep everything compliant as you go. +# 🤝 Contributing to Apprise + +Thank you for your interest in contributing to Apprise! + +We welcome bug reports, feature requests, documentation improvements, and new +notification plugins. Please follow the guidelines below to help us review and +merge your contributions smoothly. + +## ✅ Quick Checklist Before You Submit + +- ✔️ Your code passes all lint checks: + ```bash + tox -e lint + ``` + +- ✔️ Your changes are covered by tests. Apprise has just shy of :100: test coverage; it would be ideal to keep it this way (within reason). + ```bash + tox -e qa + ``` + +- ✔️ All tests pass locally. + +- ✔️ Your code is clean and consistently formatted: + ```bash + tox -e format + ``` + +- ✔️ You followed the plugin template (if adding a new plugin). +- ✔️ You included inline docstrings and respected the BSD 2-Clause license. +- ✔️ Your commit message is descriptive. + ## Directory Structure -- `test/`: You will find all unit tests in this directory and there are plenty of examples of how to build your own or add to existing ones. +- `tests/`: You will find all unit tests in this directory and there are plenty of examples of how to build your own or add to existing ones. - `packaging/`: You will find the MAN pages here and the SPEC files used to construct an RPM files - `apprise/plugins/`: This is where Apprise plugins are found -## Development Environment -The following should get you all set up: -```bash -# Install our apprise development requirements -pip install --requirement requirements.txt --requirement dev-requirements.txt -``` If you prefer, sometimes it's easier to use the Docker containers to build your environment. ```bash