Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/yourusername/MobileAgent-Virtual-Runner.git - Create a branch:
git checkout -b feature/your-feature-name - Make your changes
- Test your changes
- Commit:
git commit -m "Add your feature" - Push:
git push origin feature/your-feature-name - Create a Pull Request
# Clone the repository
git clone https://github.com/yourusername/MobileAgent-Virtual-Runner.git
cd MobileAgent-Virtual-Runner
# Run setup
./setup.sh
# Activate virtual environment
source venv/bin/activate
# Install development dependencies
pip install pytest black flake8 mypy- Follow PEP 8 guidelines
- Use type hints where appropriate
- Write docstrings for functions and classes
- Keep functions focused and concise
We use black for code formatting:
black .Check code quality with flake8:
flake8 --max-line-length=100 .Run tests before submitting:
pytest tests/Add tests for new features:
# tests/test_your_feature.py
def test_your_feature():
# Test implementation
assert True- Update README.md for user-facing changes
- Add docstrings for new functions/classes
- Update examples/ for new features
- Keep comments clear and concise
Use clear commit messages:
- ✨
feat: Add new social task category - 🐛
fix: Resolve API timeout issue - 📝
docs: Update installation guide - ♻️
refactor: Simplify task creation logic - ✅
test: Add tests for virtual environment - 🔧
chore: Update dependencies
- Update documentation for any user-facing changes
- Add tests for new functionality
- Ensure all tests pass
- Update CHANGELOG.md (if exists)
- Request review from maintainers
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
How was this tested?
## Checklist
- [ ] Code follows style guidelines
- [ ] Self-review completed
- [ ] Comments added for complex code
- [ ] Documentation updated
- [ ] Tests added/updated
- [ ] All tests pass- Additional task definitions
- Performance optimizations
- Error handling improvements
- Documentation improvements
- Web UI for task management
- Task scheduling system
- Result visualization dashboard
- Integration with more LLM models
- Multi-language support
When reporting bugs, include:
-
Environment:
- OS and version
- Python version
- Dependency versions
-
Steps to reproduce:
- Exact commands run
- Configuration used
-
Expected behavior:
- What should happen
-
Actual behavior:
- What actually happened
- Error messages
- Logs
-
Additional context:
- Screenshots
- Related issues
- Be constructive and respectful
- Focus on code quality and maintainability
- Ask questions rather than making demands
- Approve when ready, request changes if needed
- Respond to feedback promptly
- Be open to suggestions
- Explain your design decisions
- Update based on feedback
- Be respectful and inclusive
- Help others when possible
- Share knowledge and experiences
- Follow the code of conduct
- Open an issue for questions
- Check existing issues first
- Tag appropriately (
question,help-wanted, etc.)
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing! 🎉