mirror of
https://github.com/microsoft/SkillOpt.git
synced 2026-07-03 14:02:58 +08:00
- Skill optimization framework with training loop analogy - 11 benchmarks, 4 model backends (Azure OpenAI, Claude, Codex, Qwen) - WebUI for browser-based training control - Pluggable architecture for extending benchmarks and backends
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>/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/
🤖 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.