# Contributing to MLX We want to make contributing to this project as easy and transparent as possible. ## Pull Requests 1. Fork and submit pull requests to the repo. 2. If you've added code that should be tested, add tests. 3. If a change is likely to impact efficiency, run some of the benchmarks before and after the change. Examples of benchmarks can be found in `benchmarks/python/`. 4. If you've changed APIs, update the documentation. 5. Every PR should have passing tests and at least one review. 6. For code formatting install `pre-commit` using something like `pip install pre-commit` and run `pre-commit install`. This should install hooks for running `black` and `clang-format` to ensure consistent style for C++ and python code. You can also run the formatters manually as follows: ```shell clang-format -i file.cpp ``` ```shell black file.py ``` or run `pre-commit run --all-files` to check all files in the repo. ## Issues 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. ## License By contributing to MLX, you agree that your contributions will be licensed under the LICENSE file in the root directory of this source tree.