Contributing guide#
Thanks for taking a quest. This guide covers every SideQuest repo. A repo’s own README has the details for that repo.
Pick a way to help#
Report a bug. See Report and find issues.
Suggest a feature. Open an issue first, so we can agree on the approach before you write code.
Fix something. Look for a good first issue, or pick up a bug you reported yourself.
Pick a repo#
Repo |
What it is |
Language |
|---|---|---|
sidequest-guild.com, its API and the database |
Python (Litestar), Astro |
|
The Discord bot. It reaches the database only through the API |
Python (discord.py) |
|
The in-game addon and the |
Lua, Python |
|
The desktop tray app that syncs the addon with the site |
Rust (GPUI) |
Before you start#
For anything bigger than a typo, open an issue first.
Read the guild rules. They apply here too.
Found a security problem? Don’t open an issue. Follow the repo’s
SECURITY.md.
Set up and run the checks#
Fork the repo and clone your fork.
Follow the repo’s README to install its tools.
Run
make installto set up dependencies.Run
make cito run every check CI runs: formatting, lint, type checks, and tests.
Note
Each repo has its own Makefile. make help lists every command it offers.
Make your change#
Make a branch for your change.
Keep the change small and about one thing.
Add or update a test for what you change. A test should fail before your change and pass after it.
Run
make ciagain and fix what it reports.
Commit your change#
Write each commit subject as a Conventional Commit: a type, a colon, then a plain sentence.
feat: add away dates to the account pagefix: the raid chart keeps its groups after a reloaddocs: explain how attendance voice minutes work
Common types are feat, fix, docs, test, ci, chore and perf.
Open a pull request#
Push your branch and open a pull request.
Title it the same way as a commit:
type: what changed.Say what you changed, why, and how you checked it. Add a screenshot for anything on the site.
Update the docs if your change alters what a member or officer sees.
Review#
An officer reviews every pull request. They may ask for changes before merging. Once it merges, your change ships the next time that repo deploys.
Everyone who takes part agrees to the code of conduct.