---
sidebar_position: 7
---

# Code 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**:

1. **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.
   
2. **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.

3. **Code Contributions**: We welcome code contributions via pull requests (PRs). Here are the steps to contribute code:

    a. Fork the repository to your GitHub account.
    
    b. Clone the forked repository to your local machine.
    
    c. Create a new branch for your feature or bug fix.
    
    d. Make your changes and ensure they follow our coding standards.
    
    e. Write tests to cover your changes if applicable.
    
    f. Run existing tests and ensure they pass with your changes.
    
    g. Commit your changes with clear and descriptive commit messages.
    
    h. Push your changes to your forked repository.
    
    i. Open a pull request against the `main` branch of our repository.
    
    j. Provide a clear description of your changes in the pull request, including any relevant information for reviewers.

4. **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:

1. Your pull request will be assigned to one or more reviewers.
2. Reviewers will provide feedback and suggest changes if necessary.
3. You may need to address the feedback by making additional changes to your code.
4. 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. 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/issue tracker/discussion forum/etc.].
