Thank you for your interest in helping out! To keep the project safe and maintainable, please follow these steps.
(For those confused by the term PR: it stands for Pull Request! 😉)
1. Workflow
- Fork: Create a copy (Fork) of the repository in your own account.
- Branch: Create a new branch for your changes (git checkout -b feature/my-feature).
- Commit: Write clear and descriptive commit messages.
- Push: Upload the branch to your fork.
- Pull Request (PR): Open a PR against my main branch.
2. Pull Request Rules
- Briefly describe what you changed or added and why.
- Keep PRs small and focused on a single topic.
- Never push API keys, passwords, or private configuration files.
3. Code Style
- Ensure your code is spotless and structured. I maintain high standards to keep the codebase accessible for beginners.
- Doxygen documentation is mandatory for methods, namespaces and classes.
- Use comments only where absolutely necessary to explain complex logic.
- Format variables and similar using snake_case (like this: variable_name)
- Format files using snake_case (like this: file_name.cpp)
- Maintain the existing formatting and naming scheme(s) of the firmware (namespace paths, ...)
4. Content
- Only add new libraries if there is no other way, and only after consulting with the lead developer.
- NEVER modify core firmware principles, such as HALs, without prior approval from the lead developer.
- Only add things that aim to improve the experience of using this firmware, as it is unnecessary to add custom features that only benefit you to the full official firmware. Rather, you can keep those in a fork of the repo and ask me to add that fork to the README! ;)
Questions or Feedback?
Feel free to contact me via Discord! ;)