Both .initialize_new_project.sh and .setup_dev.sh ignore failures of individual commands, which is not helpful when something goes wrong. I discovered this when I created a new environment with Python 3.13, and pip install -e .[dev] failed silently while running .setup_dev.sh.
I believe that adding set -e as the first command in each file would help.