Contributions are welcome! This document provides guidelines and instructions for contributing to the Gato-X project.
- Python 3.10 or higher
- Git
- A GitHub account
- Fork the Gato-X repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/gato-x.git cd gato-x - Set up a virtual environment:
python3 -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
- Install in development mode:
pip install -e .
Gato-X follows the Black code style. Before submitting a pull request, format your code:
pip install black
black .When adding new features:
- Create a new branch:
git checkout -b feature/my-new-feature
- Implement your feature
- Add tests for your feature
- Update documentation
- Submit a pull request
Before working on significant changes, please review the project's design methodology:
- Operator-Focused: Gato-X is designed for security practitioners, prioritizing usability and effectiveness over perfect precision
- Avoid False Negatives: The tool is tuned to catch all potential vulnerabilities, even if it means some false positives
- Provide Context: For each finding, provide enough context for operators to quickly determine if it's a true positive
- Performance Matters: The tool should be able to scan thousands of repositories efficiently
- Ensure your code follows the project's style guidelines
- Update documentation to reflect your changes
- Add or update tests as necessary
- Submit a pull request with a clear description of the changes
If you're proposing significant changes to the tool, please open an issue first to discuss the motivation for the changes.
If you find a bug or have a feature request:
- Check if the issue already exists in the GitHub issues
- If not, create a new issue with:
- A clear description of the problem
- Steps to reproduce
- Expected behavior
- Actual behavior
- Any relevant logs or screenshots
For more detailed information about contributing, see Advanced Contributing Guide.