@startuml gitea-deploy-workflow skinparam defaultFontName Arial skinparam backgroundColor #FAFAFA actor Developer participant "gitea-deploy\nSkill" as SKILL participant "Local git" as GIT participant "VPS (SSH)" as VPS participant "Gitea API" as API Developer -> SKILL : deploy gitea + push project SKILL -> Developer : collect VPS host, SSH user, key, credentials SKILL -> GIT : git rev-parse (check repo) alt not a git repo SKILL -> Developer : offer git init Developer -> GIT : confirm → git init + initial commit end SKILL -> VPS : ssh echo OK (connectivity test) alt SSH fails SKILL -> Developer : report error, stop end SKILL -> VPS : docker --version alt Docker not installed VPS -> VPS : curl get.docker.com | sh end SKILL -> VPS : upload docker-compose.yml SKILL -> VPS : docker compose up -d loop poll every 5s (max 60s) SKILL -> VPS : curl /api/healthz end SKILL -> VPS : gitea admin user create SKILL -> API : POST /api/v1/user/repos SKILL -> GIT : git remote add gitea ssh://... SKILL -> GIT : git push -u gitea --all SKILL -> API : GET /api/v1/repos/... (verify) SKILL -> Developer : report web URL + clone URL @enduml