Skip to content
This repository has been archived by the owner on Apr 20, 2022. It is now read-only.

Latest commit

 

History

History
63 lines (43 loc) · 2.69 KB

CONTRIBUTING.md

File metadata and controls

63 lines (43 loc) · 2.69 KB

Contributing

Discord.Net is an open-source project, and we appreciate any and all contributions made by our community. However, please conform to the following guidelines when possible:

Development Cycle

We prefer all changes to the library to be discussed beforehand, either in a GitHub issue, or in a discussion in our Discord channel with library regulars or other contributors.

Issues that are tagged as "up for grabs" are free to be picked up by any member of the community.

Pull Requests

We prefer pull-requests that are descriptive of the changes being made and highlight any potential benefits/drawbacks of the change, but these types of write-ups are not required. See this merge request for an example of a well-written description.

Semantic Versioning

This project follows Semantic Versioning. When writing changes to this project, it is recommended to write changes that are SemVer compliant with the latest version of the library in development.

The working release should be the latest build off of the release branch for labs. Please note that development is primarily done on this fork for new features and bugfixes, before they are pushed to the stable repository.

We follow the .NET Foundation's Breaking Change Rules when determining the SemVer compliance of a change.

Obsoleting a method is considered a minor increment.

Coding Style

We attempt to conform to the .NET Foundation's Coding Style where possible.

As a general rule, follow the coding style already set in the file you are editing, or look at a similar file if you are adding a new one.

Documentation Style for Members

When creating a new public member, the member must be annotated with sufficient documentation. This should include the following, but not limited to:

  • <summary> summarizing the purpose of the method.
  • <param> or <typeparam> explaining the parameter.
  • <return> explaining the type of the returned member and what it is.
  • <exception> if the method directly throws an exception.

The length of the documentation should also follow the ruler as suggested by our Visual Studio Code workspace.

Recommended Reads