Skip to main content

# Contribution Guidelines

### ✨ Contribution Guidelines for Snigdha OS​

Thank you for your interest in contributing to Snigdha OS! We’re excited to have you join our community. Contributions from users like you make Snigdha OS better, stronger, and more impactful. 💻💙

### 🚀 Getting Started​

Before contributing, please make sure to:

📜 Read Our Code of Conduct: By participating, you agree to uphold our Code of Conduct, ensuring a welcoming and respectful environment for everyone.

### 🌟 How Can You Contribute?​

There are many ways to make a difference! Choose what suits you best:

#### 🐞 Reporting Bugs​

Encountered a bug? Let us know by opening an issue on our issue tracker!

- Option 1: If you're unsure about the repository causing the bug, raise the issue on our universal issue tracker.
- Option 2: If you know the specific repository, raise the issue there.

👉 Be sure to include:

- Steps to reproduce the bug.
- Expected behavior vs. actual behavior.
- Screenshots, logs, or any additional information that might help us debug the issue.

#### 🌟 Requesting Features​

Got an idea to make Snigdha OS even better? Open a feature request issue on our issue tracker and let us know your vision! Your feedback is invaluable to shaping the future of Snigdha OS.

#### 👩‍💻 Code Contributions​

Want to contribute code? Follow these steps:
1️⃣ Fork the repository to your GitHub account. Learn how to fork a GitHub repository.
2️⃣ Clone the forked repository to your local machine. Learn how to clone a GitHub repository.
3️⃣ Create a New Branch for your changes. Learn how to create branches.
4️⃣ Make your changes and ensure they align with our coding standards.
5️⃣ Write tests to cover your changes (if applicable).
6️⃣ Run existing tests to ensure they still pass.
7️⃣ Commit your changes with clear, descriptive commit messages. Follow Conventional Commits.
8️⃣ Push your changes to your forked repository.
9️⃣ Open a pull request (PR) against the `master` branch of our repository. Learn how to open a PR.
🔟 Provide a clear description in your PR, explaining your changes and any context the reviewers should know.

#### 📚 Improving Documentation​

Clear documentation is key! If you find areas for improvement in our docs (typos, errors, missing details), submit a pull request with your suggested edits.

### 🎨 Code Standards​

To maintain a high-quality codebase, please:

- Follow the coding style guide for the project's language.
- Write clear, concise comments to explain your code.
- Add tests for new functionality.
- Ensure commits are atomic and focused on single logical changes.
- Use descriptive commit messages following the Conventional Commits format.
- Update documentation if your changes affect functionality.

### 🛠️ Code Review Process​

All contributions go through a review process to ensure quality and consistency:
1️⃣ Your pull request will be assigned to one or more reviewers.
2️⃣ Reviewers will provide feedback and may suggest changes.
3️⃣ You’ll need to address any feedback by updating your code.
4️⃣ Once your changes meet all standards, your PR will be merged into the main branch.

### 📜 Code of Conduct​

By contributing, you agree to abide by our Code of Conduct. This ensures that Snigdha OS remains a welcoming and inclusive space. Violations may result in rejection of contributions or removal from the project. Be kind, respectful, and supportive! 💕

### 💬 Need Help?​

We’re here to help you get started and make meaningful contributions! Reach out to us:
📧 Email: hello@snigdhaos.org

### ❤️ Join Us in Building Snigdha OS​

Your contributions—whether code, documentation, or ideas—are essential to our success. Together, let’s make Snigdha OS the best it can be. Thank you for being part of our journey! 🌟

> "Alone, we can do so little; together, we can do so much." – Helen Keller

Let’s create something amazing! 🚀✨