Files
ProxmoxVED/docs/contribution/CONTRIBUTING.md
CanbiZ (MickLesk) b833eb68eb Add degoog CT/install/metadata and update docs
Introduce degoog support: add ct/degoog.sh (container orchestration and update handler), install/degoog-install.sh (in-container install using Bun, deploy prebuilt release, create systemd service on port 4444) and json/degoog.json (app metadata and default resources). ct script includes update routine with backups, Bun install, and fetch_and_deploy_gh_release usage. Also update documentation: refine contribution guide (CONTRIBUTING.md) with fork/testing workflow, templates, and metadata guidance; expand misc README to reflect canonical misc/* function library responsibilities and references.
2026-03-20 12:31:43 +01:00

4.2 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.sh scripts for container creation and update entrypoints
  • install/$AppName-install.sh scripts for in-container installation logic
  • the supporting workflow for testing from your fork before opening a PR

Getting started

Before contributing, set up:

  1. Visual Studio Code or another editor with ShellCheck support
  2. a fork of community-scripts/ProxmoxVED
  3. a local clone of your fork

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.sh
  • install/myapp-install.sh

Website metadata

Website metadata is maintained outside this repository's script contribution flow.

That means:

  • do not add repo JSON metadata files as part of the normal contribution path
  • do not assume a frontend/public/json/... workflow exists for the live site
  • route metadata creation or metadata changes through the website / maintainer workflow

Pages