Contributing
Contributions are welcome! Please follow the steps below.
Setting Up
git clone https://github.com/KarthikShivasankar/ml_smells_detector.git
cd ml_smells_detector
uv pip install -e ".[dev]"
Running Tests
uv run python -m pytest tests/
Building Docs
cd docs && uv run sphinx-build -b html source build
Adding a Detector
Add detection logic to the appropriate detector class in
ml_code_smell_detector/detectors/.Each smell dict must include the keys:
name,framework,fix,benefits,location.Add tests under
tests/covering both detection and non-detection cases.Update
docs/source/features.rstwith the new smell description.
Code Style
Max line length: 150 characters (configured in
.flake8).Run flake8 before submitting:
uv run flake8 ml_code_smell_detector tests.
Submitting Changes
Fork the repository and create a feature branch.
Ensure all tests pass.
Open a pull request with a clear description of the change.