Thanks for your interest in contributing to Serenade! There are lots of ways you can help make Serenade better, and this doc aims to outline how you can maximize the impact of your contributions.
If you have any questions, or if you'd like to help others as they get started with Serenade, join the Serenade community Discord.
Answering questions from other members of the community is hugely impactful!
For any Serenade bugs, please create a new Issue following the bug report template.
Before creating a bug report, search to see if the bug has already been reported! If so, upvote that Issue or post additional details about your situation there.
While we use different repositories for each Serenade plugin, it's easier for us to centralize our issue tracking, so please create Issues in this repository rather than plugin repositories.
Have an idea for a feature you'd like to see added to Serenade? Create an Issue following the feature request template.
Make sure to search for ideas before posting your own. If someone has already created an Issue for your idea, please upvote it rather than creating a duplicate. This will help us prioritize what features to build.
We're excited to welcome code contributions from the community!
Before contributing any new code, it's important to get sign-off from the Serenade core team. Doing so will ensure that we're all aligned on any changes to the Serenade product (which has a lot of surface area and complexity!) before you spend time implementing functionality. We'll make this as streamlined as possible, but any Pull Requests that are opened without an approved Issue won't be accepted.
Any issue with the tag approved
has been approved by the Serenade team. These are the areas where you can help! Consider any approved
Issue as up for grabs, and comment on the Issue if you're interested in working on it. We can help you get started!
Issues without the approved
tag are still in the discussion phase. Feel free to weigh in on the discussion and upvote posts you agree with. But, these Issues have not been approved by the Serenade team, so we won't be able to approve Pull Requests for them (or any Pull Requests without corresponding Issues).
All Pull Requests will be reviewed by a member of the Serenade core team. For more complex functionality, it's good to get alignment on high-level solutions before submitting Pull Requests in order to minimize back-and-forth and wasted effort. We're happy to give early feedback on ideas!
Because Serenade has such a large surface area, code quality is really important to delivering a high-quality product. As a result, you may receive a lot of feedback on your Pull Requests, but don't worry! Our goal is to keep product quality high and the codebase clean so that it's easier for anyone to ramp up and contribute.
We appreciate you taking the time to help make Serenade better for everyone!