49 lines
1.5 KiB
Markdown
49 lines
1.5 KiB
Markdown
# Contributing to SkillOpt
|
|
|
|
Thank you for your interest in contributing! SkillOpt welcomes contributions of all kinds.
|
|
|
|
## Getting Started
|
|
|
|
```bash
|
|
git clone https://github.com/microsoft/SkillOpt.git
|
|
cd SkillOpt
|
|
python -m pip install -e ".[dev,docs]"
|
|
```
|
|
|
|
## How to Contribute
|
|
|
|
### 🐛 Bug Reports
|
|
Open a GitHub issue with reproduction steps, expected/actual behavior, and your config file (remove API keys).
|
|
|
|
### 🔧 Add a Benchmark
|
|
See the [guide](docs/guide/new-benchmark.md) and use the scaffold at
|
|
`skillopt/envs/_template/`. Register the adapter lazily in both
|
|
`scripts/train.py` and `scripts/eval_only.py`, and add focused tests.
|
|
|
|
### 🤖 Add a Model Backend
|
|
First check whether the built-in `openai_compatible` backend covers the
|
|
provider. Otherwise follow the function-based backend contract in the
|
|
[backend guide](docs/guide/new-backend.md), including routing, configuration,
|
|
token accounting, and no-network tests.
|
|
|
|
### 📝 Improve Documentation
|
|
```bash
|
|
python -m mkdocs serve # Preview at http://localhost:8000
|
|
```
|
|
|
|
## Pull Request Process
|
|
|
|
1. Fork the repo and create a feature branch
|
|
2. Make changes and run focused tests plus `python -m pytest -q`
|
|
3. Submit a PR with a clear description
|
|
4. For documentation changes, run `python -m mkdocs build --strict`
|
|
5. Ensure CI passes
|
|
|
|
## Code Style
|
|
- Follow existing patterns in the codebase
|
|
- Use type hints for function signatures
|
|
- Keep docstrings concise
|
|
|
|
## License
|
|
By contributing, you agree your contributions are licensed under the [MIT License](LICENSE).
|