Appearance
Contributing im OTOBO Open-Source-Projekt
OTOBO ist Open Source unter der GitHub-Organisation RotherOSS (https://github.com/RotherOSS/otobo). Wenn du Bugs melden oder eigenen Code beisteuern willst, folge diesem Workflow:
1. GitHub-Workflow
1.1 Fork & Clone
- Lege dir einen Fork von
https://github.com/RotherOSS/otobo
an. - Klone dein Fork lokal:bash
git clone https://github.com/<dein-user>/otobo.git cd otobo
### 1.2 Branching
Erstelle für jede Änderung einen neuen Branch:
```bash
git checkout -b feature/<kurze-beschreibung>
```
Beispiel:
```bash
git checkout -b feature/add-hello-world-module
```
### 1.3 Commit & Push
1. Implementiere deinen Code.
2. Füge sinnvolle Commit-Messages hinzu:
```bash
git add .
git commit -m "Adds HelloWorld module with basic functionality"
```
3. Push deinen Branch:
```bash
git push origin feature/add-hello-world-module
```
### 1.4 Pull Request
1. Öffne deinen Fork auf GitHub.
2. Klick auf **Compare & pull request**.
3. Beschreibe im PR-Text kurz, was dein Feature/Bugfix macht und warum es wichtig ist.
4. Wähle den richtigen Ziel-Branch (meist `master` oder `development`).
---
## 2. Code Style & Tests
### 2.1 CodePolicy
RotherOSS nutzt das Tool **CodePolicy** ([https://github.com/RotherOSS/CodePolicy](https://github.com/RotherOSS/CodePolicy)), um Coding-Standards zu prüfen.
* Installation:
```bash
cpanm CodePolicy
```
* Ausführen im Repo-Root:
```bash
CodePolicy --check .
```
### 2.2 Perl-Module & POD
* Jedes `Kernel::System::*` und `Kernel::Modules::*` Modul muss POD-Dokumentation enthalten.
* Deklariere Abhängigkeiten in `our @ObjectDependencies`.
* Achte auf `use strict; use warnings;`.
### 2.3 Unit-Tests
OTOBO benutzt Mojolicious-Tests und \[Test::More]. Lege deine Tests in `t/` ab:
```bash
prove -l t/MyModule.t
```
---
## 3. Issue-Management & Reviews
### 3.1 Issues öffnen
* Suche zuerst nach bestehenden Issues.
* Erstelle ein Issue mit Titel, Reproduktions-Schritten, Logs und Screenshots (falls nötig).
### 3.2 Labels & Templates
* Nutze die Labels **bug**, **enhancement**, **question**.
* Folge den Issue- und PR-Templates im Repo.
### 3.3 Code Reviews
* Reagiere zeitnah auf Review-Kommentare im PR.
* Ergänze Tests oder ändere Stil, wenn Reviewer es vorschlagen.
* Nach Approval wird dein PR gemerged.
---
## 4. Community & Support
* **GitHub Discussions:** [https://github.com/RotherOSS/otobo/discussions](https://github.com/RotherOSS/otobo/discussions)
* **Mailingliste & Chat:** Links findest du auf [https://otobo.com/](https://otobo.com/) im Bereich „Community“.
* **Dokumentation:** Developer-Docs auf [https://doc.otobo.org/](https://doc.otobo.org/) („How to Contribute“).
Viel Erfolg beim Mitgestalten von OTOBO!