Claude Code Plugins

Community-maintained marketplace

Feedback

professional-commit-workflow

@talent-factory/dotfiles
1
0

Erstellt professionelle Git-Commits mit automatischen Pre-Commit-Checks für Java, Python, React und Dokumentation. Generiert Emoji Conventional Commit-Nachrichten und analysiert Staging-Status. Atomare Commits nach Best Practices.

Install Skill

1Download skill
2Enable skills in Claude

Open claude.ai/settings/capabilities and find the "Skills" section

3Upload to Claude

Click "Upload skill" and select the downloaded ZIP file

Note: Please verify skill by going through its instructions before using it.

SKILL.md

name professional-commit-workflow
description Erstellt professionelle Git-Commits mit automatischen Pre-Commit-Checks für Java, Python, React und Dokumentation. Generiert Emoji Conventional Commit-Nachrichten und analysiert Staging-Status. Atomare Commits nach Best Practices.

Professional Commit Workflow

Overview

Dieser Skill automatisiert den kompletten Git-Commit-Workflow mit professionellen Qualitätschecks und konventionellen Commit-Nachrichten. Er ersetzt den /commit Command mit einem wiederverwendbaren, distribuierbaren Skill.

Special Features:

  • Automatische Projekterkennung (Java, Python, React, Dokumentation)
  • Pre-Commit-Validierung mit projektspezifischen Tools
  • Emoji Conventional Commits (✨ feat, 🐛 fix, 📚 docs, etc.)
  • Intelligente Staging-Analyse mit automatischem Add
  • Atomare Commit-Empfehlungen bei mehreren logischen Änderungen
  • Performance-optimiert durch modulare Validator-Architektur

Prerequisites

Required:

  • Git (version 2.0+)
  • Python 3.8+

Optional (für spezifische Validierungen):

  • Java: Maven oder Gradle
  • Python: ruff, black, pytest, mypy
  • React/Node.js: npm/pnpm/yarn/bun, ESLint, Prettier
  • Docs: LaTeX, markdownlint, AsciiDoc
# Python dependencies installieren
pip install -r requirements.txt --break-system-packages

Usage Workflow

  1. User initiiert Commit: "Erstelle einen Commit" oder "Commit die Änderungen"

  2. Optionen erkennen:

    • --no-verify: Überspringt Pre-Commit-Checks
    • --skip-tests: Überspringt nur Tests
    • --force-push: Force Push nach Commit (Vorsicht!)
  3. Projekt-Detection ausführen:

    python scripts/project_detector.py
    

    Erkennt automatisch:

    • Java (Maven: pom.xml, Gradle: build.gradle)
    • Python (pyproject.toml, requirements.txt, setup.py)
    • React/Node.js (package.json mit react/next/vite)
    • Dokumentation (*.tex, *.md, *.adoc)
  4. Pre-Commit-Validierung (falls nicht --no-verify):

    python scripts/main.py --validate-only
    

    Führt projektspezifische Checks aus:

    • Java: Build, Tests, Checkstyle, SpotBugs
    • Python: Ruff, Black, pytest, mypy
    • React: ESLint, Prettier, TypeScript, Build
    • Docs: LaTeX compile, markdownlint
  5. Staging-Analyse:

    python scripts/git_analyzer.py --analyze-staging
    
    • Prüft git status für gestakte Dateien
    • Fügt automatisch Änderungen hinzu falls nötig
    • Zeigt Übersicht der zu committenden Dateien
  6. Diff-Analyse:

    python scripts/git_analyzer.py --analyze-diff
    
    • Analysiert git diff für logische Änderungen
    • Erkennt mehrere Features/Fixes in einem Commit
    • Empfiehlt Aufteilung bei Bedarf
  7. Commit-Message generieren:

    python scripts/commit_message.py --generate
    
    • Erkennt Commit-Typ aus Änderungen
    • Generiert Emoji Conventional Commit
    • Deutsche, imperative Beschreibung
    • Format: <emoji> <type>: <beschreibung>
  8. Commit erstellen:

    git commit -m "$(python scripts/commit_message.py --output)"
    
    • WICHTIG: Keine "Co-Authored-By" oder "Generated with" Zusätze
  9. Optional: Push anbieten:

    git push origin <branch>
    

Main Script Usage

# Standard-Commit-Workflow
python scripts/main.py

# Nur Validierung (kein Commit)
python scripts/main.py --validate-only

# Checks überspringen
python scripts/main.py --no-verify

# Tests überspringen
python scripts/main.py --skip-tests

# Mit Force-Push
python scripts/main.py --force-push

Output Structure

Erfolgreicher Workflow:

✓ Projekt erkannt: React/TypeScript
✓ Pre-Commit-Checks bestanden (3/3)
  ✓ ESLint: 0 Fehler
  ✓ TypeScript: Kompilierung erfolgreich
  ✓ Build: Erfolgreich
✓ Staging-Analyse: 5 Dateien bereit
✓ Commit-Typ erkannt: feat
✓ Commit erstellt: ✨ feat: User Dashboard mit Metriken hinzugefügt

Bei Validierungs-Fehlern:

✗ Pre-Commit-Checks fehlgeschlagen (1/3)
  ✓ ESLint: 0 Fehler
  ✗ TypeScript: 2 Fehler gefunden
    - src/components/Dashboard.tsx:12 - Type 'string' is not assignable to type 'number'
  ✓ Build: Erfolgreich

❌ Commit abgebrochen. Bitte Fehler beheben oder --no-verify verwenden.

Configuration

commit_types.json

Definiert Emoji-Mappings für Conventional Commits:

{
  "feat": {"emoji": "✨", "description": "Neue Funktionalität"},
  "fix": {"emoji": "🐛", "description": "Fehlerbehebung"},
  "docs": {"emoji": "📚", "description": "Dokumentation"}
}

validation_rules.json

Projektspezifische Validierungs-Regeln:

{
  "java": {
    "build": true,
    "tests": true,
    "checkstyle": true
  },
  "python": {
    "ruff": true,
    "black": true,
    "pytest": true,
    "mypy": true
  }
}

Error Handling

Validierungs-Fehler:

Git-Fehler:

  • Prüfe Git-Status (untracked, conflicts)
  • Verweise auf Git-Troubleshooting
  • Biete manuelle Kommandos an

Tool nicht gefunden:

  • Graceful degradation (überspringen)
  • Warne User über fehlende Validierung
  • Empfehle Tool-Installation

Best Practices

Atomare Commits:

  • ✅ Jeder Commit = Eine logische Einheit
  • ✅ Trenne Features, Fixes, Refactorings
  • ❌ Keine "WIP" oder "misc changes" Commits

Aussagekräftige Nachrichten:

  • ✅ Beschreibe "Was" und "Warum", nicht "Wie"
  • ✅ Imperative Form: "Füge hinzu", nicht "Hinzugefügt"
  • ✅ Erste Zeile ≤ 72 Zeichen
  • ❌ Keine automatischen Signaturen

Code-Qualität:

  • ✅ Alle Checks bestanden vor Commit
  • ✅ Tests laufen durch
  • ✅ Build erfolgreich
  • ❌ Keine Debug-Ausgaben oder auskommentierter Code

Vollständige Guidelines: docs/best-practices.md

References