We want to make contributing to this project as easy and transparent as possible.
We actively welcome your pull requests.
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add tests.
- If you've changed APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- If you haven't already, complete the Contributor License Agreement ("CLA").
In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects.
Complete your CLA here: https://code.facebook.com/cla
We use GitHub issues to track public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue.
Please make sure that C++ unit tests are passing and run the example script:
python ./example.py
We use mypy to check Python typing and guard API consistency, please make sure next command doesn't complain prior to submission:
mypy . --ignore-missing-imports
We use clang-format
for linting and code style enforcement of c++ code.
Code style follows the Google C++ guidelines.
Install clang-format
through brew install clang-format
on MacOS, or by downloading binaries or sources from http://releases.llvm.org/download.html for Ubuntu etc.
For vim integration add to your .vimrc file map <C-K> :%!clang-format<cr>
and use Ctrl+K to format entire file.
Integration plugin for vscode.
We use black
for linting and code of python code.
Install black
through pip install black
We also use pre-commit hooks to ensure linting and style enforcement. Install the pre-commit hooks
with pip install pre-commit && pre-commit install
.
By contributing to habitat-sim, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.