# Contributing to CreatureChat

First off, thank you for considering contributing to CreatureChat! It's people like you that 
make the Minecraft modding community such a great place to be a part of. Here are a few 
guidelines that we ask contributors to follow to make the process easy and effective for 
everyone involved.

## Getting Started

Before you begin:

- Ensure you have a [GitLab account](https://gitlab.openshot.org/) linked to your email.
- Familiarize yourself with the [GitLab Flow](https://docs.gitlab.com/ee/topics/gitlab_flow.html) to understand our branch management and release structure.
- Make sure you have a basic understanding of the [Fabric modding platform](https://fabricmc.net/).

## Making Changes

1. **Fork the Repository**
    - Fork the project repository: http://gitlab.openshot.org/minecraft/creature-chat
    - Clone your fork to your local machine and set up the development environment as described in [INSTALL.md](INSTALL.md).

2. **Create a Branch**
    - Create a new branch from where you want to base your work.
    - Use a clear branch name that describes the intent of your changes.

3. **Make Your Changes**
    - Make the changes in your fork following the coding conventions and guidelines.
    - Commit your changes. Keep your commits as small as possible but include complete and informative commit messages.

4. **Test Your Changes**
    - Ensure your changes do not break any existing functionality.
    - Test your changes thoroughly, making sure they provide the functionality described in your branch name.

5. **Push Changes**
    - Push your changes to your fork on GitLab.

## Submitting a Merge Request

1. **Merge Request**
    - Make sure your branch is up to date with the main project branch you are targeting.
    - Submit a merge request to the main repository in the appropriate branch.
    - Include a descriptive title and a detailed first comment describing what your changes do.

2. **Review Process**
    - Other contributors and maintainers will review your merge request. Be open to discussing potential improvements.
    - Make any requested changes to your merge request. This might require more commits.

3. **Final Review and Merge**
    - Once your merge request is approved, a project maintainer will merge it.

## Reporting Bugs

- Bugs are tracked as GitLab issues. Create an issue on our repository and clearly describe the bug with as much detail as possible, steps to reproduce, expected outcome, and actual outcome.

## Community

- Join our [Discord](https://discord.gg/m9dvPFmN3e) to chat with other contributors and get help with your development questions.

Thank you for your contributions to the CreatureChat mod!
