# Contributing to Bug Bounty MCP Server
Thank you for your interest in contributing! This guide will help you get started.
## ๐ฏ How to Contribute
### Reporting Issues
- **Search existing issues** before creating a new one
- **Provide details**: OS, Python version, AI agent, error messages
- **Include steps to reproduce** the issue
### Suggesting Features
- Check if the feature has already been requested
- Explain the use case and benefits
- Consider backward compatibility
### Code Contributions
1. **Fork the repository**
2. **Create a feature branch**: `git checkout -b feature/your-feature`
3. **Make your changes**
4. **Test thoroughly**
5. **Submit a pull request**
## ๐ ๏ธ Development Setup
```bash
# Clone your fork
git clone https://github.com/YOUR_USERNAME/bug-bounty-mcp.git
cd bug-bounty-mcp
# Create virtual environment
python3 -m venv venv
source venv/bin/activate
# Install in development mode
pip install -e ".[dev]"
# Run tests
pytest
```
## ๐ Code Standards
- Follow PEP 8 style guidelines
- Add docstrings to functions and classes
- Include type hints where appropriate
- Write tests for new features
- Update documentation
## ๐งช Testing
```bash
# Run all tests
pytest
# Run with coverage
pytest --cov=src/bugbounty_mcp
# Run specific test
pytest tests/test_specific.py
```
## ๐ Adding New Tools
To add a new security tool integration:
1. Create a new function in `src/bugbounty_mcp/tools/`
2. Add scope validation
3. Update configuration schema
4. Add tests
5. Update documentation
Example:
```python
@tool()
async def new_security_tool(
target: str,
options: dict
) -> dict:
"""
Description of the tool.
Args:
target: The target to scan
options: Tool options
Returns:
Scan results
"""
# Validate scope
await validate_scope(target)
# Execute tool
# ...
return results
```
## ๐ Security Considerations
- **Never bypass scope validation**
- **Sanitize all inputs**
- **Avoid destructive operations by default**
- **Log all security-relevant actions**
- **Follow responsible disclosure practices**
## ๐ Documentation
- Update README.md for major changes
- Add entries to SETUP_GUIDE.md if affecting setup
- Update WORKFLOWS.md for new workflows
- Add inline code comments
## ๐ค Pull Request Process
1. **Update documentation** for your changes
2. **Add tests** that cover your changes
3. **Ensure all tests pass**
4. **Update CHANGELOG.md**
5. **Reference relevant issues**
### PR Template
```markdown
## Description
Brief description of changes
## Type of Change
- [ ] Bug fix
- [ ] New feature
- [ ] Breaking change
- [ ] Documentation update
## Testing
How was this tested?
## Checklist
- [ ] Tests pass
- [ ] Documentation updated
- [ ] Code follows style guidelines
- [ ] No security issues introduced
```
## ๐ Good First Issues
Look for issues labeled `good-first-issue` to get started!
## ๐ฌ Questions?
- Open a discussion on GitHub
- Check existing documentation
- Ask in pull request comments
## ๐ License
By contributing, you agree that your contributions will be licensed under the same license as the project.
---
Thank you for making Bug Bounty MCP Server better! ๐