We are open to, and grateful for, any contributions made by the community. By contributing to Modular, you agree to abide by the code of conduct.
Before opening an issue, please search the issue tracker to make sure your issue hasn't already been reported.
We use the issue tracker to keep track of bugs and improvements to Modular itself, its examples, and the documentation. We encourage you to open issues to discuss improvements, architecture, theory, internal implementation, etc. If a topic has been discussed before, we will ask you to join the previous discussion.
When raising an issue to discuss, it is a good idea to structure your code and question in a way that is easy to read to entice people to answer it. For example, we encourage you to use syntax highlighting, indentation, and split text in paragraphs.
Visit the issue tracker to find a list of open issues that need attention.
Fork, then clone the repo:
git clone https://github.com/your-username/modular.git
Running the build
yarn build
Due to the parallization of tasks within the modular test suite tests must be
run in a single process and can't be parallized. This setup is handled in the
test
command via
yarn test
TBC
For non-trivial changes, please open an issue with a proposal for a new feature or refactoring before starting on the work. We don't want you to waste your efforts on a pull request that we won't want to accept.
On the other hand, sometimes the best way to start a conversation is to send a pull request. Use your best judgement!
In general, the contribution workflow looks like this:
- Open a new issue in the Issue tracker.
- Fork the repo.
- Create a new feature branch based off the
main
branch. - Make sure all tests pass and there are no linting errors.
- Submit a pull request, referencing any issues it addresses.
Please try to keep your pull request focused in scope and avoid including unrelated commits.
After you have submitted your pull request, we'll try to get back to you as soon as possible. We may suggest some changes or improvements.
Thank you for contributing!