# Contributing to adof
Welcome to **adof**! We appreciate your interest in contributing to this project. Please review the following guidelines to help you get started.
## Getting Started
### 1. Fork the Repository
1. Fork this repository by clicking the "Fork" button at the top of this page.
2. Clone your forked repository:
```bash
git clone https://github.com/fnabinash/adof.git
```
3. Create a new branch for your changes:
```bash
git checkout -b feature/your-feature-name
```
### 2. Set Up Your Development Environment
Ensure you have [Rust installed](https://www.rust-lang.org/learn/get-started) on your system. Run the following commands to set up the project:
```bash
cargo build
cargo test
```
### 3. Code Style and Linting
Please follow the Rust community guidelines for code style. Before submitting, format your code with `cargo fmt` and run `cargo clippy` for linting.
### 4. Writing Tests
If you add new features or fix bugs, please write tests to ensure the change is well-documented and maintained. Run `cargo test` to verify all tests pass before submitting your PR.
## Submitting a Pull Request
1. Push your branch to your forked repository:
```bash
git push origin feature/your-feature-name
```
2. Open a pull request against the `main` branch of this repository.
3. Complete the pull request template to provide context for your changes.
4. Request a review, and we’ll get back to you as soon as possible.
## Reporting Bugs and Requesting Features
- **Bug Reports**: Open an issue with a descriptive title and as much detail as possible. Please use the [Bug Report Template](https://github.com/fnabinash/adof/blob/main/.github/ISSUE_TEMPLATE/bug_report.md).
- **Feature Requests**: For new ideas, please use the [Feature Request Template](https://github.com/fnabinash/adof/blob/main/.github/ISSUE_TEMPLATE/feature_request.md).
## Community Guidelines
Be respectful and considerate of others' contributions. Review our [Code of Conduct](https://github.com/fnabinash/adof/blob/main/CODE_OF_CONDUCT.md) before participating in the community. We value and encourage constructive feedback and collaboration.
Thank you for your contributions!