# Contributing to mp3rgain Thank you for your interest in contributing to mp3rgain! ## Getting Started ### Prerequisites - Rust 1.70 or later - Git ### Building from Source ```bash git clone https://github.com/M-Igashi/mp3rgain.git cd mp3rgain cargo build --release ``` ### Running Tests ```bash cargo test ``` ## How to Contribute ### Reporting Bugs - Use the [Bug Report](https://github.com/M-Igashi/mp3rgain/issues/new?template=bug_report.md) template - Include your OS, architecture, and mp3rgain version - Provide steps to reproduce the issue - If possible, include a sample MP3 file ### Windows Compatibility Testing We especially welcome Windows testing reports! Please use the [Windows Compatibility Report](https://github.com/M-Igashi/mp3rgain/issues/new?template=windows_compatibility.md) template to share your results. ### Suggesting Features - Use the [Feature Request](https://github.com/M-Igashi/mp3rgain/issues/new?template=feature_request.md) template - Explain the problem you're trying to solve - Describe your proposed solution ### Submitting Pull Requests 1. Fork the repository 2. Create a feature branch (`git checkout -b feature/amazing-feature`) 3. Make your changes 4. Run tests (`cargo test`) 5. Run clippy (`cargo clippy`) 6. Format code (`cargo fmt`) 7. Commit your changes (`git commit -m 'Add amazing feature'`) 8. Push to the branch (`git push origin feature/amazing-feature`) 9. Open a Pull Request ## Code Style - Follow standard Rust conventions - Run `cargo fmt` before committing - Run `cargo clippy` and address warnings - Add tests for new functionality - Update documentation as needed ## Priority Areas We're especially looking for help with: 1. **Windows compatibility** - Testing and fixing Windows-specific issues 2. **ReplayGain support** - Implementing track/album gain analysis 3. **Additional format support** - Extending to other audio formats 4. **Documentation** - Improving docs and examples ## Questions? Feel free to open an issue or start a discussion if you have questions!