# Contributing to MaksIT.LTO.Backup

Thank you for your interest in contributing to the MaksIT.LTO.Backup project! Whether you're submitting a bug report, suggesting a new feature, or improving the code, your efforts are greatly appreciated. Below are some guidelines to help make the process smooth and effective.

## Getting Started

1. **Fork the Repository**: Start by forking this repository to your GitHub account.
2. **Clone Your Fork**: Clone the fork to your local machine to begin making changes.
   ```bash
   git clone https://github.com/your-username/MaksIT.LTO.Backup.git
   ```
3. **Install Dependencies**: Ensure .NET8 or higher is installed on your system.
4. **Prepare Configurations**: Check the `README.md` for details on setting up `configuration.json` in the application directory.
5. **Run and Test**: Before submitting changes, ensure the application builds and functions correctly. Run all relevant tests and add new ones if needed.

## Reporting Issues

When reporting an issue, please include:
- Detailed steps to reproduce the issue.
- Your operating system and .NET version.
- Any relevant logs or error messages.

If the issue is specific to a particular LTO version that you cannot test, please consider either:
- **Providing Funding**: Donations to cover hardware expenses can help expand compatibility. Contributions can be made via:

<a href="https://www.buymeacoffee.com/maksitcom" target="_blank">
    <img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" style="height: 60px; width: 217px;">
</a>

- **Sponsoring Hardware**: If you're facing compatibility issues with a specific LTO generation, you can [gofundme](https://gofund.me/6ef96254) by directly purchasing the relevant LTO drive and tapes for testing. Contact me for shipping details if you're interested in sponsoring hardware.

## Code Contribution

### Guidelines

1. **Pull Request**: Open a pull request (PR) with a clear description of your changes. If the PR is linked to an issue, reference it in the description.
2. **Code Style**: Follow existing code conventions and formatting. Keep your changes focused and avoid unnecessary code refactoring.
3. **Documentation**: Ensure any new methods, classes, or configurations are fully documented.
4. **Testing**: Test your changes thoroughly and add relevant tests where possible.

Thank you for considering contributing, and feel free to reach out if you have questions! Your support helps make MaksIT.LTO.Backup better for everyone.

## Contact

If you have any questions or need further assistance, feel free to reach out:

- **Email**: [maksym.sadovnychyy@gmail.com](mailto:maksym.sadovnychyy@gmail.com)
- **Reddit**: [MaksIT.LTO.Backup: A Simplified CLI Tool for Windows LTO Tape Backups](https://www.reddit.com/r/MaksIT/comments/1ghgbx5/maksitltobackup_a_simplified_cli_tool_for_windows/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button)
