First, thanks for taking the time to contribute! We really appreciate it - we're not many people.
The following is a set of guidelines for contributing to SuperTTD. We hate to hinder you, so as long as your contribution follows these guidelines and we approve it will merge!
We use the Contributor Convent as our Code of Conduct. If you contribute, you're expected to follow and uphold the Code.
Is it your first time on GitHub? Great! We're happy your contributing to us and the open-source community.
Find an issue that you can help with. Typically one marked as "contributions-welcome" is an easy issue to get started with. Make your change, and follow the PR instructions. Thanks!
Sometimes, we might take design decisions, such as designing the code with OOP, or taking on technical debt. We'll let you know if your violating one, however if a file DESIGN_DECISIONS.md exists you're expected to read it.
Following the guide depicted below should get your issue noticed. The first step might make it so you don't need to file one!
- Check if an issue already exists. GitHub Issues has a built-in search
bar. Make certain to remove
is:openif you are checking for duplicates! - Determine if your issue is related to code. We only use Issues for code issues and bugs. If you are having trouble playing the game, consider if you should go on a forum or subreddit for players instead of filing an issue. If you thing something is overpowered, or overpowering, it might be worth filing a bug.
- Follow the issue template. It's there for a reason. Fill it out, one hundred percent. It confirms that we have the information we need to help you.
- Make a great title. We can change it if necessary, but it's best you get it right the first time.
- Post it! Put it up for the world to see!
- Don't abandon your issue. We might need help with getting more information, or instructions to reproduce. Make sure you check on it every few days.
- Profit! :cash:
A Pull Request is a request to merge (pull) your code into our repository. As long as you follow these steps, you shouldn't have any problems. You might, though, and as such we'll try our best to help.
- Follow the PR template. It's there for a reason.
- Make a great title, with a reference to the issue number. A great
example is:
Make the code compile by adding a semicolon (#32). - Fix the files to comply with the EditorConfig. Until we get
clang-format, this is the best way for us to check the styleguide. - Send it up! Up, up and away!
- Don't abandon your issue. We might need to respond to it.
- Profit! :cash:
Use the WebKit style guide.
- Present tense. Add , not Added
- First line no more than 50 characters
- Use a non-imperative mood, Add feature that moves the mouse not Add feature to move the mouse.
*Inspired by Atom's guide*