@startuml gitea-deploy-architecture skinparam componentStyle rectangle skinparam defaultFontName Arial skinparam backgroundColor #FAFAFA package "gitea-deploy Skill" { component "SKILL.md\n(instructions)" as SKILL component "evals/evals.json" as EVALS } package "Local Machine" { component "git repo\n(project)" as REPO component "SSH private key" as KEY } package "VPS" { component "Docker Engine" as DOCKER component "docker-compose.yml" as COMPOSE database "Gitea Data\n(~/gitea/data)" as DATA component "Gitea Container\n(:3000, :22)" as GITEA } actor Developer Developer --> SKILL : triggers skill SKILL --> KEY : uses for SSH auth SKILL --> DOCKER : installs if missing SKILL --> COMPOSE : uploads & runs COMPOSE --> GITEA : starts container GITEA --> DATA : persists data SKILL --> GITEA : initializes via REST API SKILL --> REPO : git remote add + push REPO --> GITEA : git push (SSH) SKILL --> Developer : reports URLs @enduml