Previously repo create only initialized the local repo and relied on
Gitea's push-to-create feature, which always yields a private
repository. Now the script pre-creates the remote via the Gitea API
honoring --visibility public|private (default: private), and falls
back to a PATCH when the repo already exists.
Send GET to /api/v1/repos/search?q={name} and filter results
by exact name match. Output: {"ok": true/false, "data": [...]}
with each match containing id, owner.login, name, clone_url.