Skip to content

Latest commit

 

History

History
143 lines (104 loc) · 3.25 KB

File metadata and controls

143 lines (104 loc) · 3.25 KB

Contributing to Anno 117 Mod Manager

First off, thank you for considering contributing to Anno 117 Mod Manager! It's people like you that make this tool great for the entire Anno 117 community.

How Can I Contribute?

Reporting Bugs

Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:

Bug Report Template:

**Describe the bug**
A clear description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '...'
3. See error

**Expected behavior**
What you expected to happen.

**Screenshots**
If applicable, add screenshots.

**Environment:**
 - OS: [e.g. Windows 11, macOS 14, Ubuntu 22.04]
 - Python Version: [e.g. 3.11.5]
 - Mod Manager Version: [e.g. 1.0]

**Additional context**
Any other context about the problem.

Suggesting Features

Feature suggestions are welcome! Please provide:

  • Clear description of the feature
  • Use case - why would this be useful?
  • Examples - how would it work?
  • Mockups - if you have visual ideas

Pull Requests

  1. Fork the repo and create your branch from main
  2. Make your changes:
    • Follow existing code style
    • Add comments for complex logic
    • Test thoroughly
  3. Update documentation if needed
  4. Write clear commit messages
  5. Submit a pull request

Code Style Guidelines

  • Use 4 spaces for indentation (not tabs)
  • Follow PEP 8 for Python code
  • Use descriptive variable names
  • Add docstrings for functions
  • Keep functions focused and concise

Example:

def calculate_mod_priority(mod_name: str, load_order: List[str]) -> int:
    """
    Calculate the priority of a mod based on its position in load order.
    
    Args:
        mod_name: Name of the mod
        load_order: Current load order list
        
    Returns:
        Priority value (higher = loads first)
    """
    # Implementation here

Development Setup

# Clone your fork
git clone https://github.com/your-username/anno117-mod-manager.git
cd anno117-mod-manager

# Create a virtual environment (recommended)
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies
pip install -r requirements.txt

# Run the application
python anno117_mod_manager.py

Testing

Before submitting:

  1. Manual testing: Test your changes thoroughly
  2. Edge cases: Try unusual inputs
  3. Different platforms: If possible, test on Windows/macOS/Linux
  4. Error handling: Ensure errors are handled gracefully

Commit Messages

Write clear commit messages:

Good:
✅ "Fix conflict detection ignoring language files"
✅ "Add keyboard shortcut for backup manager (Ctrl+B)"
✅ "Improve empty state with helpful guidance"

Bad:
❌ "Fix bug"
❌ "Update"
❌ "Changes"

Community Guidelines

  • Be respectful and considerate
  • Be patient with reviewers
  • Accept feedback gracefully
  • Help others in discussions
  • Keep it professional

Questions?

Don't hesitate to ask questions in the issues section. We're here to help!

Recognition

Contributors will be:

  • Listed in the project README
  • Credited in release notes
  • Appreciated by the community!

Thank you for contributing! 🎉