ramong.us is one of our subreddit’s first open source projects that is both under very active development and is also being used to ship code to everybody on ramong.us. We’re still working out the kinks to make contributing to this project as easy and transparent as possible, but we’re not quite there yet. Hopefully this document makes the process for contributing clear and answers some questions that you may have.
/r/AmongUs has adopted the Contributor Covenant as its Code of Conduct, and we expect project participants to adhere to it. Please read the full text so that you can understand what actions will and will not be tolerated.
All work on ramong.us happens directly on GitHub. Both core team members and external contributors send pull requests which go through the same review process.
Submit all changes directly to the
main branch. We don’t use separate branches for development or for upcoming releases. We do our best to keep
main in good shape, with all tests passing.
We are using GitHub Issues for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn’t already exist.
The best way to get your bug fixed is to provide a reduced test case.
We communicate through our Discord server
If you intend to change public content, or make any non-trivial changes, we recommend filing an issue. This lets us reach an agreement on your proposal before you put significant effort into it.
If you’re only fixing a bug, it’s fine to submit a pull request right away but we still recommend to file an issue detailing what you’re fixing. This is helpful in case we don’t accept that specific fix but want to keep track of the issue.
Working on your first Pull Request? You can learn how from this free video series:
To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started.
If you decide to fix an issue, please be sure to check the comment thread in case somebody is already working on a fix. If nobody is working on it at the moment, please leave a comment stating that you intend to work on it so other people don’t accidentally duplicate your effort.
If somebody claims an issue but doesn’t follow up for more than two weeks, it’s fine to take it over but you should still leave a comment.
The core team is monitoring for pull requests. We will review your pull request and either merge it, request changes to it, or close it with an explanation. We’ll do our best to provide updates and feedback throughout the process.
Before submitting a pull request, please make sure the following is done:
- Fork the repository and create your branch from
yarnin the repository root.
- If you’ve fixed a bug or added code that should be tested, add tests!
- Format your code (
We use an automatic code formatter called Prettier.
yarn check-all after making any changes to the code.
Then, our linter will catch most issues that may exist in your code.
However, there are still some styles that the linter cannot pick up. If you are unsure about something, looking at Airbnb’s Style Guide will guide you in the right direction.
Many changes, including bug fixes and documentation improvements can be implemented and reviewed via the normal GitHub pull request workflow.
Some changes though are “substantial”, and we ask that these be put through a bit of a design process and produce a consensus among the ramong.us core team.
The “RFC” (request for comments) process is intended to provide a consistent and controlled path for new features to enter the project.
By contributing to ramong.us, you agree that your contributions will be licensed under its CC-BY-4.0 license.
Read the next section to learn how the codebase is organized.