Files
ankn a5f8fb49ab Migrate all repos into monorepo context folders
Bahn: aisupport, Analyse-O2C-C2S, awesome-bahn-mcp-servers, beam-mcp,
      Confluence_Bot, db-planet-mcp-server, O2C-Harness, project-audit,
      Projekt-KIQ-HP, teamlandkarte-mcp
Dhive: Jury-Voting
Privat: CV, NoteGraph (NOTE: NoteGraph needs complete redo after consolidation)
Shared: AI-Orchestrator, OrgMyLife, power_skills_and_more
Shared/references: symphony (read-only)

Bahn repos remain available as independent remotes - this monorepo
pulls them in via subtree, the originals are untouched.
2026-06-30 20:39:52 +02:00

121 lines
2.5 KiB
Markdown

# Merge Request Standards
## MR-Title: Conventional Commit Format (Pflicht)
```
feat(scope): kurze Beschreibung
fix(auth): Token-Refresh bei 401 Response
docs(arc42): Context-Diagramm ergänzen
```
## MR-Description: Markdown (Pflicht)
Jede MR braucht eine **ausführliche Beschreibung** in Markdown:
```markdown
## Zusammenfassung
Kurze Beschreibung was diese MR macht und warum.
## Änderungen
- Controller für `/api/users` mit CRUD-Operationen
- Service-Layer mit Validierung
- Integration-Tests mit Testcontainers
## Gelöste Issues
Closes #1, Closes #3
## Testergebnisse
- Unit-Tests: ✅ 12/12
- Integration-Tests: ✅ 4/4
- Coverage: 85%
## Screenshots / Beispiele
(Falls UI-Änderungen oder API-Responses)
```
## Assignee: Immer sich selbst
```bash
glab mr create \
--title "feat(users): implement CRUD REST API" \
--description "$(cat mr-description.md)" \
--assignee "@me" \
--remove-source-branch \
--fill
```
## Checkliste vor MR-Erstellung
- [ ] Alle Issues angelegt und referenziert
- [ ] Pipeline grün
- [ ] Tests geschrieben und bestanden
- [ ] Conventional Commit im Title
- [ ] Ausführliche Description in Markdown
- [ ] Assignee gesetzt (@me)
## Self-Review, Approve und Merge
Nach MR-Erstellung und grüner Pipeline:
### 1. Self-Review durchführen
```bash
# Diff des MR anschauen
glab mr diff
# Prüfpunkte:
# - Keine Debug-Code/TODOs vergessen?
# - Keine Secrets im Code?
# - Tests vollständig?
# - Doku aktuell?
# - Naming Conventions eingehalten?
```
### 2. Approve (wenn Review OK)
```bash
glab mr approve
```
### 3. Merge (wenn Pipeline grün + Review OK)
```bash
glab mr merge --when-pipeline-succeeds
```
### Bedingungen für Auto-Merge
Nur mergen wenn ALLE Bedingungen erfüllt:
- [ ] Pipeline ist grün (alle Jobs passed)
- [ ] Self-Review durchgeführt (keine Findings)
- [ ] Keine offenen Threads/Diskussionen
- [ ] Keine CRITICAL/HIGH Trivy-Findings
Wenn eine Bedingung NICHT erfüllt ist → NICHT mergen, stattdessen:
- Findings als Kommentar am MR dokumentieren
- Fixen wenn möglich
- Oder um Hilfe bitten (HELP:)
## Nach dem Merge: Main-Pipeline prüfen
Nach `glab mr merge` startet eine Pipeline auf main. Diese MUSS auch grün sein:
```bash
# Merge durchführen
glab mr merge --when-pipeline-succeeds
# Danach: Main-Pipeline überwachen
sleep 30
glab ci status # zeigt jetzt main-Pipeline
# Bei Fehler auf main: sofort fixen (neuer Branch, neuer MR)
```
Der Merge ist erst wirklich erfolgreich wenn die Main-Pipeline grün ist.
Wenn main failed → Issue anlegen, Fix-Branch erstellen, fixen, MR, mergen.