Thank you for your interest in contributing to SuperOpt! This document provides guidelines and instructions for contributing.
-
Clone the repository
git clone https://github.com/SuperagenticAI/superopt.git cd superopt -
Create a virtual environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies
# Using pip pip install -e ".[dev]" # Or using uv uv sync --all-extras
-
Install pre-commit hooks
pre-commit install
We use the following tools to maintain code quality:
- Ruff for linting and import sorting
- Black for code formatting
- MyPy for type checking
Run all checks:
# Linting
ruff check .
# Formatting
black .# Run all tests
pytest
# Run with coverage
pytest --cov=superopt --cov-report=html
# Run specific test file
pytest tests/comparison/test_gepa_adapter.py -vPre-commit hooks run automatically on git commit. To run manually:
pre-commit run --all-files- Search existing issues before creating a new one
- Use the issue templates when available
- Include reproduction steps for bugs
- Provide system information (Python version, OS, etc.)
-
Fork and branch
git checkout -b feature/your-feature-name
-
Make your changes
- Write clear, concise commit messages
- Add tests for new functionality
- Update documentation as needed
-
Run checks locally
ruff check . black --check . pytest
-
Push and create PR
git push origin feature/your-feature-name
Then create a Pull Request on GitHub.
Follow conventional commit format:
feat:New featuresfix:Bug fixesdocs:Documentation changestest:Adding or updating testsrefactor:Code refactoringchore:Maintenance tasks
Example:
feat: add support for custom retrieval strategies in SuperRAG
- Implement pluggable retrieval strategy interface
- Add hybrid search strategy combining vector and FTS
- Update documentation with examples
superopt/
├── superopt/ # Main package
│ ├── core/ # Core abstractions (environment, trace, nlg)
│ ├── adapters/ # Agent framework integrations
│ ├── comparison/ # Comparison with baselines (GEPA, ACE)
│ ├── rag/ # RAG optimization components
│ └── *.py # Optimizer modules
├── tests/ # Test suite
├── scripts/ # Evaluation scripts
├── examples/ # Usage examples
└── data/ # Task datasets
We welcome contributions in these areas:
- New Adapters: Integrations with other agent frameworks
- Optimization Strategies: Novel approaches for environment optimization
- Benchmarks: New evaluation tasks and datasets
- Documentation: Tutorials, examples, API documentation
- Bug Fixes: Issue resolution and stability improvements
Please read and follow our Code of Conduct.
- Open a GitHub Discussion
- Email: team@super-agentic.ai
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.