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.
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.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.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