# Contributing to My Turbo Components Thank you for considering contributing to My Turbo Components. We welcome your help to improve and enhance our Design System. Please take a moment to review the following guidelines before contributing. ## Code of Conduct Please review our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the behavior we expect from contributors. ## How to Contribute ### Reporting Issues If you encounter a bug, have a feature request, or want to discuss improvements, please [open an issue](https://github.com/denismend/my-turbo-components/issues). Make sure to provide a clear and detailed description of the problem or suggestion. ### Making Changes 1. Fork the repository to your GitHub account. 2. Clone your fork to your local machine. 3. Create a new branch for your contribution: `git checkout -b my-contribution`. 4. Make your changes, following our coding conventions and guidelines. 5. Test your changes thoroughly. 6. Commit your changes with clear and concise commit messages. ### Commit Strategy We follow a clear commit strategy to maintain an organized record of changes in our repository. Below are some common commit categories you can use: - **fix**: Used for bug fixes. - Example: `fix: Resolve text overflow issue in the login button`. - **feat**: For new features or functionalities. - Example: `feat: Add image carousel component`. - **docs**: Changes related to documentation. - Example: `docs: Update installation guide`. - **perf**: Performance improvements. - Example: `perf: Optimize image loading in the gallery`. - **refactor**: Code refactoring without functional changes. - Example: `refactor: Rearrange utility functions`. - **chore**: Maintenance tasks or general chores. - Example: `chore: Update project dependencies`. - **test**: Additions or modifications to tests. - Example: `test: Add unit tests for the button component`. - **style**: Changes in code style or formatting. - Example: `style: Apply code formatting according to style guidelines`. Using a clear convention in commit messages helps contributors quickly understand the purpose of each change and makes Pull Request reviews smoother. ### Pull Request Guidelines 7. Push your changes to your GitHub repository. 8. Open a Pull Request (PR) to the `main` branch of the original repository. ### Branching Model We use a branching model to structure branches in our repository. Here's a suggested model based on commit categories: - **main (or master)**: The main branch containing stable, production-ready code. - **feat/xxx**: Individual branches for new features or functionalities. Example: `feat/user-authentication` - **fix/xxx**: Branches for specific bug fixes. Example: `fix/navigation-menu` - **docs/xxx**: Branches for documentation updates. Example: `docs/update-installation-guide` - **perf/xxx**: Branches for performance improvements. Example: `perf/image-loading-optimization` Following this structure, you can maintain an organized workflow for developing new features, fixing bugs, updating documentation, and enhancing performance in your Design System. It also facilitates collaboration among team members and keeps a clear record of project changes. ## License By contributing to My Turbo Components, you agree that your contributions will be licensed under the project's [MIT License](LICENSE). Thank you for your contributions and helping to improve My Turbo Components!