Skip to content

Latest commit

 

History

History
194 lines (141 loc) · 3.87 KB

File metadata and controls

194 lines (141 loc) · 3.87 KB

Contributing to Mobile-Agent-v3 Virtual Runner

Thank you for your interest in contributing! This document provides guidelines for contributing to the project.

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/yourusername/MobileAgent-Virtual-Runner.git
  3. Create a branch: git checkout -b feature/your-feature-name
  4. Make your changes
  5. Test your changes
  6. Commit: git commit -m "Add your feature"
  7. Push: git push origin feature/your-feature-name
  8. Create a Pull Request

Development Setup

# 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

Code Style

  • Follow PEP 8 guidelines
  • Use type hints where appropriate
  • Write docstrings for functions and classes
  • Keep functions focused and concise

Formatting

We use black for code formatting:

black .

Linting

Check code quality with flake8:

flake8 --max-line-length=100 .

Testing

Run tests before submitting:

pytest tests/

Add tests for new features:

# tests/test_your_feature.py
def test_your_feature():
    # Test implementation
    assert True

Documentation

  • Update README.md for user-facing changes
  • Add docstrings for new functions/classes
  • Update examples/ for new features
  • Keep comments clear and concise

Commit Messages

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

Pull Request Process

  1. Update documentation for any user-facing changes
  2. Add tests for new functionality
  3. Ensure all tests pass
  4. Update CHANGELOG.md (if exists)
  5. Request review from maintainers

PR Template

## 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

Areas for Contribution

High Priority

  • Additional task definitions
  • Performance optimizations
  • Error handling improvements
  • Documentation improvements

Feature Ideas

  • Web UI for task management
  • Task scheduling system
  • Result visualization dashboard
  • Integration with more LLM models
  • Multi-language support

Bug Reports

When reporting bugs, include:

  1. Environment:

    • OS and version
    • Python version
    • Dependency versions
  2. Steps to reproduce:

    • Exact commands run
    • Configuration used
  3. Expected behavior:

    • What should happen
  4. Actual behavior:

    • What actually happened
    • Error messages
    • Logs
  5. Additional context:

    • Screenshots
    • Related issues

Code Review Guidelines

For Reviewers

  • Be constructive and respectful
  • Focus on code quality and maintainability
  • Ask questions rather than making demands
  • Approve when ready, request changes if needed

For Contributors

  • Respond to feedback promptly
  • Be open to suggestions
  • Explain your design decisions
  • Update based on feedback

Community

  • Be respectful and inclusive
  • Help others when possible
  • Share knowledge and experiences
  • Follow the code of conduct

Questions?

  • Open an issue for questions
  • Check existing issues first
  • Tag appropriately (question, help-wanted, etc.)

License

By contributing, you agree that your contributions will be licensed under the MIT License.

Thank you for contributing! 🎉