@startuml xui-deploy-architecture skinparam componentStyle rectangle skinparam defaultFontName Arial skinparam backgroundColor #FAFAFA package "xui-deploy Skill" { component "SKILL.md\n(instructions)" as SKILL component "evals/evals.json" as EVALS } package "Local Machine" { component "SSH private key" as KEY actor Developer } package "VPS (Linux)" { component "curl / bash" as CURL component "x-ui CLI\n(x-ui setting / restart)" as XUCLI component "3x-ui Service\n(systemd)" as SERVICE database "x-ui Data\n(/etc/x-ui/)" as DATA component "Panel Web UI\n(:)" as PANEL component "Firewall\n(ufw / firewalld)" as FW } cloud "GitHub" { component "install.sh\n(MHSanaei/3x-ui)" as INSTALLER } Developer --> SKILL : triggers skill SKILL --> KEY : SSH auth SKILL --> CURL : runs installer via SSH CURL --> INSTALLER : downloads install.sh INSTALLER --> SERVICE : installs & starts SKILL --> XUCLI : configure port/user/pass/path XUCLI --> SERVICE : restart SERVICE --> DATA : persists config SERVICE --> PANEL : serves web UI SKILL --> FW : opens panel port SKILL --> Developer : reports panel URL @enduml