First of all thank you for considering contributing to the project, however minimal. It's people like you that make main-fns such a great tool.
Following these guidelines helps to communicate that you respect the time of the developers managing and developing this open source project. In return, they should reciprocate that respect in addressing your issue, assessing changes, and helping you finalize your pull requests.
main-fns is an open source project and we love to receive contributions from our community — you! There are many ways to contribute, from writing tutorials or blog posts, improving the documentation, submitting bug reports and feature requests or writing code which can be incorporated into main-fns itself.
Please, don't use the issue tracker for support questions. Check the Discussions Q&A section can help with your issue. If your problem does not exist in this section feel free to create a discussion
Unsure where to begin contributing to main-fns? You can start by looking through the issues with the good first issue
tag.
To see how to build the project and how to develop it visit the HOW_TO_DEVELOP page
- Make sure that the code that enters the main branch passes the tests, the linter and the documentation has been generated (if necessary)
- If an external library is used, make sure to abstract through interfaces.
- Create new branch prefixed with
feature/
to add new features orfix/
to solve a bug - Do the changes in your branch with small commits and all necessary tests
- If you like the change and think the project could use it:
- Make sure the tests are successful.
- Make sure the linter passes.
- Make sure to generate the JSDoc documentation if necessary.
- Send a pull request with the completed base template indicating your change.
If you find a security vulnerability, do NOT open an issue. Email mailto:[email protected][] instead.
If you find any other type of bug you can fill in the issue template.
General questions should go to the Discussions Q&A section instead of the issue tracker.
If you find yourself wishing for a feature that doesn't exist in main-fns, you are probably not alone. There are bound to be others out there with similar needs. Many of the features that main-fns has today have been added because our users saw the need. Open an issue on our issues list on GitHub, fill the template which describes the feature you would like to see, and how it should work. If it turns out to be a very large functionality, it will be introduced in the roadmap and prioritized along with the rest of the objectives
Remember that you have the discussion section to provide ideas, resolve doubts or simply stay in touch with the main-fns community