--- sidebar_position: 7 --- # Contribution Guidelines Thank you for considering contributing to **Snigdha OS**! We welcome contributions from everyone. ## Getting Started Before contributing, please ensure you have read and understood our [Code of Conduct](https://snigdhaos.org/documentation/introduction/code_of_conduct). By participating, you are expected to uphold this code. ## How Can You Contribute? There are several ways you can contribute to **Snigdha OS**: เชœโ€โžด **Reporting Bugs**: If you encounter a bug, please open an issue on our issue tracker. Be sure to include details such as steps to reproduce, expected behavior, and actual behavior. Bugs can be reported in two ways. - ๐Ÿ‘‰ If you don't know which repository is having the bug, then raise issue on our universal issue tracker. **[SNIGDHAOS ISSUES](https://github.com/Snigdha-OS/snigdhaos-issues/issues/new/choose)** - ๐Ÿ‘‰ If you know the specefic repository name, then raise the issue on the specific repository. เชœโ€โžด **Requesting Features**: If you have a feature request or an idea for improving the project, please open an issue on our issue tracker. We welcome your suggestions and feedback. เชœโ€โžด **Code Contributions**: We welcome code contributions via pull requests (PRs). Here are the steps to contribute code: - ๐Ÿ‘‰ Fork the repository to your GitHub account. Read [How to fork a github repository?](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) - ๐Ÿ‘‰ Clone the forked repository to your local machine. Read [how to clone a github repository in my local machine?](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) - ๐Ÿ‘‰ Create a new branch for your feature or bug fix. Read [how to create new branch on forked repository?](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository) - ๐Ÿ‘‰ Make your changes and ensure they follow our [coding standards](/introduction/coding-standard). - ๐Ÿ‘‰ Write tests to cover your changes if applicable. - ๐Ÿ‘‰ Run existing tests and ensure they pass with your changes. - ๐Ÿ‘‰ Commit your changes with clear and descriptive commit messages. - ๐Ÿ‘‰ Push your changes to your forked repository. - ๐Ÿ‘‰ Open a pull request against the `master` branch of our repository. Read [how to open a pull request on github](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request) - ๐Ÿ‘‰ Provide a clear description of your changes in the pull request, including any relevant information for reviewers. เชœโ€โžด **Documentation Contributions**: Improving documentation is also a valuable contribution. If you find errors or areas that need clarification, please submit a pull request with your proposed changes. ## Code Standards When contributing code, please adhere to the following standards: - ๐Ÿ‘‰ Follow the style guide for the programming language used in the project. - ๐Ÿ‘‰ Write clear, concise, and descriptive code comments. - ๐Ÿ‘‰ Ensure your code is well-tested, and add tests for any new functionality. - ๐Ÿ‘‰ Keep your commits atomic and focused on a single logical change. - ๐Ÿ‘‰ Use clear and descriptive commit messages following the [Conventional Commits](https://www.conventionalcommits.org/) format. - ๐Ÿ‘‰ If your change requires updating documentation, please include those updates in your pull request. ## Code Review Process All code contributions will go through a review process before being merged. Here's what to expect during the review process: - ๐Ÿ‘‰ Your pull request will be assigned to one or more reviewers. - ๐Ÿ‘‰ Reviewers will provide feedback and suggest changes if necessary. - ๐Ÿ‘‰ You may need to address the feedback by making additional changes to your code. - ๐Ÿ‘‰ Once all feedback has been addressed, and the code meets our standards, it will be merged into the main repository. ## Code of Conduct Please note that by contributing to **Snigdha OS**, you are agreeing to abide by our [Code of Conduct](/introduction/code_of_conduct). Any violations of the code of conduct will not be tolerated and may result in your contributions being rejected or your participation in the project being revoked. ## Need Help? If you have any questions or need assistance with contributing, feel free to reach out to us via: - [Email: hello@snigdhaos.org](mailto:hello@snigdhaos.org) - [Forum](https://forum.snigdhaos.org)