Thank you for your interest in contributing to SyncZ! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/jorgemunozl/syncZ.git - Create a feature branch:
git checkout -b feature-name - Make your changes
- Test your changes
- Commit with a descriptive message
- Push to your fork and create a pull request
- Python 3.6+
requestslibrary
# Clone the repository
git clone https://github.com/jorgemunozl/syncFilesDevicesLocal.git
cd syncFilesDevicesLocal
# Install dependencies
pip install -r requirements.txt
# Test the setup
python configure.py- Follow PEP 8 guidelines
- Use meaningful variable and function names
- Add comments for complex logic
- Keep functions focused and small
Before submitting a pull request:
- Test both server and client components
- Test with different file types and sizes
- Verify sync behavior with various scenarios:
- New files
- Modified files
- Deleted files
- Network interruptions
- Server starts without errors
- Client connects to server successfully
- Files sync in both directions
- Metadata is generated correctly
- File integrity is maintained (SHA256 verification)
- Modification times are preserved
- Deleted files are cleaned up
- Update documentation if needed
- Add/update tests for new functionality
- Ensure all tests pass
- Update CHANGELOG.md with your changes
- Create a pull request with:
- Clear description of changes
- References to related issues
- Testing performed
Use clear, descriptive commit messages:
- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit first line to 50 characters
- Reference issues and pull requests when applicable
Examples:
Add support for custom server ports
Fix file deletion sync bug
Update Termux installation instructions
When reporting bugs or requesting features:
- Search existing issues first
- Use issue templates when available
- Provide clear steps to reproduce
- Include system information:
- OS and version
- Python version
- Network configuration
- Error messages
We welcome feature requests! Please:
- Check if the feature already exists
- Explain the use case
- Describe the expected behavior
- Consider implementation complexity
- Be respectful and inclusive
- Focus on constructive feedback
- Help newcomers get started
- Maintain a welcoming environment
Feel free to open an issue for questions about:
- Using SyncZ
- Development setup
- Contributing process
- Technical details
Thank you for contributing to SyncZ!