# Contributing to RetroArr First off, thanks for taking the time to contribute! The following is a set of guidelines for contributing to RetroArr. These are mostly guidelines, not rules. Use your best judgment, and feel free to propose changes to this document in a pull request. ## How Can I Contribute? ### Reporting Bugs This section guides you through submitting a bug report for RetroArr. 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 which reproduce the problem** in as many details as possible. * **Provide specific examples** to demonstrate the steps. Include links to files or copy/pasteable snippets which you use in those examples. * **Describe the behavior you observed** after following the steps and point out what exactly is the problem with that behavior. * **Explain which behavior you expected to see instead** and why. * **Include screenshots** which show you following the described steps and clearly demonstrate the problem. ### Suggesting Enhancements This section guides you through submitting an enhancement suggestion for RetroArr, including completely new features and minor improvements to existing functionality. * **Use a clear and descriptive title** for the issue to identify the suggestion. * **Provide a step-by-step description of the suggested enhancement** in as many details as possible. * **Provide specific examples** to demonstrate the steps. * **Describe the current behavior** and explain which behavior you expected to see instead and why. ### Pull Requests The process described here has several goals: * Maintain RetroArr's quality. * Fix problems that are important to users. * Engage the community in working toward the best possible RetroArr. Please follow these steps to have your contribution considered by the maintainers: 1. Follow all instructions in the template. 2. Follow the style guides. 3. After you submit your pull request, verify that all status checks are passing. ## Styleguides ### Git Commit Messages * Use the present tense ("Add feature" not "Added feature"). * Use the imperative mood ("Move cursor to..." not "Moves cursor to..."). * Limit the first line to 72 characters or less. * Reference issues and pull requests liberally after the first line. ### C# / .NET Style * Follow standard C# coding conventions. * Ensure all new code is covered by unit tests where applicable. ### React / TypeScript Style * Use functional components and Hooks. * Ensure strict typing is used; avoid `any` where possible. * Run the linter before committing.