Opening pull requests
Thank you for considering opening a pull requests to the project. Without contributions, React Email would not be possible.
Before opening a pull request, please first view our Development workflow. The setup guide will help you properly set up the project.
Contribution guidelines
We ask all contributors follow a few guidelines before contributing.
Discuss features before contributing
While our community is open-source, we ask that features be discussed before they are implemented.
To discuss a feature, please open up a discussion as an RFC.
Once we come to an agreement on the feature and its implementation, you are welcome to create the feature and open a pull request.
Create an issue for a bug before contributing
If you’ve found a bug, and plan to fix it, please open up a proper issue first. While you develop your fix, the issue can help us track the work, allow for other voices to offer suggestions, provide workarounds for those facing the bug if possible, and finish fixing the bug if you are no longer able to fix the issue.
Whenever possible, please add tests to your fixes, to ensure that regressions aren’t introduced in later versions of the codebase.
Creating the pull request
Please create your pull request using the following steps:
- Create a fork of the repo
- Create a new branch that represents your changes
- If your PR is for anything inside
apps/*
, you should create your new branch frommain
- Otherwise, switch to the
canary
branch to create your new branch from it
- If your PR is for anything inside
- Make your changes and commit them to your branch
- Create the pull request from your fork
- If the PR is for anything inside
apps/*
, open a PR intomain
- Otherwise, open a PR into the
canary
branch
- If the PR is for anything inside
Writing a good description
Once you open your pull request, we will need to review it. The better your communicate what you did, the easier and quicker we can review your PR.
Currently, we do not have a pull request template you can follow to help you, but you can follow some common guidelines.
1. Describe your intent
Every change has an intent.
- Bug fix pull requests intend fix issues.
- Feature pull requests add new features.
Understanding your intent helps maintainers read your code quicker, offer more helpful feedback, and ultimately merge your request.
2. Describe your technical difficulties
If you went through technical difficulties, describe them.
Explaining your difficulties also gives you a chance to describe your thought process, which solutions you considered and discarded, and why you chose the one you did. This process can help avoid unnecessary back and forth and allows us to provide more helpful feedback.
3. Write down the specific changes the pull request introduces
Writing down your specific changes—both generally and technically—makes it clear what your code does. Consider also including what key points your code does not address if appropriate to help us understand the scope of your work.
Getting in touch with us
If you have any questions or need help, you can find us on Discord.