From 2d7e52979d73710e297145e9e2447ecf0dcb35c0 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sat, 23 May 2026 06:53:53 +0000 Subject: [PATCH] CLAUDE.md: Docker-Image-Naming und infrastruktur-only Branches dokumentiert Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CLAUDE.md b/CLAUDE.md index 2378f548..77ddfe24 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -84,6 +84,8 @@ A typical exercise branch contains: - `pom.xml` and/or `build.gradle` — Maven/Gradle build (Java 21, Spring Boot 4.0.2) - `src/` — Java source code (group `de.juplo.kafka`) +Some branches contain **only** a `docker/docker-compose.yml` with no build files or source. These are infrastructure-only setups for exercises where students experiment further with Kafka clients they have already written in a previous exercise. + Run an exercise: ```bash git checkout @@ -92,6 +94,18 @@ git checkout ./README.sh cleanup # tear down Docker, clean build artifacts ``` +### Docker Image Naming in `docker-compose.yml` + +The `producer`, `consumer`, or application service in `docker-compose.yml` always references the **exact image that the exercise builds**, using this naming schema: + +``` +juplo/: +``` + +where `` matches `pom.xml`'s `` (Maven) or `settings.gradle`'s `rootProject.name` (Gradle), and `` matches `` / `version`. The current standard version is `1.0-SNAPSHOT`. + +**When reviewing or rebasing a branch, always verify** that the image name and version in `docker-compose.yml` match what the build files actually produce. Mismatches are implementation errors and must be flagged and corrected. + ## Scripting Branch Scripts All scripts source `BRANCHES.sh` first, which defines the full branch list and parent relationships. -- 2.39.5