Diese Datei enthält Anweisungen für Claude Code (claude.ai/code) beim Arbeiten mit diesem Repository.
+## Arbeitsanweisungen
+
+- Nach Abschluss einer Aufgabe immer einen Commit erzeugen.
+
## Zweck des Repositories
Dies ist ein **Kafka-Schulungsrepository**, das zum Unterrichten von Apache-Kafka-Konzepten verwendet wird. Es nutzt ein Branch-pro-Übung-Modell, bei dem jede Übung auf einem eigenen Git-Branch liegt. Der `scripting`-Branch (aktuell) enthält nur Verwaltungsskripte — der eigentliche Übungscode liegt auf anderen Branches.
| Skript | Zweck |
|--------|-------|
| `branches.sh` | Definiert alle Branch-Namen als Variablen und die Iterationsliste `$BRANCHES` |
-| `push.sh` | Force-pusht alle Branches zu origin; erstellt vorher zeitgestempelte Backup-Tags der Remote-Stände (alle Branches eines Laufs tragen denselben Zeitstempel) |
+| `push.sh` | Force-pusht alle Branches zu origin. Prüft vorab, ob umzuschreibende Remote-Stände bereits Tags im Remote haben; fehlt ein Tag, werden TIMESTAMP-Backup-Tags für alle Remote-Stände direkt im Remote angelegt. Existiert lokal ein gemeinsames Tag-Suffix für alle Branches (z.B. `--claude-5`), wird es ebenfalls gepusht, sofern noch nicht im Remote vorhanden. |
| `reset.sh` | Ohne Argument: setzt alle Branches auf `origin/<branch>` zurück. Mit Argument: auf Tag `<branch>--<prefix>` |
| `diff.sh` | Ohne Arg: lokaler Branch gegen `origin/<branch>`. Ein Arg: gegen `<branch>--<suffix>`. Zwei Args: `<branch>--<suffix1>` gegen `<branch>--<suffix2>` |
| `build.sh` | Baut alle Branches (erkennt Maven/Gradle automatisch); `--vorlage`-Branches werden übersprungen. Mit `--publish`: Docker-Images veröffentlichen |