Thank you for considering contributing to The Physics Hub! 👍 The Physics Hub is an open source project, maintained by people who care. Aiming to create clear and easy to understand physics simulations for everyone, free of charge.😊
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.
There are several ways you can contribute to this project. If you want to know more about why and how to contribute to open source projects like this one, see this Open Source Guide.
Think our_package is useful? Let others discover it, by telling them in person, via Twitter or a blog post.
Using The Physics Hub and have a problem? Browse the website to see if you can come up with a solution. Still stuck? Post your question as an issue on GitHub. We'll try to do our best to come up with solutions to the problem.
Want to ask a question in private? Contact the project maintainers by [email protected].
Have an idea for a new simulation? Take a look at the website and issue list to see if it isn't included or suggested yet. If not, suggest your idea as an issue on GitHub. It helps to:
- Explain in detail how it would work.
- Keep the scope as narrow as possible.
See below if you want to contribute code for your idea as well.
Using our simulations and discovered a bug? That's annoying! Don't let others have the same experience and report it as an issue on GitHub so we can fix it. A good bug report makes it easier for us to do so, so please include:
- Detailed steps to reproduce the bug.
Noticed a typo on the website? Think a simulation could use a better explanation? Good documentation makes all the difference, so your help to improve it is very welcome!
Care to fix bugs or implement new simulations for The Physics Hub? Awesome! 👏 Have a look at the issue list and leave a comment on the things you want to work on. See also the development guidelines below.
We try to follow the GitHub flow for development.
- Fork this repo and clone it to your computer. To learn more about this process, see this guide.
- If you have forked and cloned the project before and it has been a while since you worked on it, pull changes from the original repo to your clone by using
git pull upstream master
. - Make your changes:
- Write your code.
- Test your code (bonus points for adding unit tests).
- Document your code (see function documentation above).
- Commit and push your changes.
- Submit a pull request.