Skip to content

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.


🛠️ 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.

git clone https://github.com/YOUR_USERNAME/mutant-ai.git
cd mutant-ai

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.

git checkout -b feature/new-provider-integration
# or
git checkout -b fix/red-team-loop-bug

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).

# Example test command (adjust based on actual test runner used)
pytest tests/

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:

  1. New LLM Providers: Adding native integrations for new models via subclassing BaseLLMProvider.
  2. New Behavioral Dimensions: Expanding the core catalog of behaviors (e.g., adding a language.technical_jargon dimension).
  3. Red Team Strategies: Enhancing the planning and reasoning loops of the hypothesis-driven Red Team Agent.
  4. 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.