Thank you for your interest in contributing to Luther's Golden Algorithm! This document provides guidelines and information for contributors.
- Python 3.8 or higher
- Git
- Virtual environment (recommended)
-
Clone the repository
git clone https://github.com/yourusername/luthers-golden-algorithm.git cd luthers-golden-algorithm -
Create virtual environment
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt pip install -e .[dev] # Install development dependencies -
Run tests
python -m pytest test_luthers_algorithm.py -v
- Follow PEP 8 style guidelines
- Use type hints for function parameters and return values
- Write comprehensive docstrings
- Keep functions focused and modular
- Write unit tests for all new features
- Maintain test coverage above 90%
- Test edge cases and error conditions
- Run tests before submitting PR
- Use clear, descriptive commit messages
- Start with a verb (Add, Fix, Update, etc.)
- Reference issue numbers when applicable
-
Create a feature branch
git checkout -b feature/your-feature-name
-
Make your changes
- Write clean, well-documented code
- Add tests for new functionality
- Update documentation if needed
-
Run quality checks
# Run tests python -m pytest # Check code style black . flake8 . # Type checking mypy luthers_algorithm.py
-
Commit your changes
git add . git commit -m "Add: Brief description of your changes"
-
Push and create pull request
git push origin feature/your-feature-name
When reporting bugs, please include:
- Python version
- Operating system
- Steps to reproduce
- Expected vs actual behavior
- Error messages and stack traces
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
- 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
- Never commit sensitive information
- Be careful with cryptographic implementations
- Report security issues privately first
- Follow secure coding practices
- Check existing issues and documentation first
- Use GitHub Discussions for questions
- Join our community chat (if available)
- Be respectful and inclusive
- Focus on constructive feedback
- Help newcomers learn and contribute
- Maintain professional communication
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! 🏆