Architecture
How Core, ProxmoxVE, DevScripts, and Incus work together.
Community Scripts is a set of repositories with clear ownership boundaries:
| Repository | Owns |
|---|---|
| Core | Shared Bash engine, UI, backends, helpers, telemetry, generated headers |
| ProxmoxVE | Canonical application scripts and Proxmox VE-specific tools/VMs |
| DevScripts | New application scripts while they are tested before promotion |
| Incus | Mirrored application scripts, Incus VMs, Incus host tooling, and Incus-only metadata |
An application script says what it needs—its name, resource defaults, operating system, and any application-specific logic. It first loads Core. Core resolves the application and engine sources independently, detects the host, loads the shared wizard, and dispatches to either the Proxmox VE or Incus backend.
application script
→ core/build.func
→ resolve script root + Core root
→ detect Proxmox VE or Incus
→ shared UI and runtime
→ platform backend creates the container
→ lxc/install.func bootstraps it
→ application install script runs with Core helpersThe same high-level container lifecycle is available on both platforms, but the
host-specific command path is not interchangeable: Proxmox VE uses pct/qm and
Incus uses incus. VM workflows are platform specific. See Core engine
for the current module map and Script authoring for the contracts an
application script should use.