# Contributing to OxiCloud

Thank you for your interest in contributing to OxiCloud! This document provides guidelines and instructions for contributing to the project.

## Code of Conduct

By participating in this project, you agree to maintain a respectful and inclusive environment for everyone. Please be considerate of other contributors and users.

## How to Contribute

There are many ways to contribute to OxiCloud:

1. Reporting bugs
2. Suggesting enhancements
3. Writing documentation
4. Improving code
5. Adding translations

### Reporting Bugs

If you find a bug, please create an issue with the following information:

- A clear, descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Screenshots if applicable
- System information (OS, browser, etc.)

### Suggesting Enhancements

Enhancement suggestions are welcome! Please include:

- A clear and detailed explanation of the feature
- Why this feature would be useful to most OxiCloud users
- Possible implementation approaches if you have ideas

### Pull Request Process

1. Fork the repository
2. Create your feature branch (`git checkout -b feature/something-useful`)
3. Make your changes
4. Run the tests and linters to ensure your code meets our quality standards:
   ```bash
   cargo test
   cargo clippy
   cargo fmt --check
   ```
5. Commit your changes with a descriptive message
6. Push to your branch
7. Create a Pull Request to the `main` branch

### Development Guidelines

Please follow the development guidelines in the [CLAUDE.md](CLAUDE.md) file, which include:

- Code style guidelines
- Architecture principles
- Testing requirements
- Documentation standards

## Development Environment Setup

Follow the setup instructions in the [README.md](README.md) to set up your development environment.

## Getting Help

If you need help with the contribution process or have questions, feel free to:

- Open an issue with your question
- Reach out to the maintainers

Thank you for contributing to OxiCloud!