First off, thank you for considering contributing to this project! 🎉
This project is a GSOC-level security monitoring platform, and we welcome contributions from developers, security researchers, and enthusiasts of all skill levels.
- Code of Conduct
- How Can I Contribute?
- Getting Started
- Development Workflow
- Style Guidelines
- Commit Messages
- Pull Request Process
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples (code snippets, screenshots, logs)
- Describe the behavior you observed and what you expected
- Include your environment details (OS, Python version, Node.js version)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the proposed functionality
- Explain why this enhancement would be useful
- Include mockups or examples if applicable
Unsure where to begin? Look for issues labeled:
good-first-issue- Issues suitable for beginnershelp-wanted- Issues that need assistancedocumentation- Documentation improvements
-
Fork the repository
git clone https://github.com/YOUR-USERNAME/AI-Powered-Security-Monitoring-Threat-Detection-Platform.git cd AI-Powered-Security-Monitoring-Threat-Detection-Platform -
Create a branch
git checkout -b feature/your-feature-name
-
Set up the development environment
- Follow the instructions in README.md
- Install backend dependencies:
pip install -r requirements.txt - Install frontend dependencies:
cd frontend && npm install
-
Make your changes
- Write clean, maintainable code
- Add tests for new features
- Update documentation as needed
- Follow PEP 8 style guidelines for Python code
- Use type hints where applicable
- Write unit tests for new functions
- Run tests before submitting:
pytest
- Follow React best practices
- Use TypeScript for type safety
- Ensure components are reusable and well-documented
- Test UI changes across different screen sizes
- Document model architecture changes
- Include performance metrics (accuracy, precision, recall)
- Provide sample data for testing
- Update training scripts as needed
- Follow PEP 8
- Use meaningful variable and function names
- Add docstrings to all functions and classes
- Maximum line length: 88 characters (Black formatter)
def detect_anomaly(data: pd.DataFrame) -> Dict[str, Any]:
"""
Detect anomalies in the provided data using Isolation Forest.
Args:
data: Input DataFrame containing log features
Returns:
Dictionary containing anomaly predictions and scores
"""
# Implementation- Use ES6+ features
- Follow Airbnb style guide
- Use meaningful component and variable names
- Add JSDoc comments for complex functions
/**
* Renders a threat visualization chart
* @param {ThreatData[]} data - Array of threat data points
* @returns {JSX.Element} Chart component
*/
const ThreatChart: React.FC<ThreatChartProps> = ({ data }) => {
// Implementation
};Write clear and meaningful commit messages:
- Use the present tense ("Add feature" not "Added feature")
- Use the imperative mood ("Move cursor to..." not "Moves cursor to...")
- Limit the first line to 72 characters or less
- Reference issues and pull requests when applicable
Good examples:
Add anomaly detection threshold configuration
Fix dashboard rendering issue on mobile devices
Update README with Docker deployment instructions
Refactor log parsing logic for better performance
- Ensure your code follows the style guidelines
- Update documentation if you're changing functionality
- Add tests for new features
- Run all tests and ensure they pass
- Update the README.md if needed
- Fill out the pull request template completely
- Link related issues in the PR description
- Request review from maintainers
- My code follows the style guidelines
- I have performed a self-review of my code
- I have commented my code, particularly in hard-to-understand areas
- I have made corresponding changes to the documentation
- My changes generate no new warnings
- I have added tests that prove my fix/feature works
- New and existing unit tests pass locally
- Any dependent changes have been merged and published
pytest tests/
pytest tests/ --cov=backend # With coveragecd frontend
npm test
npm run test:coverageAll submissions require review. The maintainers will:
- Review your code for quality and consistency
- Suggest improvements or changes
- Approve and merge when ready
Expected review time: 2-5 business days
- Join our discussions on GitHub
- Share your ideas and feedback
- Help others in issue discussions
- Spread the word about the project
Contributors will be:
- Listed in the Contributors section
- Mentioned in release notes
- Acknowledged in project documentation
Feel free to open an issue with the question label or reach out to the maintainers.
Thank you for contributing! 🚀🔒