maduck/GoWDiscordTeamBot

View on GitHub
CONTRIBUTING.md

Summary

Maintainability
Test Coverage
# Contributing to the Gems of War bot
👍🎉 First off, thanks for taking the time to contribute! 🎉👍

The following is a set of guidelines for contributing to this repository.
These are mostly guidelines, not rules. Use your best judgment, and feel
free to propose changes to this document in a pull request.

## How can I contribute?
### Reporting bugs
 * **Use a clear and descriptive title** for the issue to identify the problem.
 * **Describe the exact steps which reproduce the problem** in as many details as possible. For example, start by explaining which command you entered, or how you tried inviting the bot. When listing steps, **don't just say what you did, but explain how you did it**. 
 * **Provide specific examples to demonstrate the steps**. Include copy/pasteable snippets, which you use in those examples. If you're providing snippets in the issue, use [Markdown code blocks](https://help.github.com/articles/markdown-basics/#multiple-lines).
 * **Describe the behavior you observed after following the steps** and point out what exactly is the problem with that behavior.
 * **Explain which behavior you expected to see instead and why.**
 * **Include screenshots and animated GIFs** which show you following the described steps and clearly demonstrate the problem. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows, and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux.

Provide more context by answering these questions:
 * **Can you reproduce the problem in other servers or channels**?
 * **Did the problem start happening recently**?
 * **Can you reliably reproduce the issue?** If not, provide details about how often the problem happens and under which conditions it normally happens.

Include details about your configuration and environment:
 * **What's the name and version of the OS you're using**?
 * **Which language setting are you using**?

## Suggesting Enhancements
### Before Submitting An Enhancement Suggestion

* **Check if there's already a feature listed which provides that enhancement in #features.**

### How Do I Submit A (Good) Enhancement Suggestion?
* **Use a clear and descriptive title** for the issue to identify the suggestion.
* **Provide a step-by-step description of the suggested enhancement** in as many details as possible.
* **Provide specific examples to demonstrate the steps**.
* **Describe the current behavior** and **explain which behavior you expected to see instead** and why.
* **Explain why this enhancement would be useful** to most bot users.

## Submitting Code

### Workflow
 1. Fork this repository.
 2. Commit your changes into a branch of your choice.
 3. File a pull request.
 4. Gary will have a proper look and discards everything that is not of proper quality, see below.
 
### Code Quality Rules
 * Code abides by [PEP8](https://www.python.org/dev/peps/pep-0008/).
 * Avoid duplication at all costs ([DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) principle).
 * Aim for [SOLID](https://en.wikipedia.org/wiki/SOLID) code.

### Commit messages & history
 * Use [Semantic Commit Messages](https://seesparkbox.com/foundry/semantic_commit_messages) for naming commits. 
 * Use rebase if possible.