# Contributing to Garage SDK
Thank you for your interest in contributing!
## Development Setup
1. Clone the repository:
```bash
git clone https://github.com/bonifacekabaso/garage-sdk.git
cd garage-sdk
```
2. Install Rust (1.75 or later):
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```
3. Run tests:
```bash
cargo test
```
4. Run lints:
```bash
cargo fmt --check
cargo clippy --all-features -- -D warnings
```
## Pull Request Process
1. Fork the repository
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
3. Make your changes
4. Ensure tests pass (`cargo test`)
5. Ensure code is formatted (`cargo fmt`)
6. Ensure clippy passes (`cargo clippy -- -D warnings`)
7. Update CHANGELOG.md under `[Unreleased]`
8. Commit your changes (`git commit -m 'Add amazing feature'`)
9. Push to your fork (`git push origin feature/amazing-feature`)
10. Open a Pull Request
## Release Process
Releases are done via GitHub Actions. See [RELEASING.md](docs/release_guide.md) for details.
## Code of Conduct
- Be respectful and inclusive
- Focus on constructive feedback
- Help others learn and grow
## License
By contributing, you agree that your contributions will be licensed under the MIT OR Apache-2.0 license.