If you're considering contributing to the bot - THANK YOU. It doesn't go unappreciated and I'll try my best to help you with your contribution and troubleshooting any concerns. Further below is the detailed process of how you can contribute code, create pull requests and get them merged.
Thanks for reading this! See you in the pull requests. 🤙
The recommended way to implement code changes into Ggis, is to first fork the master
branch, implement your changes and test on a (preferably) empty test server, and then create a pull request back into the main repo with your updates.
Of course, you can feel free to fork Ggis for your own needs and alter the code in any way you wish, without ever making a pull request back into the main repo. But, if the changes are substantial and useful, don't hesitate to bring them into here so everyone can reap the benefits. 😉
Pull requests should pass most (if not all) merge checks below:
- New commands have proper
help
command documentation, aconf
that makes sense, and documented/commentedrun
function- See the commands source code readme for more info
- Build in Circle CI passes successfully
- This runs linting, unit tests, and end-to-end tests in the Ggis test server
- New tests aren't required, but certainly encouraged
- Test coverage for the new features or code you're implementing only improves the chances for your pull request to be merged
- New features or configuration are reasonably documented
- New settings should be include in the settings templates and examples
- Proper & relevant README is updated
The typical commit message format is as such:
[{SCOPE}] {SUBJECT}
{BODY}
When pull requests are merged, this will be the format for the squashed commit message, with further details in the {BODY}
if necessary.
Possible {SCOPE}
s
Fix
- Bugfix or correctionsDocs
- Documentation relatedBuild
- Updates to the CI configuration or NPM scriptsTest
- New tests or updates to existing testsDeps
- Dependency updates!{Command}
- Updates related to the given command specificallyLFG
- Updates related to the LFG feature(s)StreamLink
- Updates related to the StreamLink feature(s)Chore
- Everything else