Thank you for considering contributing to 🧲 Magnet! Without you, this project wouldn't be possible. We tried to make this file as short as possible, so you can get started as quickly as possible. If you have any questions, feel free to open an issue or ask in discussions.
Not sure what the first steps are? You can start by going through good first issues, help-wanted issues or even fixing a typo in the documentation! No contribution is too small.
We use Angular's commit message guidelines. Please make sure to follow them when writing commit messages.
We have yet to develop a code style guide. For now, please try to follow the style of the existing code. Key points:
- Tabs for indentation
- Member variables are prefixed with
m_
- Functions and files are named in
PascalCase
- Local variables are named in
camelCase
- Namespaces and macros are named in
UPPER_CASE
{}
on new lines (with some exceptions)
We are always open to new ideas! But first, please ask yourself these questions:
- Is this feature not yet requested/implemented?
- Does it not require the user to learn additional concepts (that are specific to Magnet)?
- Can this feature be implemented on top of existing solutions?
- Does it simplify the developer experience and every-day tasks?
- Does it fit the scope of the project?
- Most importantly: Does it align with Magnet's mission and philosophy?
If you answered all of these questions with "yes", then feel free to open a feature request!
Before opening a new issue, please make sure to search for existing issues (both open and closed) to see if your bug has already been reported. If it has, you can add a comment to the existing issue instead of opening a new one.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.