mirror of
https://github.com/microsoft/SkillOpt.git
synced 2026-07-06 16:05:12 +08:00
1.7 KiB
1.7 KiB
Contributing to SkillOpt
Thank you for your interest in contributing to SkillOpt! This guide covers how to get started.
Development Setup
git clone https://github.com/microsoft/SkillOpt.git
cd SkillOpt
pip install -e ".[dev]"
Ways to Contribute
🐛 Bug Reports
Open an issue with:
- Steps to reproduce
- Expected vs actual behavior
- Config file used (sanitize API keys)
- Python version and OS
🔧 New Benchmark
See Add a New Benchmark for the implementation guide.
Checklist:
- Data loader in
skillopt/envs/<benchmark>/dataloader.py - Environment adapter in
skillopt/envs/<benchmark>/adapter.py - Config file in
configs/<benchmark>/default.yaml - Registration in
scripts/train.py(_ENV_REGISTRY) - Documentation page in
docs/
🤖 New Model Backend
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
Documentation is built with MkDocs Material:
pip install -e ".[docs]"
mkdocs serve # Preview at http://localhost:8000
Code Style
- Follow existing patterns in the codebase
- Use type hints for function signatures
- Keep docstrings concise
Pull Request Process
- 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
License
By contributing, you agree that your contributions will be licensed under the MIT License.