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:
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 validate → shellcheck 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¶
./scripts/new-recipe.sh …or GUI New recipe…recipe.yml+ hooks per Developer overview- Test with a real source (Install → Validate → Repair → Launch → Uninstall)
- Update the manifest
- No app binaries in the repo (BYOS)
Ideas: Recipe Submission.
Docs & translations¶
- Mirror pages under
docs/de/anddocs/en/(same filenames) - UI strings: Translations
- Brand: BRAND — no purple themes
Git notes¶
- SemVer via the
VERSIONfile — 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
VERSIONand push tomain→ GitHub Actions builds AppImage, Flatpak, andtar.gzand publishes the release - Assets: https://github.com/benjarogit/rezeptor/releases