🤝 Contributing Guide¶
Overview¶
Thank you for your interest in contributing to Alien Invasion! This guide will help you get started with contributing to the project.
Getting Started¶
1. Fork the Repository¶
- Fork the repository on GitHub
- Clone your fork locally
- Set up the development environment
git clone https://github.com/your-username/code-destroy-aliens.git
cd code-destroy-aliens
2. Development Setup¶
Follow the Installation Guide to set up your development environment.
Contribution Workflow¶
1. Create a Branch¶
git checkout -b feature/your-feature-name
2. Make Changes¶
- Follow the Code Style Guide
- Write tests for new features
- Update documentation
3. Commit Changes¶
git add .
git commit -m "feat: add new feature"
4. Push Changes¶
git push origin feature/your-feature-name
5. Create Pull Request¶
- Go to GitHub
- Create a new Pull Request
- Fill in the PR template
- Wait for review
Code Style¶
Python Code¶
- Follow PEP 8 guidelines
- Use type hints
- Write docstrings
def move_ship(x: int, y: int) -> None:
"""Move the ship to the specified coordinates.
Args:
x: The x-coordinate
y: The y-coordinate
"""
ship.position = (x, y)
Documentation¶
- Use Markdown for documentation
- Follow the existing style
- Include examples
Testing¶
Before Submitting¶
- Run all tests
- Check code coverage
- Verify documentation
pytest
pytest --cov=src
mkdocs serve
Pull Request Guidelines¶
PR Template¶
## Description
Brief description of the changes
## Related Issues
Fixes #123
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Checklist
- [ ] Tests added/updated
- [ ] Documentation updated
- [ ] Code follows style guide
- [ ] All tests pass
Review Process¶
- Automated checks run
- Code review by maintainers
- Address feedback
- Merge when approved
Issue Guidelines¶
Creating Issues¶
- Use the issue template
- Provide detailed information
- Include reproduction steps
Issue Labels¶
bug
: Something is brokenenhancement
: New feature requestdocumentation
: Documentation updateshelp wanted
: Looking for contributors
Communication¶
GitHub Discussions¶
Use GitHub Discussions for:
- Feature proposals
- Questions
- General discussion
Code of Conduct¶
Please read and follow our Code of Conduct.
Recognition¶
Contributors will be:
- Listed in the README
- Given credit in release notes
- Invited to join the team
Next Steps¶
- Read the Development Guide
- Check out the Testing Guide