|
| 1 | +# Contributing to Pycord |
| 2 | +We're really happy to accept contributions. However we also ask that you follow several rules when doing so. |
| 3 | + |
| 4 | +# Proper base |
| 5 | +When opening a PR, please make sure your branch targets the latest release branch, in this case it would be `master`. Also make sure your branch is even with the target branch, to avoid unnecessary surprises. |
| 6 | + |
| 7 | +# Versioning |
| 8 | +We follow [SemVer](https://semver.org/) versioning when it comes to pushing stable releases. Ideally, this means you should only be creating PRs for `patch` and `minor` changes. If you wish to introduce a `major` (breaking) change, please discuss it beforehand so we can determine how to integrate it into our next major version. If this involves removing a public facing property/method, mark it with obsolete instead on the latest release branch. |
| 9 | + |
| 10 | +# Proper titles |
| 11 | +When opening issues, make sure the title reflects the purpose of the issue or the pull request. Prefer past tense, and |
| 12 | +be brief. Further description belongs inside the issue or PR. |
| 13 | + |
| 14 | +# Descriptive changes |
| 15 | +We require the commits describe the change made. It can be a short description. If you fixed or resolved an open issue, |
| 16 | +please reference it by using the # notation. |
| 17 | + |
| 18 | +Examples of good commit messages: |
| 19 | + |
| 20 | +* `Fixed a potential memory leak with cache entities. Fixes #142.` |
| 21 | +* `Implemented new command extension. Resolves #169.` |
| 22 | +* `Changed message cache behaviour. It's now global instead of per-channel.` |
| 23 | +* `Fixed a potential NRE.` |
| 24 | +* ``` |
| 25 | + Changed message cache behaviour: |
| 26 | +
|
| 27 | + - Messages are now stored globally. |
| 28 | + - Cache now deletes messages when they are deleted from discord. |
| 29 | + - Cache itself is now a ring buffer. |
| 30 | + ``` |
| 31 | + |
| 32 | +# Code changes |
| 33 | +One of our requirements is that all code change commits must build successfully. This is verified by our CI. You can view its summary by visiting it from the checks section on |
| 34 | +the PR overview page. |
| 35 | + |
| 36 | +PRs that do not build will not be accepted. |
| 37 | + |
| 38 | +Furthermore we require that methods you implement on Discord entities have a reflection in the Discord API. |
| 39 | + |
| 40 | +In the event your code change is a style change, doc change, or otherwise does not change how the code works, tag |
| 41 | +the commit with `[ci skip]`. |
| 42 | + |
| 43 | +# Non-code changes |
| 44 | +In the event you change something outside of code (i.e. a meta-change or documentation), you must tag your commit with |
| 45 | +`[ci skip]`. |
0 commit comments