# Contributing to Image Analysis Service First off, thank you for considering contributing to this project! ## Code of Conduct This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. ## How Can I Contribute? ### Reporting Bugs Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible: - Use a clear and descriptive title - Describe the exact steps which reproduce the problem - Provide specific examples to demonstrate the steps - Describe the behavior you observed after following the steps - Explain which behavior you expected to see instead and why - Include logs if relevant ### Suggesting Enhancements Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include: - Use a clear and descriptive title - Provide a step-by-step description of the suggested enhancement - Provide specific examples to demonstrate the steps - Describe the current behavior and explain which behavior you expected to see instead - Explain why this enhancement would be useful ### Pull Requests - Fill in the required template - Do not include issue numbers in the PR title - Include screenshots and animated GIFs in your pull request whenever possible - Follow the Rust styleguides - Include thoughtfully-worded, well-structured tests - Document new code - End all files with a newline ## Styleguides ### Git Commit Messages - Use the present tense ("Add feature" not "Added feature") - Use the imperative mood ("Move cursor to..." not "Moves cursor to...") - Limit the first line to 72 characters or less - Reference issues and pull requests liberally after the first line ### Rust Styleguide - Run `cargo fmt` before committing - Follow the official [Rust API Guidelines](https://rust-lang.github.io/api-guidelines/) - Include documentation for public APIs - Write tests for new code ## Additional Notes ### Issue and Pull Request Labels This section lists the labels we use to help us track and manage issues and pull requests. - `bug` - Issues that are bugs - `enhancement` - Issues that are feature requests - `documentation` - Issues or PRs that affect documentation - `good first issue` - Good for newcomers - `help wanted` - Extra attention is needed