# Contributing

Start with the repository’s [contribution guidelines](https://github.com/NVIDIA/cuml/blob/main/CONTRIBUTING.md) for proposing
changes, preparing pull requests, and working through review. Those guidelines
are the canonical source for the contribution process.

Use these sections of the Developer Guide when preparing your change:

* [Code quality checks](../code_quality/index.html.md) explains how to install and run
  pre-commit hooks and handle formatting, lint, and spelling checks.
* [Python development](../python/development/index.html.md) covers Python style, testing,
  validation, memory management, and documentation.
* [Python estimator development](../python/estimators/index.html.md) describes the
  `cuml.Base` estimator contract and implementation patterns.
* [C++ and CUDA development](../cpp/index.html.md) covers C++/CUDA source layout,
  resources, testing, and the internal C++ API reference.
* [Benchmarking](../benchmarking/index.html.md) explains the benchmark CLI, manifests, and
  adding algorithm coverage.
