# Contributor Guidelines Thank you to all the contributors who have helped make this project possible! We welcome various types of contributions, such as bug reports, documentation improvements, feature requests, and code contributions. ## Contributing Guidelines When contributing to this repository, please first discuss the change you wish to make via [issue](https://github.com/danny-avila/chatgpt-clone/issues) or join our discord [Discord community](https://discord.gg/NGaa9RPCft). ## Our Standards Examples of behavior that contributes to creating a positive environment include: - Using welcoming and inclusive language - Being respectful of differing viewpoints and experiences - Gracefully accepting constructive criticism - Focusing on what is best for the community - Showing empathy towards other community members Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions when necessary. ## To contribute to this project, please adhere to the following guidelines: ## 1. Git Workflow We use a GitFlow workflow to manage changes to this project's codebase. Follow these general steps when contributing code: 1. Fork the repository and create a new branch with a descriptive slash based name (e.g., new/feature/x). 2. Implement your changes and ensure that all tests pass. 3. Commit your changes using conventional commit messages with GitFlow flags. Begin the commit message with a tag indicating the change type, such as "feat" (new feature), "fix" (bug fix), "docs" (documentation), or "refactor" (code refactoring), followed by a brief summary of the changes (e.g., `feat: Add new feature X to the project`). 4. Submit a pull request with a clear and concise description of your changes and the reasons behind them. 5. We will review your pull request, provide feedback as needed, and eventually merge the approved changes into the main branch. ## 2. Commit Message Format We have very precise rules over how our Git commit messages must be formatted. This format leads to **easier to read commit history**. Each commit message consists of a **header**, a **body**, and a **footer**. ```