Game-Control-Puzzle-Event-A.../CONTRIBUTING.md

5.1 KiB

Contributing to Game Control

Welcome, and thank you for your interest in contributing to this project!

There are many ways in which you can contribute, beyond writing code. The goal of this document is to provide a high-level overview of how you can get involved.

Asking Questions and Providing Feedback

Have a question or feedback? Please open an issue in this repo using the label 'question'. Any relevant logs or error messages will be especially helpful to include.

The active community will be eager to assist you. Your well-worded question will serve as a resource to others searching for help.

Reporting Issues

Have you identified a reproducible problem in Game Control, or do you have a feature request? We want to hear about it! Here's how you can make reporting your issue as effective as possible.

Look For an Existing Issue

Before you create a new issue, please do a search in our Open Issues to see if the issue or feature request has already been filed.

If you find your issue already exists, make relevant comments and add your reaction. Use a reaction in place of a "+1" comment:

  • 👍 - upvote
  • 👎 - downvote

If you cannot find an existing issue that describes your bug or feature, create a new issue using the guidelines below.

Writing Good Bug Reports and Feature Requests

File a single issue per problem and feature request. Do not enumerate multiple bugs or feature requests in the same issue.

Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.

The more information you can provide, the more likely someone will be successful at reproducing the issue and finding a fix.

Please include the following with each issue:

  • Version of Game Control

  • Your operating system, web browser and server hosting environment

  • Reproducible steps (1... 2... 3...) that cause the issue

  • What you expected to see, versus what you actually saw

  • Images, animations, or a link to a video showing the issue occurring

  • Errors from the browser's developer console, if the issue is related to an in-browser experience (press F12 to open the console on Windows browsers)

Contributing Fixes

If you are interested in writing code to fix issues, we'd love your assistance!

Always work from an issue

Please follow this simple rule to help us eliminate any unnecessary wasted effort & frustration, and ensure an efficient and effective use of everyone's time - yours, ours, and other community members':

👉 If you have a question, think you've discovered an issue, would like to propose a new feature, etc., then find/file an issue BEFORE starting work to fix/implement it.

Existing issues labeled 'good first issue' are a great starting point. If you are contributing significant changes, or if the issue is already assigned to a developer, please check with the developer who is assigned the issue first before starting to work on your changes.

Pull Requests

Before we can accept a pull request from you, you'll need to sign a Contributor License Agreement (CLA). It is an automated process and you only need to do it once.

To enable us to quickly review and accept your pull requests, always create one pull request per issue and link the issue in the pull request. Never merge multiple requests in one unless they have the same root cause. Be sure to follow existing code formatting standards and keep code changes as small as possible. Avoid pure formatting changes to code that has not been modified otherwise. Pull requests should contain tests whenever possible.

Where to Contribute

Check out the full issues list for a list of all potential areas for contributions. Note that just because an issue exists in the repository does not mean we will accept a contribution to the core editor for it. There are several reasons we may not accept a pull request like:

Performance - Since Game Control is often used to manage large-scale events, changes must maintain or improve existing performance characteristics. User experience - The UX should feel lightweight, not be cluttered and offer a coherent navigation hierarchy. To ensure these values are maintained, most changes to the UI should be discussed and improved in advance. Architectural - The team and/or feature owner needs to agree with any architectural impact a change may make. Things like new extension APIs must be discussed with and agreed upon by the feature owner.

To improve the chances to get a pull request merged you should select an issue that is labelled with the help-wanted or bug labels. If the issue you want to work on is not labelled with help-wanted or bug, you can start a conversation with the issue owner asking whether an external contribution will be considered.

To avoid multiple pull requests resolving the same issue, let others know you are working on it by saying so in a comment.

Thank You!

Your contributions to open source, large or small, make great projects like this possible. Thank you for taking the time to contribute.