Thank you for your interest in contributing to SkillOpt! This guide covers how to get started.
git clone https://github.com/microsoft/SkillOpt.git
cd SkillOpt
pip install -e ".[dev]"Open an issue with:
- Steps to reproduce
- Expected vs actual behavior
- Config file used (sanitize API keys)
- Python version and OS
See Add a New Benchmark for the implementation guide.
Checklist:
- Data loader in
skillopt/envs/<benchmark>/loader.py - Environment adapter in
skillopt/envs/<benchmark>/env.py - Config file in
configs/<benchmark>/default.yaml - Registration in
skillopt/envs/__init__.py - Documentation page in
docs/
See Add a New Model Backend for the implementation guide.
Checklist:
- Backend in
skillopt/model/<backend>.py - Registration in
skillopt/model/__init__.py - API key entry in
.env.example - Documentation update
Documentation is built with MkDocs Material:
pip install -e ".[docs]"
mkdocs serve # Preview at http://localhost:8000- Follow existing patterns in the codebase
- Use type hints for function signatures
- Keep docstrings concise
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-benchmark - Make your changes
- Test with an existing benchmark config
- Submit a PR with a clear description
By contributing, you agree that your contributions will be licensed under the MIT License.