Thank you for your interest in contributing to MirrorCloneFX! We welcome contributions from everyone.
Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed and explain what you expected to see instead
- Include screenshots or videos if applicable
- Include your environment details: OS, Python version, camera type
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the suggested enhancement
- Explain why this enhancement would be useful to most users
- Include mockups or examples if applicable
- Fork the repository on GitHub
- Clone your fork locally
- Create a new branch from
mainfor your feature/fix - Make your changes with appropriate tests
- Test your changes thoroughly
- Commit with clear, descriptive messages
- Push to your fork
- Create a Pull Request
# Clone your fork
git clone https://github.com/YOUR-USERNAME/MirrorCloneFX.git
cd MirrorCloneFX
# Install dependencies
pip install -r requirements.txt
# Create a new branch
git checkout -b feature-or-fix-name- Follow PEP 8 Python style guidelines
- Use meaningful variable and function names
- Add docstrings for functions and classes
- Include comments for complex logic
- Keep functions focused and reasonably sized
- Ensure Python 3.7+ compatibility
- Test your changes on multiple platforms if possible
- Verify camera functionality with different webcam types
- Test gesture recognition in various lighting conditions
- Check performance with your changes
- Ensure no regressions in existing functionality
When adding new visual effects:
- Create a new method in the
MirrorCloneFXclass - Follow the existing pattern for effect methods
- Add proper documentation explaining the effect
- Update the gesture mapping if needed
- Test thoroughly with different inputs
- Update the README with the new effect information
Example structure:
def create_new_effect(self, frame, landmarks=None):
"""
Create a new visual effect.
Args:
frame: Input video frame
landmarks: Hand landmarks (if needed)
Returns:
Processed frame with the new effect
"""
# Your implementation here
return processed_frame- Test your changes thoroughly
- Update documentation if needed
- Ensure code follows style guidelines
- Check that all files have appropriate headers
- Verify no sensitive information is included
Use this template for your pull request:
## Description
Brief description of changes made.
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
Describe how you tested your changes.
## Screenshots/Videos
Include if applicable.
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Documentation updated
- [ ] No new warnings introduced- Maintainers will review your pull request
- Address feedback promptly and professionally
- Be patient - reviews take time
- Ask questions if feedback is unclear
- Update your branch if requested
- Use welcoming and inclusive language
- Respect different viewpoints and experiences
- Accept constructive criticism gracefully
- Focus on what's best for the community
- Be clear and concise in your communication
- Provide context for your suggestions or issues
- Ask questions if something is unclear
- Help others when you can
Contributors will be recognized in the following ways:
- Listed in README acknowledgments
- Mentioned in release notes for significant contributions
- Referenced in commit messages and pull requests
If you need help:
- Check existing issues and documentation first
- Create a new issue with the "question" label
- Be specific about what you need help with
- Provide context about what you're trying to achieve
By contributing to MirrorCloneFX, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing to MirrorCloneFX!