# Contributing to MIVO First off, thank you for considering contributing to MIVO. It is people like you that make MIVO such a great tool. ## Code of Conduct By participating in this project, you are expected to uphold our Code of Conduct. Please report unacceptable behavior to us. ## How Can I Contribute? ### Reporting Bugs This section guides you through submitting a bug report for MIVO. 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 to reproduce the problem** in as many details as possible. - **Provide specific examples** to demonstrate the steps. - **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** if the issue is related to the User Interface. ### Suggesting Enhancements This section guides you through submitting an enhancement suggestion for MIVO, 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 MIVO's quality. - Fix problems that are important to users. - Engage the community in working toward the best possible MIVO. - Enable a sustainable system for MIVO's maintainers to review contributions. 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, check that all status checks are passing. ## Development Setup ### Prerequisites - PHP 8.1 or higher - Composer - Node.js and npm (for frontend assets and documentation) ### Installation 1. Clone the repository. 2. Run `composer install` to install PHP dependencies. 3. Run `npm install` to install frontend dependencies. 4. Copy `.env.example` to `.env` and configure your environment variables. ## 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. ### PHP Styleguide - We follow PSR-12 coding standard. - Use strict typing where possible. ### Documentation Styleguide - Use Markdown. - Limit line length to 80 characters. - Use clear and concise language. - **Do not use emojis.** ## License By contributing, you agree that your contributions will be licensed under its MIT License.