I think I am fine for changing it so it only does the ln if for some reason the symlink does not already exist.
Also open to committing /public/plugins/.gitignore into the repo so the folder is always there and then we can get rid of the mkdir.
This is a very very fiddly change though I am not super comfortable accepting a first time PR for it.