# Development Setup
**Requirements:** Rust 1.85+ (stable). Install via [rustup](https://rustup.rs/).
## Clone and build
```sh
git clone https://github.com/DracoWhitefire/hdmi-hal-async.git
cd hdmi-hal-async
cargo build
```
## Running checks
```sh
cargo fmt --check
cargo clippy -- -D warnings
cargo rustdoc -- -D missing_docs
```
## Measuring coverage
Coverage requires [`cargo-llvm-cov`](https://github.com/taiki-e/cargo-llvm-cov):
```sh
cargo install cargo-llvm-cov
cargo llvm-cov
```
The current baseline is stored in `.coverage-baseline`. CI fails if coverage drops more
than 0.1% below it. On pushes to `main` or `develop`, an improvement automatically opens
a `ci/coverage-ratchet` PR to commit the new baseline.