Skip to content

Latest commit

 

History

History
139 lines (105 loc) · 3.26 KB

File metadata and controls

139 lines (105 loc) · 3.26 KB

Contributing to Luther's Golden Algorithm

Thank you for your interest in contributing to Luther's Golden Algorithm! This document provides guidelines and information for contributors.

🚀 Getting Started

Prerequisites

  • Python 3.8 or higher
  • Git
  • Virtual environment (recommended)

Development Setup

  1. Clone the repository

    git clone https://github.com/yourusername/luthers-golden-algorithm.git
    cd luthers-golden-algorithm
  2. Create virtual environment

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
  3. Install dependencies

    pip install -r requirements.txt
    pip install -e .[dev]  # Install development dependencies
  4. Run tests

    python -m pytest test_luthers_algorithm.py -v

📝 Development Guidelines

Code Style

  • Follow PEP 8 style guidelines
  • Use type hints for function parameters and return values
  • Write comprehensive docstrings
  • Keep functions focused and modular

Testing

  • Write unit tests for all new features
  • Maintain test coverage above 90%
  • Test edge cases and error conditions
  • Run tests before submitting PR

Commit Messages

  • Use clear, descriptive commit messages
  • Start with a verb (Add, Fix, Update, etc.)
  • Reference issue numbers when applicable

🔧 Development Workflow

  1. Create a feature branch

    git checkout -b feature/your-feature-name
  2. Make your changes

    • Write clean, well-documented code
    • Add tests for new functionality
    • Update documentation if needed
  3. Run quality checks

    # Run tests
    python -m pytest
    
    # Check code style
    black .
    flake8 .
    
    # Type checking
    mypy luthers_algorithm.py
  4. Commit your changes

    git add .
    git commit -m "Add: Brief description of your changes"
  5. Push and create pull request

    git push origin feature/your-feature-name

🐛 Reporting Issues

Bug Reports

When reporting bugs, please include:

  • Python version
  • Operating system
  • Steps to reproduce
  • Expected vs actual behavior
  • Error messages and stack traces

Feature Requests

For feature requests, please:

  • Describe the problem you're trying to solve
  • Explain why the current solution isn't sufficient
  • Provide examples of how you'd like to use the feature

📚 Documentation

  • Update README.md for any user-facing changes
  • Add docstrings to all public functions
  • Update examples if new features are added
  • Keep API documentation current

🔒 Security Considerations

  • Never commit sensitive information
  • Be careful with cryptographic implementations
  • Report security issues privately first
  • Follow secure coding practices

📞 Getting Help

  • Check existing issues and documentation first
  • Use GitHub Discussions for questions
  • Join our community chat (if available)

🙏 Code of Conduct

  • Be respectful and inclusive
  • Focus on constructive feedback
  • Help newcomers learn and contribute
  • Maintain professional communication

📄 License

By contributing to this project, you agree that your contributions will be licensed under the same MIT License that covers the project.

Thank you for contributing to Luther's Golden Algorithm! 🏆