Contributing
Welcome to the SyntheticData contributor guide.
Overview
SyntheticData is an open-source project and we welcome contributions from the community. This section covers everything you need to know to contribute effectively.
Ways to Contribute
Code Contributions
- Bug fixes: Fix issues reported in the GitHub issue tracker
- New features: Implement new generators, output formats, or analysis tools
- Performance improvements: Optimize generation speed or memory usage
- Documentation: Improve or expand the documentation
Non-Code Contributions
- Bug reports: Report issues with detailed reproduction steps
- Feature requests: Suggest new features or improvements
- Documentation feedback: Point out unclear or missing documentation
- Testing: Test pre-release versions and report issues
Quick Start
# Fork and clone the repository
git clone https://github.com/YOUR_USERNAME/SyntheticData.git
cd SyntheticData
# Create a feature branch
git checkout -b feature/my-feature
# Make your changes and run tests
cargo test
# Submit a pull request
Contribution Guidelines
Before You Start
- Check existing issues: Look for related issues or discussions
- Open an issue first: For significant changes, discuss before implementing
- Follow code style: Run
cargo fmtandcargo clippy - Write tests: All new features need test coverage
- Update documentation: Keep docs in sync with code changes
Code of Conduct
We are committed to providing a welcoming and inclusive environment. Please:
- Be respectful and constructive in discussions
- Focus on the technical merits of contributions
- Help newcomers learn and contribute
- Report unacceptable behavior to the maintainers
Getting Help
- GitHub Issues: For bugs and feature requests
- GitHub Discussions: For questions and general discussion
- Pull Request Reviews: For feedback on your contributions
In This Section
| Page | Description |
|---|---|
| Development Setup | Set up your development environment |
| Code Style | Coding standards and conventions |
| Testing | Testing guidelines and practices |
| Pull Requests | PR submission and review process |
License
By contributing to SyntheticData, you agree that your contributions will be licensed under the project’s MIT License.