# Contributing to RomM Thank you for considering contributing to RomM! This document outlines some guidelines to help you get started with your contributions. **If you're looking to implement a large feature or make significant changes to the project, it's best to open an issue first AND join the Discord to discuss your ideas with the maintainers.** ## Code of Conduct Please note that this project adheres to the Contributor Covenant [code of conduct](CODE_OF_CONDUCT.md). By participating in this project, you are expected to uphold this code. ## Contributing to the Docs If you would like to contribute to the project's [documentation](https://docs.romm.app), open a pull request against [the docs repo](https://github.com/rommapp/docs). We welcome any contributions that help improve the documentation (new pages, updates, or corrections). ## Adding Translations If you would like to translate the project into another language, create a new folder under the `frontend/src/locales` directory, and follow the existing language files as a template. Once you've created the new language file, open a pull request to add it to the project. ## How to Contribute Code 1. Fork the repository. 2. Clone your forked repository: `git clone https://github.com/your-username/romm.git` 3. Checkout the `master` branch: `git checkout master` 4. Follow the steps in the [developer setup guide](DEVELOPER_SETUP.md) 5. Create a new branch for your feature/fix: `git checkout -b feature-or-fix-name` 6. Make your changes and commit them with descriptive commit messages: `git commit -am 'Add feature XYZ'` 7. Push your changes to your fork: `git push origin feature-or-fix-name` 8. Open a pull request to the `master` branch of the original repository. ## Pull Request Guidelines - Make sure your code follows the project's coding standards. - Test your changes locally before opening a pull request. - Update the documentation if necessary. - Ensure all existing tests pass, and add new tests for new functionality. - Use clear and descriptive titles and descriptions for your pull requests. ## Code Style Follow the existing code style used throughout the project. If working with VSCode or a similar editor, consider installing these extensions: - [Prettier](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) - [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python) - [Pylance](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-pylance) - [Ruff](https://marketplace.visualstudio.com/items?itemName=charliermarsh.ruff) - [Vue - Official](https://marketplace.visualstudio.com/items?itemName=Vue.volar) ## Issue Reporting If you encounter any bugs or have suggestions for improvements, please [create an issue](https://github.com/rommapp/romm/issues) on GitHub. Provide as much detail as possible, including steps to reproduce the issue if applicable. ## Licensing By contributing to RomM, you agree that your contributions will be licensed under the project's [LICENSE](LICENSE). --- Thank you for contributing to RomM! Your help is greatly appreciated.