# Contributing to GDScript Transpiler

Thank you for considering contributing to GDScript Transpiler!

We appreciate your input and want to make the contribution process as easy and transparent as possible.

Whether you want to report a bug, discuss code improvements, submit a fix, propose new features, or become a maintainer, we welcome your involvement.

## Development on Codeberg
We use Codeberg to host our code, track issues and feature requests, and accept pull requests.

It's recommended to familiarize yourself with Codeberg's features and workflow to participate effectively.

## Codeberg Flow
We follow the Codeberg Flow for making code changes.

This means that all code modifications should be proposed through pull requests.

Pull requests provide a structured and collaborative way to review and discuss code changes.

If you'd like to contribute, please follow these steps:

1. Select an open issue to work on or create a new issue if none exists.
2. Fork the repository and create a branch from the `dev` branch.
   - Use the issue number as the branch name, e.g., GD-111.
   - Assign the issue to yourself and set its status to "In Progress."
3. If you have made changes to the code that should be tested, please include appropriate tests.
4. If you have modified any APIs, ensure that the documentation is updated accordingly.
5. Create a pull request and provide information in the "Why" and "What" sections:
   - Link the pull request to the corresponding issue.
   - Assign the pull request to yourself.
   - Make sure each pull request is associated with only one issue.
   - If the pull request is still in progress, mark it as a draft.
   - Ensure that the continuous integration (CI) process passes successfully.
6. Submit the pull request!

## License
By contributing to this project, you agree that your contributions will be licensed under the same [MIT License](https://codeberg.org/LinuxUserGD/gdscript-transpiler-bin/src/branch/dev/LICENSE) that covers the project.

If you have any concerns, please reach out to the maintainers.

## Reporting Bugs
If you encounter any bugs or issues, please use Codeberg's issue tracking system.

You can report a bug by [opening a new issue](https://codeberg.org/LinuxUserGD/gdscript-transpiler-bin/issues/new?template=.gitea%2fISSUE_TEMPLATE%2fbug.md).

When submitting a bug report, please provide detailed information, including the steps to reproduce the issue, relevant background information, and sample code if possible.

## Coding Style
To maintain code consistency, please adhere to the following coding style guides:
- [Godot's GDScript Conventions](https://docs.godotengine.org/en/stable/tutorials/scripting/gdscript/gdscript_styleguide.html)

## References
This document was adapted from the open-source contribution guidelines for [GdUnit4](https://github.com/MikeSchulze/gdUnit4/blob/master/CONTRIBUTING.md)
