# Contributing to rule4ml

We welcome contributions from the community and are grateful for your support.

## How to Contribute

### Generating and Sharing Datasets

Generating large and diverse datasets of neural networks is crucial for improving the accuracy and generalization of our predictors. If you are able to generate synthetic datasets, your contribution would be highly valuable. To contribute datasets, please follow these steps:

1. **Generate Datasets**: Our [data_gen](data_gen/) scripts help generate and synthesize random neural networks to build a synthetic dataset. Follow the *Data Generation* section in the [tutorial](notebooks/tutorial.ipynb) to create your datasets.

2. **Upload Your Dataset**: Share your dataset on a public repository or data sharing platform.

3. **Open an Issue**: Open an issue on our GitHub repository with a link to your dataset and a brief description. This will allow us to review and integrate your dataset into our project. Include a description of how the dataset was generated and the range of parameters used.

By sharing your datasets, you help enhance the capability of `rule4ml` to provide accurate estimations for a wider range of models and configurations.

### Reporting Bugs

If you find a bug, please open an issue on GitHub with the following information:
- A clear and descriptive title.
- A detailed description of the problem, including steps to reproduce the issue.
- Any relevant logs, screenshots, or other information.

### Suggesting Enhancements

We welcome suggestions for new features and improvements. To suggest an enhancement, please open an issue on GitHub with the following information:
- A clear and descriptive title.
- A detailed description of the proposed enhancement and why it would be useful.

### Pull Requests

We accept pull requests for bug fixes, new features, and documentation improvements. To submit a pull request, follow these steps:

1. Fork the repository.
2. Create a new branch for your feature or bugfix.
3. Make your changes in the new branch.
4. Commit your changes with a descriptive commit message.
5. Push your changes to your forked repository.
6. Open a pull request on the main repository.

## Getting Help

If you need help or have any questions, feel free to open an issue on GitHub or contact the project maintainers. We would love to hear how you use rule4ml in your projects.

Thank you for contributing to rule4ml!
