Skip to content

Contributing

Stephen Cox edited this page Dec 10, 2025 · 4 revisions

13. Contributing

We welcome contributions to qBittorrent Automation!

13.1 How to Contribute

  1. Fork the repository on GitHub
  2. Create a feature branch:
    git checkout -b feature/my-new-feature
  3. Make your changes with clear commit messages:
    git commit -m "feat: Add custom operator for field comparison"
  4. Test your changes:
    python -m py_compile lib/*.py triggers/*.py
    python triggers/manual.py --dry-run
  5. Push to your fork:
    git push origin feature/my-new-feature
  6. Create a Pull Request with description of changes

13.2 Code Style

  • Follow PEP 8 style guide
  • Use descriptive variable names
  • Add docstrings to functions
  • Keep functions focused and modular

13.3 Testing

Before submitting PR:

# Validate Python syntax
python -m py_compile lib/*.py triggers/*.py

# Test imports
python -c "from lib.api import QBittorrentAPI"
python -c "from lib.engine import RulesEngine"

# Validate example configs
python -c "import yaml; yaml.safe_load(open('config/rules.example.yml'))"

# Run with dry-run
python triggers/manual.py --dry-run

13.4 Reporting Issues

When reporting bugs, include:

  1. Environment details:

    • Python version
    • qBittorrent version
    • Operating system
  2. Configuration:

    • Sanitized config.yml (remove credentials!)
    • Relevant rules from rules.yml
  3. Error output:

    • Full error message
    • Traceback if applicable
    • Logs with --trace flag
  4. Steps to reproduce

🎯 qbt-rules

v0.3.0 | GitHub


📚 Getting Started

📖 Core Concepts

🔧 Configuration

🆘 Help & Support

🤝 Contributing


🆕 What's New (v0.3.0)

  • ✅ Unified CLI (qbt-rules)
  • ✅ Custom triggers
  • ✅ Trigger-agnostic mode
  • ✅ Size operators (50GB)

🔗 Quick Links

Clone this wiki locally