2
Contributing Guide
Daniel Krähenbühl edited this page 2026-05-20 08:26:32 +02:00

Contributing Guide

Branch-Strategie

main          ← Produktions-Stand (entspricht Live-Server)
develop       ← Aktiver Entwicklungs-Branch
feature/*     ← Feature-Branches (werden in develop gemergt)
fix/*         ← Bugfix-Branches
  • Neue Features immer von develop abzweigen
  • Fertige Features via Merge (no-ff) in develop
  • developmain nur bei einem Release

Commit-Konventionen

Format: type: kurze Beschreibung

Typ Verwendung
feat Neues Feature
fix Bugfix
chore Build, Konfiguration, Abhängigkeiten
docs Dokumentation
refactor Refactoring ohne Funktionsänderung
security Sicherheits-Fix

Beispiele:

feat: email verification on registration
fix: mobile navbar overflow on small screens
chore: update Brevo SMTP config in .env.example

Release-Prozess

  1. develop vollständig und getestet
  2. CHANGELOG.md aktualisieren ([Unreleased][x.y.z] - YYYY-MM-DD)
  3. Commit auf develop, Push
  4. developmain mergen (no-ff)
  5. Tag vx.y.z erstellen und pushen
  6. Deploy auf Hetzner (siehe Deployment-Guide)

Versionierung

Semantic Versioning: MAJOR.MINOR.PATCH

Wann
PATCH Bugfixes, kleine Anpassungen
MINOR Neue Features, abwärtskompatibel
MAJOR Breaking Changes

Codeberg Remote

SSH:   ssh://git@codeberg.org/Armarium-Suite/armarium-suite.git
HTTPS: https://codeberg.org/Armarium-Suite/armarium-suite.git

i18n-Regel

Neue Texte immer in allen 4 Sprachdateien gleichzeitig erfassen:

frontend/src/assets/i18n/de.json  ← Deutsch (Primärsprache)
frontend/src/assets/i18n/en.json
frontend/src/assets/i18n/fr.json
frontend/src/assets/i18n/it.json

Design-Regeln

  • Primary Color: Violet (#7c3aed / bg-violet-700)
  • Icons: Flowbite Outline für Navbar/Modals, Fill für Sidebar-Navigation
  • Kein Flowbite JS Runtime — alle Interaktionen als Angular Signals
  • Touch-Targets: mindestens p-2 auf Icon-Buttons
  • Mobile-first: grid-cols-1 sm:grid-cols-2, flex-col sm:flex-row

Sicherheits-Checkliste

Vor jedem Merge in develop prüfen:

  • Keine Credentials im Code (Tokens, Passwörter, API-Keys)
  • Neue Endpunkte mit IsAuthenticated oder AllowAny korrekt gesetzt
  • Neue AllowAny-Endpunkte mit AuthThrottle (5/min) gesichert
  • Neue Felder in Serializer-exclude wenn nötig
  • Migrations erstellt und geprüft
  • i18n in allen 4 Sprachen aktualisiert