Contributing to Mutant-AI
First off, thank you for considering contributing to Mutant-AI! It's people like you that make open-source such a great community.
Whether you're fixing a bug, adding a new Red Team behavior, or improving the documentation, we welcome contributions of all sizes.
💬 Join the Community
Before you start writing code, it's often a good idea to discuss your proposed changes.
- Have a question or an idea? Start a discussion on our GitHub Discussions page.
- Found a bug? Open an issue on our Issue Tracker.
🛠️ How to Contribute
Here is the standard workflow for contributing to the repository:
1. Fork and Clone
Fork the repository to your own GitHub account, then clone it locally.
2. Set up the Development Environment
Mutant-AI is built using modern Python tooling. We recommend using uv or standard virtual environments.
# Create a virtual environment
python -m venv venv
source venv/bin/activate
# Install the package in editable mode with development dependencies
pip install -e ".[dev]"
3. Create a Branch
Create a new branch for your feature or bugfix. Name it descriptively.
4. Make Your Changes
Write your code, ensuring it follows the existing style. Be sure to add or update tests where necessary.
5. Run Tests and Linters
Ensure all tests pass before submitting your PR. We use standard Python formatting tools (like black or ruff).
6. Submit a Pull Request
Push your branch to your fork and submit a Pull Request against the main branch of the original repository.
In your PR description, explain clearly what you changed and why. If it fixes an open issue, reference the issue number (e.g., Fixes #42).
🌟 Areas to Contribute
Not sure where to start? Here are a few high-impact areas where we always appreciate help:
- New LLM Providers: Adding native integrations for new models via subclassing
BaseLLMProvider. - New Behavioral Dimensions: Expanding the core catalog of behaviors (e.g., adding a
language.technical_jargondimension). - Red Team Strategies: Enhancing the planning and reasoning loops of the hypothesis-driven Red Team Agent.
- Documentation: Improving these very docs! Adding tutorials, fixing typos, or writing new copy-pasteable examples.
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct. We are committed to providing a welcoming and inspiring community for all.