- Replace all `[[ condition ]] && die` with `if/fi` — the && pattern
exits silently when the condition is false under set -e
- Removed -e from set flags (kept -uo pipefail), all error paths are
now explicit
- Declare `input` as local in ask/ask_yn/ask_choice to prevent leakage
- Use `read -r input || true` to handle EOF safely
- Fix ask_choice arithmetic to avoid (()) triggering exit on false
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- New lib/prereqs.sh: detects distro (Arch, Debian/Ubuntu, RHEL/Fedora,
openSUSE) and installs git + podman/docker if missing
- Podman preferred over docker; user chooses if neither present
- Docker install also enables systemd service and adds user to docker group
- README updated: prereqs table now shows auto-install support
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>