# Contributing

Thank you for considering contributing to this project!
This document outlines the guidelines for contributing
so we can maintain a high-quality and consistent codebase.

## Reporting Bugs and Suggesting Features

If you encounter a bug or have a feature request, please open an issue on GitHub.
Make sure to provide a clear and concise description of the problem or suggestion.
Please include any relevant details, such as:
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots or logs (if applicable)
- Your environment (OS, Python version, etc.)
- Any other relevant information

## Submitting Code Changes
If you would like to contribute code changes, especially for new detectors,
please follow these guidelines:

1. **Fork the repository**: Create a personal copy of the repository on GitHub.
2. **Create a new branch**: Create a new branch for your changes. Use a descriptive name for the branch that reflects the changes you are making.
3. **Make your changes**: Implement your changes in the new branch. Make sure to follow the existing code style and conventions used in the project.
4. **Write tests**: If applicable, write tests to cover your changes. Ensure that all tests pass before submitting your changes.
5. **Documentation**: This project uses no special documentation. However, make sure all classes and functions are well-documented by docstrings.
6. **Commit and push your changes**: Commit your changes with a clear and descriptive commit message.
8. **Create a pull request**: Open a pull request against the main repository. Provide a clear description of your changes and reference any related issues.
9. **Review process**: Your pull request will be reviewed by the maintainers. Please be open to feedback and make any necessary changes.
10. **Merge**: Once your pull request is approved, it will be merged into the main branch.
11. **Celebrate**: Congratulations! You've successfully contributed to the project. Thank you very much!

