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.
This commit is contained in:
@@ -0,0 +1,120 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user