Files
Orchestrator/bahn/O2C-Harness/merge-request.md
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

2.5 KiB

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:

## 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

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

# 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)

glab mr approve

3. Merge (wenn Pipeline grün + Review OK)

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:

# 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.