> ## Documentation Index
> Fetch the complete documentation index at: https://cloudsim-ho-project.puneetchandna.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Contributing

> Guidelines for contributing to the project.

First off, thank you for considering contributing to our project! We welcome any and all contributions, from bug reports to new features.

## Code of Conduct

We have a [Code of Conduct](https://github.com/puneet-chandna/cloudsim-ho-research-V2?tab=coc-ov-file) that we expect all contributors to adhere to. Please take a moment to read it before you get started.

## How to Contribute

### Reporting Bugs

If you find a bug, please open an issue on our [GitHub repository](https://github.com/puneet-chandna/cloudsim-ho-research-V2/issues). When you report a bug, please include the following information:

* A clear and descriptive title.
* A detailed description of the bug, including steps to reproduce it.
* The expected behavior and the actual behavior.
* Your system information (OS, Java version, etc.).

### Suggesting Enhancements

If you have an idea for a new feature or an enhancement to an existing one, please open an issue on our [GitHub repository](https://github.com/puneet-chandna/cloudsim-ho-research-V2/issues). When you suggest an enhancement, please include the following information:

* A clear and descriptive title.
* A detailed description of the enhancement, including the problem it solves and why it would be a good addition to the project.

### Your First Code Contribution

If you are new to the project and want to make your first code contribution, here are some tips to get you started:

1. **Find a good first issue:** Look for issues with the `good first issue` label. These are issues that are well-suited for first-time contributors.
2. **Set up your development environment:** Follow the instructions in the [Development Setup](#development-setup) section to set up your development environment.
3. **Create a pull request:** Once you have made your changes, create a pull request. See the [Pull Request Process](#pull-request-process) section for more details.

## Development Setup

1. **Prerequisites:** Make sure you have [Java 21](https://www.oracle.com/java/technologies/javase-jdk21-downloads.html) and [Maven 3.9+](https://maven.apache.org/download.cgi) installed.
2. **Clone the repository:** `git clone https://github.com/puneet-chandna/cloudsim-ho-research-V2.git`
3. **Build the project:** `cd cloudsim-ho-research-V2 && mvn clean install`

## Pull Request Process

1. **Fork the repository:** Create a fork of the repository on GitHub.
2. **Create a new branch:** `git checkout -b my-new-feature`
3. **Make your changes:** Make your changes to the code and add tests for them.
4. **Run the tests:** `mvn test`
5. **Commit your changes:** `git commit -m 'Add some feature'`
6. **Push to the branch:** `git push origin my-new-feature`
7. **Create a new Pull Request:** Open a pull request on the [GitHub repository](https://github.com/puneet-chandna/cloudsim-ho-research-V2/pulls).

## Coding Style Guide

We follow the [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html). Please make sure your code adheres to this style guide.

## License

This project is licensed under the [MIT License](../LICENSE).
