This post is part of the Input Coverage > Code Coverage series.
Keep it boring.
process(data: &[u8]).cargo-fuzz).cargo-afl).fuzz and afl.Skeleton:
your-crate/
  src/lib.rs
  tests/prop.rs
  fuzz/fuzz_targets/target.rs
  fuzz-afl/src/main.rs
  Makefile
  scripts/afl.sh
process is the only place to exercise logic. All harnesses import it.
Short runs locally. Long runs in CI if you must. Store crash inputs as tests.