# Contributing to lumen-rag
First off, thank you for considering contributing! 🎉 Your help is what makes this project better for everyone.
We welcome contributions of all kinds: bug reports, feature requests, code improvements, documentation fixes, or examples.
## Table of Contents
* [How to Contribute](#how-to-contribute)
* [Code of Conduct](#code-of-conduct)
* [Setting Up the Development Environment](#setting-up-the-development-environment)
* [Making Changes](#making-changes)
* [Submitting Pull Requests](#submitting-pull-requests)
* [Reporting Issues](#reporting-issues)
---
## How to Contribute
There are several ways you can contribute:
* **Report bugs or issues**: Use the [issues page](https://github.com/Maki-Grz/lumen-rag/issues).
* **Suggest new features**: Open an issue or submit a pull request with your proposal.
* **Improve documentation**: Fix typos, add examples, or clarify explanations.
* **Fix bugs or implement features**: Fork the repository and submit a pull request.
---
## Code of Conduct
By participating, you agree to follow the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md). Please be respectful, inclusive, and collaborative.
---
## Setting Up the Development Environment
1. **Clone the repository:**
```bash
git clone https://github.com/Maki-Grz/lumen-rag.git
cd lumen-rag
```
2. **Install Rust (if not installed):**
[https://www.rust-lang.org/tools/install](https://www.rust-lang.org/tools/install)
3. **Run tests to make sure everything works:**
```bash
cargo test
```
---
## Making Changes
1. Create a new branch for your changes:
```bash
git checkout -b feature/my-new-feature
```
2. Make your changes in the code or documentation.
3. Ensure your code is formatted and passes clippy checks:
```bash
cargo fmt
cargo clippy
```
4. Run tests locally:
```bash
cargo test
```
---
## Submitting Pull Requests
1. Push your branch to your fork:
```bash
git push origin feature/my-new-feature
```
2. Open a pull request on the main repository.
3. Include a clear description of what your PR does and why. Reference any related issues.
4. Be responsive to review comments so we can merge faster.
---
## Reporting Issues
When reporting a bug, please include:
* A clear **description** of the problem
* Steps to **reproduce** the issue
* **Expected vs actual behavior**
* Any relevant **logs or error messages**
Use [GitHub issues](https://github.com/Maki-Grz/lumen-rag/issues) for reporting.
---
## Tips for Contributors
* Keep pull requests **focused** and **atomic** (one feature/bug per PR).
* Write **descriptive commit messages**.
* Test your changes before submitting.
---
Thank you for helping improve **lumen-rag**! Your contributions make a difference. 🚀