Skip to content

Contributing

Contributions to recipes, launcher, core, and docs are welcome. Keep changes small, testable, and free of secrets.

Development environment

git clone https://github.com/benjarogit/rezeptor.git
cd rezeptor
# Distro (for clone/tar.gz development): python-pyqt6, bats-core, shellcheck
pip install --user PyQt6-Fluent-Widgets   # optional
# End users on Bazzite etc.: release AppImage or Flatpak — no host PyQt6
make validate
make test
REZEPTOR_DEV=1 ./setup.sh

Docs locally:

pip install -r requirements-docs.txt
mkdocs serve

Quality gate

Before every PR:

make validate          # shellcheck, syntax, compile, recipes-check, lint, manifest
make test              # bats
./scripts/recipe-lint.sh
./scripts/recipe-manifest.sh   # after recipe file changes → commit

make validateshellcheck covers only core/, recipes/photoshop, recipes/wiso-steuer, launcher/, scripts/.
bash -n (syntax target) covers all recipes/*/*.sh; for other recipes also run ./scripts/recipe-lint.sh.

Recipes

  1. ./scripts/new-recipe.sh … or GUI New recipe…
  2. recipe.yml + hooks per Developer overview
  3. Test with a real source (Install → Validate → Repair → Launch → Uninstall)
  4. Update the manifest
  5. No app binaries in the repo (BYOS)

Ideas: Recipe Submission.

Docs & translations

  • Mirror pages under docs/de/ and docs/en/ (same filenames)
  • UI strings: Translations
  • Brand: BRAND — no purple themes

Git notes

  • SemVer via the VERSION file — bump only when a release is intended
  • No editor-agent co-author trailers in commits
  • Do not commit secrets (tokens, private installers)

Releases

  • Bump SemVer in VERSION and push to main → GitHub Actions builds AppImage, Flatpak, and tar.gz and publishes the release
  • Assets: https://github.com/benjarogit/rezeptor/releases

Next