First working version: 1 stupidly long one-liner
First legible version: ~6 lines
Plus minimal error handling: ~40 lines
Plus configuration hooks: ~75 lines
Plus shellcheck overrides: ~77 lines
Plus documentary code comments: ~1KB
Plus invocation documentation (-?/-h/--help): 2.5KB
Plus README.md: ~4KB
Plus CONTRIBUTING.md: ~6KB
Version control system that preserves this evolution and lets me use commit messages to explain the logic of each step: priceless