3.9 KiB
Community Scripts Contribution Guide
Welcome to the community-scripts repository
These documents outline the coding standards and contribution flow for the ProxmoxVED repository.
The important reality check is simple:
- contributors primarily submit shell scripts
- website metadata is not contributed as repo JSON files
- metadata changes belong to the website / maintainer workflow
Scope of these documents
This contribution guide covers:
ct/$AppName.shscripts for container creation and update entrypointsinstall/$AppName-install.shscripts for in-container installation logic- the supporting workflow for testing from your fork before opening a PR
Getting started
Before contributing, set up:
- Visual Studio Code or another editor with ShellCheck support
- a fork of
community-scripts/ProxmoxVED - a local clone of your fork
Recommended extensions
Templates
Use these templates as your starting point:
Script types
Application script: ct/AppName.sh
Reference guide:
This script is responsible for:
- host-side container orchestration
- app variables and defaults
- update wiring for the installed app
Installation script: install/AppName-install.sh
Reference guide:
This script is responsible for:
- container-internal installation logic
- package/runtime setup
- final application configuration
Contribution process
1. Fork the repository
Fork community-scripts/ProxmoxVED to your GitHub account.
2. Clone your fork
git clone https://github.com/yourUserName/ForkName
3. Create a branch
git switch -c your-feature-branch
4. Configure your fork for testing
Use the helper script:
bash docs/contribution/setup-fork.sh --full
This prepares the raw GitHub URLs in your working copy so you can test against your own fork instead of the upstream repository.
5. Build and test from your fork
Use the curl/bash execution model that matches real user behavior, for example:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/<USER>/<REPO>/refs/heads/<BRANCH>/ct/myapp.sh)"
Do not document or optimize only for local manual execution if the real path is curl-based execution.
6. Commit only your intended contribution
git commit -m "Your commit message"
7. Push your branch
git push origin your-feature-branch
8. Open a pull request
Open a PR from your branch to community-scripts/ProxmoxVED/main.
Your PR should contain only the files that belong to the script contribution itself, typically:
ct/myapp.shinstall/myapp-install.shjson/myapp.json
Website metadata
Add a Json file with all Metadata for the App. DOCS