It’s apparently advantageous for uv to have a specific shebang set that uv init doesn’t add, no problem, we can have a zsh alias for it
alias add-shebang='f(){
if [[ ! -s $1 ]]; then
echo "#!/usr/bin/env -S uv run --script" > "$1";
elif head -n1 "$1" | grep -q "^#!"; then
echo "Shebang already present in $1";
else
sed -i "1i #!/usr/bin/env -S uv run --script" "$1";
fi
}; f'
Then if you have a python script from uv init --script you can add-shebang myscript.py to add the shebang.