# Contributing to JIGSAW

First off, thanks for taking the time to contribute!

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

## How to Contribute

### Reporting Bugs

This section guides you through submitting a bug report for JIGSAW. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.

*   **Use a clear and descriptive title** for the issue to identify the problem.
*   **Describe the exact steps to reproduce the problem** in as many details as possible.
*   **Provide specific examples** to demonstrate the steps.

### Pull Requests

1.  Fork the repo and create your branch from `main`.
2.  If you've added code that should be tested, add tests.
3.  Ensure the test suite passes (`cargo test`).
4.  Make sure your code lints (`cargo fmt`, `cargo clippy`).
5.  Issue that pull request!

## Code Style

*   We follow standard Rust formatting usage.
*   Run `cargo fmt` before committing.

## License

By contributing, you agree that your contributions will be licensed under the GNU General Public License v2.0 or later.
