# CONTRIBUTING.md

## Contributing Guidelines

First off, thanks for taking the time to contribute! 📚

The following is a set of guidelines for contributing to the `vonMisesMixtureModel` project. These are mostly guidelines, not hard rules. Use your best judgment, and feel free to propose changes to this document in a pull request.

## How Can I Contribute?

### 🎓 Reporting Bugs

* Use the GitHub **Issues** tab.
* Provide a clear and descriptive title.
* Describe the problem and include a minimal reproducible example.
* Include information about your system: OS, Python version, and library versions.

### 📈 Feature Requests

* Submit feature requests through GitHub **Issues**.
* Include a use case and describe why the feature is beneficial.

### 👨‍💻 Code Contributions

* Fork the repository.
* Create a new branch (`feature-<name>` or `bugfix-<name>`).
* Add clear and descriptive commit messages.
* Write unit tests for your changes (if applicable).
* Ensure your code passes existing tests (`pytest tests/`).
* Follow PEP8 code style guidelines.
* Open a Pull Request and describe your changes.

### 🌐 Documentation Improvements

* Help improve the README, docstrings, and overall project documentation.

## Code Style

* Follow **PEP8**.
* Use 4 spaces per indentation level.
* Use type hints where appropriate.

## Pull Request Process

1. Ensure all new and existing tests pass.
2. Update the documentation if necessary.
3. Make sure your branch is up-to-date with `main`.
4. Submit your pull request and describe what the changes do.

## Community Standards

* Be respectful.
* Provide constructive feedback.
* Assume good intent.

Thanks for contributing to `vonMisesMixtureModel`! 💜

