# Contributing to Egin
Thank you for your interest in contributing to Egin!
We welcome contributions from the community to help improve and grow our infrastructure-as-code management project.
## Table of Contents
1. [Code Contributions](#code-contributions)
2. [Documentation Contributions](#documentation-contributions)
3. [Reporting Issues](#reporting-issues)
4. [Feature Proposals](#feature-proposals)
5. [Pull Request Process](#pull-request-process)
6. [Community Guidelines](#community-guidelines)
## Code Contributions
To contribute code to Egin, please follow these steps:
1. Set up your development environment by following our [Egin Environment Setup](https://github.com/hexbee-net/egin/blob/main/docs/content/guides/developer/getting-started/sui-environment.mdx) guide.
2. Fork the Egin repository and create a new branch for your feature or bug fix.
3. Write your code, ensuring it adheres to our coding standards and includes appropriate tests.
4. Submit a pull request with a clear description of your changes.
For significant features or changes, we recommend starting with an [Egin Improvement Proposal (EIP)](https://github.com/hexbee-net/eips/tree/main) before developing the logic.
## Documentation Contributions
We greatly appreciate contributions to our documentation. Here's how you can help:
1. For small fixes (typos, grammatical errors, etc.):
- Use the "Edit this page" link at the bottom of any page on [egin.docs.io](https://egin.docs.io).
- Make your changes and submit a pull request directly through GitHub.
2. For larger documentation issues:
- [Create an issue](https://github.com/hexbee-net/egin/issues/new/choose) describing the problem or improvement.
- If you'd like to fix it yourself, follow our [documentation contribution guidelines](./docs/content/references/contribute/contribution-process.mdx).
Documentation content is located in the `docs/content` directory of the Egin repository.
## Reporting Issues
If you encounter a bug or security vulnerability, please [create a GitHub issue](https://github.com/hexbee-net/egin/issues/new/choose). Provide as much detail as possible, including:
- A clear description of the issue
- Steps to reproduce the problem
- Expected behavior
- Actual behavior
- Any relevant logs or error messages
## Feature Proposals
For new feature ideas:
1. Start by creating an [Egin Improvement Proposal (EIP)](https://github.com/hexbee-net/eips/tree/main).
2. Discuss the proposal with the community and maintainers.
3. If approved, proceed with the implementation following the code contribution guidelines.
## Pull Request Process
1. Ensure your code follows our style guide and passes all tests.
2. Update the documentation to reflect any changes.
3. Add your changes to the CHANGELOG.md file under the "Unreleased" section.
4. Submit your pull request with a clear title and description.
5. Be responsive to any feedback or questions during the review process.
## Community Guidelines
We strive to maintain a welcoming and inclusive community. Please:
- Be respectful and considerate in all interactions.
- Follow our [Code of Conduct](CODE_OF_CONDUCT.md).
- Help others and share knowledge when possible.
- Stay focused on improving Egin and its ecosystem.
Thank you for contributing to Egin and helping us build better infrastructure-as-code tools!