Thank you for your interest in contributing! 🦀
- Check if the bug has already been reported
- Include Python version and OS
- Provide minimal reproduction steps
- Include error messages and stack traces
- Open an issue describing the feature
- Explain the use case
- Discuss implementation approach
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for new functionality
- Run the test suite (
make test) - Commit with clear messages
- Push to your fork
- Open a Pull Request
git clone https://github.com/yourusername/adversarial-ml-tester.git
cd adversarial-ml-tester
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt
pip install -e .- Follow PEP 8
- Use type hints where possible
- Add docstrings to functions
- Keep functions focused and small
- Maximum line length: 127 characters
# Run all tests
make test
# Run specific test file
pytest tests/test_suite.py -v
# Run with coverage
pytest --cov=. --cov-report=html- Use present tense ("Add feature" not "Added feature")
- Use imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit first line to 72 characters
- Reference issues and PRs where appropriate
- Never commit API keys or credentials
- Report security vulnerabilities privately
- Follow responsible disclosure
- Be respectful and inclusive
- Welcome newcomers
- Focus on constructive feedback
- Assume good intentions
- Open an issue for questions
- Join discussions in existing issues
- Check documentation first
🦀 Thank you for contributing to the 13th Hour!