# Contributing to SDaaS Rust SDK
Thank you for your interest in contributing to the SDaaS Rust SDK! We welcome contributions of all kinds.
## Ways to Contribute
- ๐ Report bugs
- ๐ก Suggest features
- ๐ Improve documentation
- ๐งช Add tests
- ๐ง Submit pull requests
## Development Setup
### Prerequisites
- Rust 1.70+ (latest stable recommended)
- Cargo
- Git
### Getting Started
1. Fork and clone the repository:
```bash
git clone https://github.com/Jelco3d/saas-core.git
cd sdaas-rs
```
2. Build the project:
```bash
cargo build
```
3. Run tests:
```bash
cargo test
```
4. Run examples:
```bash
cargo run --example basic
cargo run --example validation
```
5. Check code style:
```bash
cargo fmt --check
cargo clippy
```
## Guidelines
### Code Style
- Follow the [Rust Style Guide](https://doc.rust-lang.org/1.0.0/style/)
- Run `cargo fmt` before committing
- Fix clippy warnings: `cargo clippy`
### Documentation
- Add doc comments to all public items
- Include examples in doc comments
- Update README.md for user-facing changes
- Update CHANGELOG.md for all changes
### Commit Messages
- Use clear, descriptive messages
- Start with a verb: "Add", "Fix", "Update", "Remove"
- Reference issues when applicable: "Fix #123"
### Pull Requests
- Create a branch for your feature: `git checkout -b feature/my-feature`
- Commit your changes: `git commit -am 'Add my feature'`
- Push to the branch: `git push origin feature/my-feature`
- Submit a pull request with a clear description
## License
By contributing, you agree that your contributions will be licensed under the MIT License.
## Questions?
Feel free to open an issue or discussion if you have questions!