# Contributing to GeoThai

Thank you for your interest in contributing to the **GeoThai** project! 🌟 We welcome contributions of all kinds, whether it's bug fixes, new features, or improvements to documentation. To ensure a smooth contribution process, please follow these guidelines.

## Getting Started

1. **Fork the Repository**: Start by forking the [GeoThai npm package repository](https://github.com/GeoThai/npm-packages) to your own GitHub account.

2. **Clone Your Fork**: Clone the repository to your local machine:

   ```bash
   git clone https://github.com/your-username/npm-packages.git
   ```

3. **Install Dependencies**: Navigate to the project directory and install the necessary dependencies:

   ```bash
   cd npm-packages
   npm install
   ```

4. **Create a Branch**: Create a new branch for your changes:
   ```bash
   git checkout -b my-feature-branch
   ```

## Making Changes

1. **Write Clear and Descriptive Commit Messages**: When making changes, ensure your commit messages are descriptive and follow the conventional format:
   - `fix: description of the fix`
   - `feat: description of the new feature`
   - `docs: updates to documentation`
   - `style: formatting changes`
   - `refactor: code refactoring`

2. **Add Tests**: If you are adding new features or fixing bugs, please add relevant tests to ensure the quality and stability of the code. Place tests in the `test` directory and follow the existing testing practices.

3. **Run Tests**: Before submitting your changes, make sure all tests pass:

   ```bash
   npm test
   ```

4. **Update Documentation**: If your changes impact the usage or functionality of the package, update the `README.md` and any relevant documentation.

## Submitting Your Changes

1. **Push Your Changes**: Push your changes to your forked repository:

   ```bash
   git push origin my-feature-branch
   ```

2. **Create a Pull Request**: Go to the [GeoThai npm package repository](https://github.com/GeoThai/npm-packages) and create a pull request (PR) from your branch. Provide a clear description of the changes and reference any related issues.

3. **Review Process**: Your pull request will be reviewed by the maintainers. Be prepared to discuss your changes and make any necessary adjustments based on feedback.

## Code of Conduct

By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md). We are committed to creating a welcoming and inclusive environment for all contributors.

## Additional Resources

- [GitHub Docs - Creating a Pull Request](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-a-pull-request)
- [npm Documentation](https://docs.npmjs.com/)

## Contact

If you have any questions or need further assistance, please contact us at [geothai@fasu.dev](mailto:geothai@fasu.dev).

Thank you for contributing to the **GeoThai** project! Your efforts help us make the package better for everyone. 🙌
