diff --git a/.github/DEVELOPER_CERTIFICATE_OF_ORIGIN.md b/.github/DEVELOPER_CERTIFICATE_OF_ORIGIN.md
new file mode 100644
index 00000000..7f32c076
--- /dev/null
+++ b/.github/DEVELOPER_CERTIFICATE_OF_ORIGIN.md
@@ -0,0 +1,36 @@
+Developer Certificate of Origin
+Version 1.1
+
+Copyright (C) 2004, 2006 The Linux Foundation and its contributors.
+1 Letterman Drive
+Suite D4700
+San Francisco, CA, 94129
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+
+Developer's Certificate of Origin 1.1
+
+By making a contribution to this project, I certify that:
+
+(a) The contribution was created in whole or in part by me and I
+have the right to submit it under the open source license
+indicated in the file; or
+
+(b) The contribution is based upon previous work that, to the best
+of my knowledge, is covered under an appropriate open source
+license and I have the right under that license to submit that
+work with modifications, whether created in whole or in part
+by me, under the same open source license (unless I am
+permitted to submit under a different license), as indicated
+in the file; or
+
+(c) The contribution was provided directly to me by some other
+person who certified (a), (b) or (c) and I have not modified
+it.
+
+(d) I understand and agree that this project and the contribution
+are public and that a record of the contribution (including all
+personal information I submit with it, including my sign-off) is
+maintained indefinitely and may be redistributed consistent with
+this project or the open source license(s) involved.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index c8e212d1..2619a184 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,43 +1,87 @@
-# Mainsail Contributing Guide
+# Contributing to Mainsail
-Hi! I'm really excited that you are interested in contributing to Mainsail. Before submitting your contribution, please make sure to take a moment and read through the following guidelines:
+If you are reading this document right now, you are probably considering contributing to Mainsail and making it better
+than it is today. Thank you for taking that initiative! Before submitting your contribution, please take a moment and
+make sure to read through our contribution guidelines:
-- [Code of Conduct](https://github.com/meteyou/mainsail/.github/CODE_OF_CONDUCT.md)
-- [Issue Reporting Guidelines](#issue-reporting-guidelines)
-- [Pull Request Guidelines](#pull-request-guidelines)
+- [Code of Conduct](https://github.com/mainsail-crew/mainsail/blob/develop/.github/CODE_OF_CONDUCT.md)
+- [Question or Problem?](#question)
+- [Issues and Bugs](#issue)
+- [Feature Requests](#feature)
+- [Submission Guidelines](#submit)
+ - [Submit an Issue](#submit-issue)
+ - [Submit a Pull Request](#submit-pr)
+- [Financial Contributions](#financial)
+- [Credits](https://docs.mainsail.xyz/credits)
-## Issue Reporting Guidelines
+## Got a Question or Problem?
-- Use [https://github.com/meteyou/mainsail/issues](https://github.com/meteyou/mainsail/issues) to create new issues.
+Please do not open issues for general support questions. We want to keep GitHub issues for bug reports and feature
+requests. Instead, please visit us on [Discord](https://discord.gg/mainsail) to ask support-related questions.
-## Pull Request Guidelines
+Our Discord server is a much better place to ask general support questions. We take a right to close issues that are
+requests for generic support and redirect people to Discord.
-- The `master` branch is just a snapshot of the latest stable release. All development should be done in dedicated branches. **Do not submit PRs against the `master` branch.**
+## Found a Bug?
-- Checkout a topic branch from the relevant branch, e.g. `develop`, and merge back against that branch.
+If you find a bug in the source code or think that Mainsail is behaving odd in specific situations, you can help us fix
+that issue by [submitting an issue](https://github.com/mainsail-crew/mainsail/issues/new?assignees=&labels=%E2%9A%A1+Type%3A+Bug&template=bug_report.yml).
+If you have already fixed that issue, you can [submit a Pull Request](#submit-pr) with that fix.
-- It's OK to have multiple small commits as you work on the PR - GitHub will automatically squash it before merging.
+## Missing a Feature?
-- If adding a new feature:
+You can request a new feature by [submitting a feature request](https://github.com/mainsail-crew/mainsail/issues/new?assignees=&labels=%F0%9F%92%A1+Type%3A+FR&template=feature_request.yml).
+If you would like to implement a new feature, please consider the scope of the change. For changes requiring a lot of
+work, it's best to outline a proposal first so it can be discussed. This allows us to prevent wasted time and effort and
+discuss how to bring your proposed feature into the project.
- - Provide a convincing reason to add this feature. Ideally, you should open a suggestion issue first and have it approved before working on it.
+## Submission Guidelines
-- If fixing bug:
- - If you are resolving a special issue, add `(fix #xxxx[,#xxxx])` (#xxxx is the issue id) in your PR title for a better release log, e.g. `update entities encoding/decoding (fix #3899)`.
- - Provide a detailed description of the bug in the PR. Live demo preferred.
- - Add appropriate test coverage if applicable.
+### Submitting an Issue
-## Committing Changes
+Before you submit an issue, please search the issue tracker if your problem may already exist. If a ticket already
+covers your case, please refrain from opening a new ticket and instead contribute to the existing ticket. If you submit
+an issue, please provide the required information and reproduction steps. We need those to be able to try and reproduce
+the bug ourselves. Without proper instructions on how to reproduce the issue you are encountering, we might be unable to
+fix a possible bug.
-Commit messages should follow the [commit message convention](https://www.conventionalcommits.org/en/v1.0.0/) so that changelogs can be automatically generated.
+### Submitting a Pull Request (PR)
-## Financial Contribution
+Before you work on a PR and submit it, please pay attention to the following guidelines:
-As a pure community-driven project without major corporate backing, we also welcome financial contributions via Patreon and OpenCollective.
+1. Search the [pull requests](https://github.com/mainsail-crew/mainsail/pulls) for an open or closed PR related to your submission.
+ - You don't want to duplicate existing efforts or work on something unlikely to be merged into the project.
+2. Do not submit PRs against the `master` branch. PRs need to be submitted against the `develop` branch.
+3. Follow our [Code Standards](https://docs.mainsail.xyz/development/code-standards)
+4. If there is an issue describing the problem you're fixing or a discussion of a feature you are implementing, make sure to link it in the PRs body.
-- [Become a supporter on Patreon](https://patreon.com/meteyou)
-- [One-time donation via Ko-Fi](https://ko-fi.com/mainsail)
+ - You can also add `fix #` or `fixes #` in the PR body where `` is the issue id.
+ - Example PR title, body and sign-off:
-## Credits
+ ```
+ fix: incorrect handling of click event
-Thank you to all the people who have already contributed to Mainsail!
+ This PR will fix #123.
+ Fixes correct handling of click event when button [X] is clicked.
+
+ Signed-off-by: James Smith
+ ```
+
+5. If there is no issue describing the problem, create an issue first or provide a sufficient description of the bug/feature.
+ - Screenshots of your changes are welcome if you worked on UI-related code.
+6. The title of the PR should follow the [commit message convention](https://www.conventionalcommits.org/en/v1.0.0/).
+ - If the PR consists of multiple commits, it's good practice to follow the convention, although that is not necessarily required.
+ - Upon merging, we will squash all commits of the PR into a single commit for a clean history and release changelogs.
+7. Please sign off each commit and your PR. It must contain your real name and a current email address (see example in item 4).
+ - The sign-off should follow this pattern: `Signed-off-by: My Name `
+ - The sign-off certifies that you agree with the [developer certificate of origin](https://github.com/mainsail-crew/mainsail/.github/DEVELOPER_CERTIFICATE_OF_ORIGIN.md).
+ - If you provide a translation, a sign-off is not necessarily required.
+8. When opening a pull request, keep `Allow edits and access to secrets by maintainers` **enabled**.
+
+## Financial Contribution
+
+As a community-driven project without primary corporate backing, we always welcome financial contributions. A list of
+options we offer to support us financially can be seen below.
+
+- [Become a supporter on Patreon](https://patreon.com/meteyou) (monthly recurring)
+- [Donation via Ko-Fi](https://ko-fi.com/mainsail) (one time / monthly recurring)