# Contributing to Email CLI
Thanks for your interest in contributing.
## Getting Started
1. Fork the repository
2. Clone your fork:
```bash
git clone https://github.com/<your-username>/email-cli.git
cd email-cli
```
3. Build from source:
```bash
cargo build
```
4. Run tests:
```bash
cargo test
```
## Development Requirements
- Rust 1.85+ (edition 2024)
- A Resend API key for integration testing
## Making Changes
1. Create a branch for your change:
```bash
git checkout -b your-feature-name
```
2. Make your changes
3. Run `cargo clippy` and `cargo fmt` before committing
4. Write clear commit messages that explain *why*, not just *what*
## Pull Requests
- Keep PRs focused on a single change
- Include a clear description of what the PR does and why
- Make sure `cargo check`, `cargo clippy`, and `cargo test` pass
- Update documentation if your change affects user-facing behavior
## Code Style
- Follow standard Rust conventions
- Use `anyhow` for error handling
- Keep functions small and focused
- Structured JSON output for all commands (see `output.rs`)
## Reporting Issues
Open an issue on GitHub with:
- What you expected to happen
- What actually happened
- Steps to reproduce
- Your OS and Rust version
## License
By contributing, you agree that your contributions will be licensed under the MIT License.