]> juplo.de Git - demos/kafka/training/commitdiff
CLAUDE.md mit Hilfe von Claude um Hinweise zur Arbeitsweise ergänzt
authorKai Moritz <kai.milan.moritz@googlemail.com>
Sat, 23 May 2026 06:08:44 +0000 (06:08 +0000)
committerKai Moritz <kai.milan.moritz@googlemail.com>
Sat, 23 May 2026 06:08:44 +0000 (06:08 +0000)
CLAUDE.md

index b19a511250e058bf9431439db9539652c58966a7..2378f5488f484a7e1e1630e9ca1e934572b20854 100644 (file)
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -120,6 +120,28 @@ Always return to `scripting` after bulk operations — scripts `git checkout scr
 4. Run `./REBASE.sh` to verify the chain is consistent.
 5. Run `./PUSH.sh` to publish.
 
+## Manual Rebasing Workflow
+
+The `REBASE.sh` script automates rebasing in principle, but in practice conflicts arise frequently because branches intentionally differ — they demonstrate different aspects of Kafka. Claude Code takes over the role of the human who previously had to intervene manually.
+
+### Conflict Resolution Approach
+
+**Resolve silently** (no user confirmation needed) when the resolution is straightforward and follows directly from the goals of the exercise branch.
+
+**Stop and propose** when:
+- A conflict hints at an unintentional divergence — something that was improved in one branch but never backported due to time constraints
+- Improvements from later branches (e.g. test cases, structural cleanups) could sensibly be applied to earlier branches
+- There is an opportunity to align branches in a way that reduces future rebase conflicts
+
+In these cases: show the problem, explain why it matters, and make a concrete proposal — don't just ask an open question.
+
+### General Principles
+
+- Work branch by branch in the order defined in `BRANCHES.sh`
+- Distinguish between **intentional** differences (different teaching goals) and **accidental** differences (time pressure, forgotten backports)
+- Suggest backporting improvements from later to earlier branches where it makes sense
+- After rebasing, always return to the `scripting` branch
+
 ## Key Constraints
 
 - `PUSH.sh` force-pushes — it is intentional and expected for this training workflow.