# Contributing to AMICO Thank you for your interest in contributing to AMICO! We welcome contributions from the community and are pleased to have you join us. ## Getting Started 1. **Fork the Repository**: Start by forking the repository and then clone it locally. 2. **Install Dependencies**: Make sure you have Rust installed via [rustup](https://rustup.rs/). 3. **Create a Branch**: Create a branch for your work using a descriptive name. ## Development Process 1. **Code Style** - We use `rustfmt` for code formatting - Run `cargo fmt` before committing to ensure your code is properly formatted - Follow the Rust standard naming conventions - Use meaningful variable and function names 2. **Code Quality** - We use `clippy` for linting - Run `cargo clippy` to check your code - Fix any warnings before submitting your PR - Write clear commit messages explaining your changes 3. **Testing** - Write tests for new functionality - Ensure all tests pass by running `cargo test` - Include both unit tests and integration tests where appropriate ## Pull Request Process 1. **Before Submitting** - Update documentation if you're changing functionality - Ensure your code passes all CI checks - Keep your changes focused and atomic - Rebase your branch on the latest main branch 2. **Submitting** - Create a Pull Request with a clear title and description - Link any related issues - Explain what the changes do and why they're needed - Include steps for testing your changes 3. **Review Process** - Maintainers will review your PR - Address any requested changes - Once approved, your PR will be merged ## Reporting Issues - Use the GitHub issue tracker - Include steps to reproduce the issue - Include relevant logs and error messages - Describe expected vs actual behavior ## Code of Conduct We expect all contributors to: - Be respectful and inclusive - Accept constructive criticism - Focus on what is best for the community - Show empathy towards other community members ## Questions? If you have questions, feel free to: - Open an issue for discussion - Ask in the project's discussions section Thank you for contributing to AMICO! 🚀