# Contributing to ftr

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

## How to Contribute

1. **Fork the repository** and create your branch from `main`.
2. **Add tests** for any new functionality.
3. **Ensure all tests pass** by running `cargo test`.
4. **Run clippy** to catch common mistakes: `cargo clippy -- -D warnings`
5. **Format your code** with `cargo fmt`.
6. **Update documentation** as needed.
7. **Submit a pull request** with a clear description of your changes.

## Development Setup

```bash
# Clone your fork
git clone git@github.com:YOUR_USERNAME/ftr.git
cd ftr

# Build the project
cargo build

# Run tests
cargo test

# Run with sudo (required for ICMP)
sudo cargo run -- google.com
```

## Code Style

- Follow Rust naming conventions
- Use meaningful variable names
- Add comments for complex logic
- Keep functions focused and small

## Reporting Issues

When reporting issues, please include:
- Your operating system
- Rust version (`rustc --version`)
- Steps to reproduce the issue
- Expected vs actual behavior

## Feature Requests

Feature requests are welcome! Please open an issue to discuss your idea before implementing major changes.

## License

By contributing, you agree that your contributions will be licensed under the MIT License.