Contributing¶
We welcome contributions from the community. Here's how to get started.
Development Setup¶
git clone https://git.example.com/cloudsync/cloudsync-sdk.git
cd cloudsync-sdk
python -m venv venv
source venv/bin/activate
pip install -e ".[dev]"
Running Tests¶
# Unit tests
pytest tests/unit -v
# Integration tests (requires running relay server)
pytest tests/integration -v
# Full suite with coverage
pytest --cov=cloudsync --cov-report=html
Code Style¶
We use ruff for linting and formatting:
Pull Request Process¶
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Write tests for your changes
- Ensure all tests pass and coverage doesn't decrease
- Update documentation if needed
- Submit a PR against the
mainbranch
Commit Convention¶
We follow Conventional Commits:
feat: add support for MQTT transport
fix: resolve reconnection loop on timeout
docs: update quickstart guide
refactor: simplify conflict resolution logic
test: add tests for scoped tokens
chore: update dependencies
Reporting Issues¶
Open an issue on our issue tracker with:
- SDK version (
python -c "import cloudsync; print(cloudsync.__version__)") - Python version
- Operating system
- Minimal reproducible example
- Full error traceback
Code of Conduct¶
This project follows the Contributor Covenant Code of Conduct. Be respectful and constructive.
Next: Changelog →