Contributing
First, thanks for considering contributing to Arcadia!
Contributing Process
Whether you want to add a new feature or fix an existing issue, it needs to be done on your own branch:
- Fork this repository
- Clone it locally on your computer
- create a new branch
feature-name
orbug-name-fix
(with the proper name) - open a pull request when your contribution is done
If you are unsure about what/how to do something, don't hesitate to open a discussion or an issue about the topic.
You can also hop on the Discord server to chat with other devs and the community.
Finding Contributions to Make
Arcadia has boards to track the existing issues and features that need to be worked on. Feel free to claim one that isn't claimed yet before starting to work on it.
To claim a github issue, simply leave a comment on it saying that you are working on it.
You can also search for TODO
s in the code and pick one of those tasks. If you decide to do this, please open an issue first and claim it before working on the task.
Backend Development Notes
-
If you make changes to/add sql queries with
sqlx
, you need to runcargo sqlx prepare
before committing your changes. This command will generate some files that allow the queries to be tested without a database running. Our CI pipeline relies on that, and will fail if the command hasn't been ran. You can setup a git pre-commit hook if you want. -
For better code quality, we use clippy in our CI pipeline. You can set your editor to run
cargo clippy
instead ofcargo check
(on file save, etc.).