Contributing
Contributors
A big thanks to those who have contributed to Dairy in some way shape or form so far other than myself (Oscar), notably:
- Iris
- Rares
- Hex
- Polar
- Harshiv
(in no particular order)
If you feel like you belong on that list, I promise I haven’t forgotten, ping me on discord!
Contributing to the Documentation
Contributing to docs is easy! Fork this repository, make some changes, commit, open a PR, and respond to comments from the team!
The docs are currently built using mintlify so check out what can be done, and how to develop locally.
If you’re looking to contribute to docs in general, try checking the issues on the docs repository, they’re tagged to help you find issues related to topics you feel comfortable working on.
To note:
- Dairy uses conventional commits. Stick to this, or you may be asked to clean up your git history.
Questions + Issues with the Documentation
If you have a question, or find a topic which you feel isn’t documented, or is poorly documented, there are two routes:
- Ask on the discord (either the Dairy discord or the unofficial FTC discord)
This is likely to get you a more immediate answer, either from the community or from a team member.
If you asked a question on the discord, you may have been asked to update the docs using the content of the response to your question.
- Open an issue on the docs repository
We use GitHub issues to track documentation. Open an issue, describe what you need documented, and tag it appropriately, if its reasonable, someone will get around to it eventually, and you can track the progress on the work.
Contibuting to Dairy
Dairy uses git submodules. You should read about git submodules. Most importantly, the the section on cloning with git submodules, before you try cloning the repository.
This makes things a bit difficult, but also allows each of the Dairy repos to be maintained separately.
NOTE: you may encounter issues if you use https for git rather than ssh. I advise you switch to ssh, or, you can change all the links in
.gitsubmodules
to be https and then be careful to not commit the changes to the file.
GitHub Desktop cannot deal with git submodules, other git tools such as Android Studio VCS or VS Code VCS may be able to do so, I use the cli tool, so I will be unable to help you if you rely on using these tools.
The basic workflow is:
- Make an edit in a Dairy module.
- commit, push, PR in that module’s repo.
- then open a PR in the mono repo, mentioning the other PR, pulling in the update to the submodule, and making any changes to the examples and overviews required.
To note:
- Dairy uses conventional commits. Stick to this, or you may be asked to clean up your git history.
In general issues should be opened in both the mono repo, and the specific repos that the issue affects, the issues should have references back and forth with the mono repo one.
Dairy also uses Kotlin, so if you want to work in Java, the only thing you can work on is more examples and overviews, Kotlin isn’t hard to learn if you know Java to a level where you could be contributing here, and you can use Dairy as a good medium to learn Kotlin as well!