We would love for you to contribute to MiniThread and help make it even better than it is today! As a contributor, here are the guidelines we would like you to follow.
Code of Conduct
Help us keep MiniThread open and inclusive. Please read and follow our Code of Conduct.
Bugs
If you find a bug in the source code, you can help us by submitting a GitHub Issue. The best bug reports provide a detailed description of the issue and step-by-step instructions for predictably reproducing the issue. Even better, you can submit a Pull Request with a fix.
New Features
You can request a new feature by submitting a GitHub Issue.
If you would like to implement a new feature, please consider the scope of the new feature:
- Large feature: first submit a GitHub Issue and communicate your proposal so that the community can review and provide feedback. Getting early feedback will help ensure your implementation work is accepted by the community. This will also allow us to better coordinate our efforts and minimize duplicated effort.
- Small feature: can be implemented and directly submitted as a Pull Request.
Contributing Code
The MiniThread Project follows the "Fork-and-Pull" model for accepting contributions.
Initial Setup
Setup your GitHub fork and continuous-integration services:
- Fork the MiniThread repository by clicking "Fork" on the web UI.
Setup your local development environment:
Submitting a Pull Request
Branch
For each new feature, create a working branch:
Create Commits
This will open up a text editor where you can craft your commit message.
Upstream Sync and Clean Up
Prior to submitting your pull request, you might want to do a few things to clean up your branch and make it as simple as possible for the original repo's maintainer to test, accept, and merge your work.
If any commits have been made to the upstream main branch, you should rebase your development branch so that merging it will be a simple fast-forward that won't require any conflict resolution work.
Now, it may be desirable to squash some of your smaller commits down into a small number of larger more cohesive commits. You can do this with an interactive rebase:
This will open up a text editor where you can specify which commits to squash.
Coding Conventions and Style
MiniThread uses and enforces the Coding Conventions and Style on all code. MiniThread currently requires platform-io for building, testing and uplaod the firmware on the device
Push and Test
Submit Pull Request
Once you've validated that all continuous-integration checks have passed, go to the page for your fork on GitHub, select your development branch, and click the pull request button. If you need to make any adjustments to your pull request, just push the updates to GitHub. Your pull request will automatically track the changes on your development branch and update.
Contributing Documentation
Documentation undergoes the same review process as code and contributions may be mirrored on our https://roseleblood.github.io/mnthread-docs/ website. See the Documentation Style Guide for more information on how to author and format documentation for contribution.