# Contributing to JaxFin

Welcome to JaxFin! We're excited that you're interested in contributing. Before getting started, please take a moment to review the following guidelines.

## How Can I Contribute?

There are several ways you can contribute to this project:

1. **Reporting Bugs**: If you encounter a bug, please open an issue and provide detailed information about the problem.
2. **Requesting Features**: If you have a feature request, feel free to open an issue to discuss it.
3. **Code Contributions**: We welcome contributions in the form of pull requests. Make sure to follow the guidelines outlined in the next section.

## Code Contribution Guidelines

1. **Create an Issue**: Before starting work on a new feature or bug fix, please create an issue on GitHub to discuss it with the maintainers.
2. **Fork the Repository**: Start by forking the repository to your own GitHub account.
3. **Clone the Repository**: Clone the forked repository to your local machine.
4. **Create a Branch**: Create a new branch for your feature or bug fix, referencing the issue number (e.g., `issue-123`).
5. **Make Changes**: Implement your changes, following the project's coding style and guidelines.
6. **Coding Style Guidelines**:
   - We use [mypy](https://mypy.readthedocs.io/en/stable/) for type checking.
   - Code formatting is enforced with [Black](https://black.readthedocs.io/en/stable/).
   - We use [pylint](https://pylint.pycqa.org/en/latest/) for code quality checks.
7. **Write Tests**: If applicable, write tests to ensure that your changes work as expected.
8. **Run Tests**: Make sure that all existing tests pass.
9. **Commit Changes**: Commit your changes with clear and descriptive commit messages.
10. **Push Changes**: Push your changes to your forked repository.
11. **Open a Pull Request**: Once your changes are ready, open a pull request, referencing the related issue and providing a detailed description of the changes you've made.

## Code of Conduct

Please note that this project is governed by our [Code of Conduct](link-to-code-of-conduct). We expect all contributors to adhere to its guidelines.

## Need Help?

If you have any questions or need assistance, feel free to reach out to us by [opening an issue](https://github.com/samueledelia/py-exopricer/issues).

Thank you for your interest in contributing to JaxFin! We appreciate your support.