# ✨ Contributing Guidelines  

We welcome all contributions, including pull requests, bug reports, and discussions. Thank you for helping improve **HESTIA Asynchronous Logger**!

## 📜 Code of Conduct  

Please review our [Code of Conduct](CODE_OF_CONDUCT.md). **All contributors are expected to follow it.** Any inappropriate behavior or violations will not be tolerated.  

## ❓ How to Get Help  

See our [Support Guide](SUPPORT.md). **Do not** use GitHub issues for general questions—ask on [Stack Overflow](https://stackoverflow.com) instead.  

## 🐞 Bug Reports & Issues  


### 🏁 DO 

✅ **Check the documentation & Support Guide** before opening an issue.  

✅ **Search existing issues** to avoid duplicates.  

✅ **Provide clear details**—steps to reproduce, error logs, expected vs. actual behavior.  

✅ **Use Markdown formatting** (wrap code in triple backticks ` ``` `).  


### ⛔ DON'T 

❌ Open duplicate issues.

❌ Comment "+1"—use GitHub reactions instead.  


## 💡 Feature Requests  

- Clearly describe the problem your feature solves.  
- Explain why it's useful for others.  
- If possible, outline a potential implementation.  
- **Avoid feature creep**—we prioritize core functionality.  

## 🚀 Submitting Pull Requests  

Before submitting a PR:  

✔ **Open an issue first** (for large changes).  

✔ **Keep PRs small**—one bug fix or feature per PR.  

✔ **Follow existing coding styles**.  

✔ **Include tests and update documentation** if necessary.  

✔ **Ensure CI checks pass before requesting review**.  


### 🔄 PR Workflow  

| Step                 | Action Required |
|----------------------|----------------|
| 📝 Open Issue       | Discuss the problem/feature first. |
| 🏗️ Fork & Code    | Follow project structure, add tests. |
| 📑 Create PR       | Provide a **clear description**. |
| 🔍 Code Review     | Address comments & improve PR. |
| ✅ Merge & Release | After approval, maintainers merge it. |


### 📝 Writing Commit Messages  

**Follow these commit message rules:**  

✔ **Use the imperative mood** → ("Fix crash", **not** "Fixed crash").  
✔ **Keep subject under 50 chars**, and wrap body at 72 chars.  
✔ **Explain _why_ the change is needed**, not just what it does.  
✔ **Prefix relevant component** → (e.g., `[docs]`, `[handler]`, `[decorator]`).  

Example:  
```bash
[auth] Fix JWT token expiration issue

Updated the expiration logic to ensure tokens expire after 15 minutes.
Fixed bug where revoked tokens could still be used.
Resolves: #123
```

## 🏅 Certificate of Origin

*Developer's Certificate of Origin 1.1*

By making a contribution to this project, I certify that:

1. The contribution was created in whole or in part by me and I have the right to submit it under the open-source license indicated in the file; or
2. The contribution is based upon previous work that, to the best of my knowledge, is covered under an appropriate open-source license, and I have the right under that license to submit that work with modifications, whether created in whole or in part by me, under the same open-source license (unless I am permitted to submit under a different license), as indicated in the file; or
3. The contribution was provided directly to me by some other person who certified (1), (2), or (3), and I have not modified it.
4. I understand and agree that this project and the contribution are public and that a record of the contribution (including all personal information I submit with it, including my sign-off) is maintained indefinitely and may be redistributed consistently with this project or the open-source license(s) involved.

## 📌 Summary

🎯 Report bugs & feature requests properly.

🚀 Follow PR & coding guidelines.

✍ Write clear commit messages.

📜 Respect the Code of Conduct.

---

🙌 Thank you for contributing to **HESTIA Asynchronous Logger**!