diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000000000000000000000000000000000..fef6ebffc6fe515650c97b51a9d350b031e1f8ed --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,3 @@ +<!-- +Hi there 👋, please check you've read the [CONTRIBUTING](../CONTRIBUTING.md) guide before submitting a PR (it's worth it, honestly). +--> diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f4704038f6c853f52ef2e1b14bf593299edd718e..dd7548679afea7457a301414b7079a6a3c8b37a6 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,22 +1,8 @@ -Hello! It's awesome that you want to contribute to the Discord bridge, by doing -so you are helping our users and the wider Matrix ecosystem. This document -lists the requirements for your work to be accepted into our repository. +Hi there! Please read the [CONTRIBUTING.md](https://github.com/matrix-org/matrix-appservice-bridge/blob/develop/CONTRIBUTING.md) guide for all matrix.org bridge +projects. -For clarity reasons, work can either be a pull request or an issue. We find -both quite valuable to the project. Please note that your work must abide by -the Apache 2 license found in the LICENSE file. +## matrix-appservice-discord Guidelines -Most importantly we are a welcoming project and will be happy to review any -works, no matter the skill level of the submitter. Everyone must start -somewhere! - -## TL;DR - -* Always work off the **develop** branch. We won't accept merges into any other branches. - -* We follow the [Matrix Code of Conduct](https://matrix.org/docs/guides/code_of_conduct.html) and will not accept or entertain works from individuals who break it. We believe in considerate and respectful members above accepting works, regardless of quality. - * This includes possible bans from any room(s) involved with the project. -* We are limited to accepting work over Github. Please use its interface when submitting work items. * Discussion of ideas for the bridge and work items should be in [#discord:half-shot.uk](https://matrix.to/#/#discord:half-shot.uk). * Everything submitted as a PR should have at least one test, the only exception being non-code items. @@ -36,52 +22,15 @@ inside the `MatrixEventProcessor` class. ## Setting up * You will need to [setup the bridge](https://github.com/Half-Shot/matrix-appservice-discord/tree/develop#setup-the-bridge) similarly to how we describe, - but you should setup a homeserver locally on your development machine. We would recommend [Synapse](https://github.com/matrix-org/synapse#id11). - -## Writing an issue - -When writing an issue, please be as verbose as you can. Remember the issue is -there to either document a feature request, or report a bug so it can be fixed. -The issue board is NOT there to complain about a broken or missing feature. - -We leave it to the author's discretion to decide what to include rather than -provide a template, but good items are: - * Shorter titles are better than long rambling ones, but please don't make it too vague. - * A good example is "Ability to bridge an existing matrix room into a discord channel" - * A brief description of the problem. - * If you are a user of another person's bridge, please can you let us know the name of the service provider. - * If you would like to keep the details private, please PM @Half-Shot:half-shot.uk or @sorunome:sorunome.de discreetly. - * Relevant logging from Synapse/your homeserver AND the bridge (if applicable). - * The more verbose, the better but please don't include sensitive details like access tokens. - * A screenshot is always useful. - * Please mention which direction a failure is in, e.g. Matrix -> Discord, if applicable. - -We will assign each issue a tag, which will allow us to categorise the problems. - -While we realise some issues are more important than others, please do not "demand" -for an issue to be fixed. Issues will be worked on in the timeframe that best fits -the needs of the team. - - -## PR Process - -We've tried our best to keep the PR process relatively simple: - -* Create a new branch based off the `develop` branch. - * This can be done with `git checkout develop` followed by `git checkout -b featurename`. -* Create a PR on Github, making sure to give a brief discription of your changes and link to the issue it fixes, if any. - * If your change is not complete but you would like feedback, create it as a draft. -* Ensure the linter and tests are not failing, as we will not accept code that breaks either. - * If your tests fail and are having trouble fixing them, you may push your changes and we will help you fix them. - * Github automatically pokes TravisCI to run both linting and tests. -* Someone from the team will review your work and decide what to do with the PR. - * Usually we will have feedback for the PR and will submit more comments. - * We may decide to reject it, if a feature does not fit with the project goals. + but you should setup a homeserver locally on your development machine. We would recommend [Synapse](https://github.com/matrix-org/synapse). ## Testing -Testing the bridge is easy enough, you just need to run `npm run build`, -`npm run lint` and `npm run test`. If all pass without errors, congratulations! +CI will lint and test your code automatically, +but you can save yourself some time by checking locally before submitting code. +Refer to the main matrix.org bridge contributing guide for instructions on how to +[lint](https://github.com/matrix-org/matrix-appservice-bridge/blob/develop/CONTRIBUTING.md#%EF%B8%8F-code-style) and +[test](https://github.com/matrix-org/matrix-appservice-bridge/blob/develop/CONTRIBUTING.md#-tests--ci). Please bear in mind that you will need to cover the whole, or a reasonable degree of your code. You can check to see if you have with `npm run diff --git a/changelog.d/794.doc b/changelog.d/794.doc new file mode 100644 index 0000000000000000000000000000000000000000..4b62fac65e352dffc3537eb6dc9821ecf6d9868e --- /dev/null +++ b/changelog.d/794.doc @@ -0,0 +1 @@ +Update `CONTRIBUTING.md` guide to reference the newly-updated guide for all of the matrix.org bridge repos.