Professional PR Workflow
Overview
Automatisiert den kompletten Pull-Request-Workflow: Branch-Erstellung, Code-Formatierung, Commit-Integration und PR-Erstellung via GitHub CLI.
Features:
- •✅ Intelligentes Branch-Management - Erkennt geschützte Branches
- •✅ Integration mit professional-commit-workflow - Keine Commit-Duplikation
- •✅ Automatische Code-Formatierung (Biome, Black, Prettier, etc.)
- •✅ GitHub CLI Integration - PR-Erstellung, Labels, Issue-Verlinkung
- •✅ Aussagekräftige PR-Beschreibungen mit Test-Plan
- •✅ Draft-PR Support - WIP-PRs markieren
Prerequisites
Required:
- •Git (2.0+)
- •Python 3.8+
- •GitHub CLI (
gh) - installiert und authentifiziert
Optional (für Code-Formatierung):
- •JavaScript/TypeScript: Biome oder Prettier
- •Python: Black, isort, Ruff
- •Java: Google Java Format
- •Markdown: markdownlint
Usage Workflow
- •
Branch-Status prüfen:
- •Geschützter Branch (main/master/develop)? → Neuer Branch erstellen
- •Feature-Branch? → Aktuellen Branch verwenden
- •
Änderungen committen:
- •Uncommitted changes? → Rufe
professional-commit-workflowauf - •Bereits committed? → Verwende bestehende Commits
- •Uncommitted changes? → Rufe
- •
Code formatieren (optional mit
--no-formatüberspringen) - •
PR erstellen:
- •Push Branch zu Remote
- •Generiere PR-Titel und Beschreibung
- •Erstelle PR via
gh pr create
Main Script Usage
bash
# Standard-PR-Workflow python scripts/main.py # Draft-PR python scripts/main.py --draft # Ohne Formatierung python scripts/main.py --no-format # Single Commit (alle Änderungen in einem) python scripts/main.py --single-commit # Target Branch ändern python scripts/main.py --target develop
Supported Formatters
JavaScript/TypeScript
- •Biome (bevorzugt):
biome format --write . - •Prettier:
prettier --write . - •ESLint:
eslint --fix .
Python
- •Black:
black . - •isort:
isort . - •Ruff:
ruff format .
Java
- •Google Java Format: Via Maven/Gradle Plugin
Markdown
- •markdownlint:
markdownlint --fix **/*.md - •mdformat:
mdformat .
Output Example
text
============================================================ Professional PR Workflow ============================================================ ✓ Branch-Status: main (geschützt) ✓ Neuer Branch erstellt: feature/user-dashboard-2024-12-21 ✓ Code-Formatierung: ✓ Biome: 5 Dateien formatiert ✓ ESLint: 0 Fehler ✓ Branch gepusht: origin/feature/user-dashboard-2024-12-21 ✓ PR erstellt: #42 https://github.com/user/repo/pull/42 ✅ PR-Workflow erfolgreich abgeschlossen
Configuration
pr_config.json
json
{
"protected_branches": ["main", "master", "develop"],
"default_target": "main",
"auto_delete_branch": false,
"formatters": {
"javascript": "biome",
"python": "black",
"java": "google-java-format"
}
}
Error Handling
Branch-Fehler: Prüft bestehende Branches, bietet alternative Namen
Format-Fehler: Zeigt Details, ermöglicht --no-format Fallback
GitHub CLI-Fehler: Prüft Authentifizierung, zeigt gh-Setup-Anleitung
Push-Fehler: Retry-Logik, manuelle Push-Kommandos
References
- •Code-Formatting: Formatter-Details
- •Commit-Workflow: Integration mit Commit-Skill
- •PR-Template: PR-Best-Practices
- •Troubleshooting: Fehlerbehebung