# Contributing to MagicAPI AI Gateway Thank you for considering contributing to the MagicAPI AI Gateway! We welcome contributions from the community to help improve and expand the project. This document outlines the process for contributing and provides some guidelines to ensure a smooth collaboration. ## Getting Started 1. **Familiarize Yourself with the Project**: - Read the [README.md](../README.md) to understand the project's purpose, features, and setup instructions. - Explore the codebase to get a sense of the project's structure and coding style. 2. **Check Open Issues**: - Visit the [GitHub Issues](https://github.com/MagicAPI/ai-gateway/issues) page to see if there are any existing issues you can help with. - Feel free to comment on issues if you need more information or want to express interest in working on them. 3. **Fork the Repository**: - Create a fork of the repository to work on your changes. 4. **Clone Your Fork**: - Clone your fork to your local machine using `git clone`. ## Making Changes 1. **Create a Branch**: - Create a new branch for your changes using `git checkout -b feature/your-feature-name`. 2. **Write Clear, Concise, and Idiomatic Code**: - Follow Rust's naming conventions and best practices. - Ensure your code is modular and well-organized. 3. **Test Your Code**: - Write unit tests for new features or bug fixes. - Run `cargo test` to ensure all tests pass. 4. **Document Your Changes**: - Update documentation if your changes affect usage or setup. - Add comments to your code where necessary for clarity. ## Submitting a Pull Request 1. **Push Your Changes**: - Push your branch to your fork using `git push origin feature/your-feature-name`. 2. **Create a Pull Request**: - Go to the original repository and click on "New Pull Request". - Select your branch and provide a detailed description of your changes. 3. **Be Detailed in Your PR Description**: - Clearly explain the purpose of your changes. - Reference any related issues or discussions. - Include any relevant screenshots or logs if applicable. 4. **Address Feedback**: - Be responsive to feedback and make necessary changes. - Engage in discussions to clarify any questions or concerns. ## Thank You! Your contributions are greatly appreciated and help make MagicAPI AI Gateway better for everyone. We look forward to your input and collaboration!