Contributing
Contributing
Where a change goes, and which page of this section covers each step.
Community Scripts is spread over four repositories. Pick the one that owns your change:
| Change | Repository |
|---|---|
| A new script (container, VM, add-on or host tool) | DevScripts, the testing repository |
| A fix or improvement to a script that is already released | ProxmoxVE |
| The engine: menus, container creation, helper functions | core |
| Incus VM scripts and Incus host tools | Incus |
A new script sent to ProxmoxVE is closed automatically with a pointer to DevScripts. Container scripts in the Incus repository are mirrored from ProxmoxVE and are not edited there.
The path of a new script
- The application meets the requirements (1,000+ stars, 6+ months old, actively maintained, official releases, no Docker).
- You write
ct/<slug>.sh,install/<slug>-install.shandjson/<slug>.jsonin a fork of DevScripts. - You open a pull request. A test builds the script on Proxmox VE and Incus hosts and reports the result on the pull request.
- A maintainer reviews and merges it. The script is published as a development script and collects feedback from testers.
- A maintainer promotes it to ProxmoxVE. From then on it is fixed there.
Contributing a script describes every step, including what the automated checks do and what their findings mean.
Pages in this section
| Page | Read it when |
|---|---|
| Contributing a script | You want to add a script or fix one, and need to know the process |
| Coding rules | You are writing a script and want to know what reviewers enforce |
| CT script template | You are writing ct/<slug>.sh |
| Install script template | You are writing install/<slug>-install.sh |
| JSON metadata template | You are writing json/<slug>.json |
| Testing from a fork | You want to run your branch on a host before or during review |
| Review checklist | You want to check your work the way a reviewer will |
| Script-creator agent | You use an AI assistant to draft a script |
| Helper functions | You need the name and arguments of a core helper |
Rule sources
The documentation explains the rules; these files define them. Where they disagree with a page here, the files win.
| File | Content |
|---|---|
| AGENTS.md in DevScripts | Every rule for script files, with a wrong and a right example each |
| Pull request template of DevScripts | Application requirements and what you confirm when you submit |
| CONTRIBUTING.md in ProxmoxVE | The short version for fixes to released scripts |
| core contributing guide | Rules for engine changes |
Questions go to the project's Discord or to ProxmoxVE Discussions.