mirror of
https://github.com/microsoft/autogen.git
synced 2025-07-23 17:01:35 +00:00
89 lines
3.8 KiB
Markdown
89 lines
3.8 KiB
Markdown
![]() |
# Contributing
|
||
|
|
||
|
This project welcomes (and encourages) all forms of contributions, including but not limited to:
|
||
|
- Pushing patches.
|
||
|
- Code review of pull requests.
|
||
|
- Documentation, examples and test cases.
|
||
|
- Readability improvement, e.g., improvement on docstr and comments.
|
||
|
- Community participation in [issues](https://github.com/microsoft/FLAML/issues), [discussions](https://github.com/microsoft/FLAML/discussions), and [gitter](https://gitter.im/FLAMLer/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge).
|
||
|
- Tutorials, blog posts, talks that promote the project.
|
||
|
- Sharing application scenarios and/or related research.
|
||
|
|
||
|
You can take a look at the [Roadmap for Upcoming Features](https://github.com/microsoft/FLAML/wiki/Roadmap-for-Upcoming-Features) to identify potential things to work on.
|
||
|
|
||
|
|
||
|
Most contributions require you to agree to a
|
||
|
Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us
|
||
|
the rights to use your contribution. For details, visit <https://cla.opensource.microsoft.com>.
|
||
|
|
||
|
If you are new to GitHub [here](https://help.github.com/categories/collaborating-with-issues-and-pull-requests/) is a detailed help source on getting involved with development on GitHub.
|
||
|
|
||
|
When you submit a pull request, a CLA bot will automatically determine whether you need to provide
|
||
|
a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions
|
||
|
provided by the bot. You will only need to do this once across all repos using our CLA.
|
||
|
|
||
|
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||
|
For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or
|
||
|
contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.
|
||
|
|
||
|
## Becoming a Reviewer
|
||
|
There is currently no formal reviewer solicitation process. Current reviewers identify reviewers from active contributors. If you are willing to become a reviewer, you are welcome to let us know on gitter.
|
||
|
|
||
|
## Developing
|
||
|
|
||
|
### Setup
|
||
|
|
||
|
```bash
|
||
|
git clone https://github.com/microsoft/FLAML.git
|
||
|
pip install -e .[test,notebook]
|
||
|
```
|
||
|
|
||
|
### Docker
|
||
|
|
||
|
We provide a simple [Dockerfile](https://github.com/microsoft/FLAML/blob/main/Dockerfile).
|
||
|
|
||
|
```bash
|
||
|
docker build git://github.com/microsoft/FLAML -t flaml-dev
|
||
|
docker run -it flaml-dev
|
||
|
```
|
||
|
|
||
|
### Develop in Remote Container
|
||
|
|
||
|
If you use vscode, you can open the FLAML folder in a [Container](https://code.visualstudio.com/docs/remote/containers).
|
||
|
We have provided the configuration in [devcontainer](https://github.com/microsoft/FLAML/blob/main/.devcontainer).
|
||
|
|
||
|
### Pre-commit
|
||
|
|
||
|
Run `pre-commit install` to install pre-commit into your git hooks. Before you commit, run
|
||
|
`pre-commit run` to check if you meet the pre-commit requirements. If you use Windows (without WSL) and can't commit after installing pre-commit, you can run `pre-commit uninstall` to uninstall the hook. In WSL or Linux this is supposed to work.
|
||
|
|
||
|
### Coverage
|
||
|
|
||
|
Any code you commit should not decrease coverage. To run all unit tests:
|
||
|
|
||
|
```bash
|
||
|
coverage run -m pytest test
|
||
|
```
|
||
|
|
||
|
Then you can see the coverage report by
|
||
|
`coverage report -m` or `coverage html`.
|
||
|
If all the tests are passed, please also test run [notebook/automl_classification](https://github.com/microsoft/FLAML/blob/main/notebook/automl_classification.ipynb) to make sure your commit does not break the notebook example.
|
||
|
|
||
|
### Documentation
|
||
|
|
||
|
To build and test documentation locally, install [Node.js](https://nodejs.org/en/download/).
|
||
|
|
||
|
Then:
|
||
|
|
||
|
```console
|
||
|
npm install --global yarn
|
||
|
pip install pydoc-markdown
|
||
|
cd website
|
||
|
yarn install
|
||
|
pydoc-markdown
|
||
|
yarn start
|
||
|
```
|
||
|
|
||
|
The last command starts a local development server and opens up a browser window.
|
||
|
Most changes are reflected live without having to restart the server.
|