# CLAUDE.md This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. ## Project Minimal Java/Maven application (`com.example.application:looptest`). No framework (no Spring) — just plain Java, targeting Java 25. ## Commands Use the Maven wrapper (`./mvnw`): ``` ./mvnw compile # build ./mvnw test # run tests (no tests currently exist in src/test) ./mvnw verify # what CI runs (.gitea/workflows/ci.yml) ./mvnw -q exec:java -Dexec.mainClass=com.example.LoopTestApplication # run the app (requires exec-maven-plugin, not currently in pom.xml) ``` CI (`.gitea/workflows/ci.yml`) runs on pull requests to `main`: sets up Temurin JDK 25, then `./mvnw verify`. ## Architecture - `com.example.LoopTestApplication` — entry point (`main`), wires together and runs calculator operations. - `com.example.util.CalcFunction` — interface for a calculation operation: `double calc(double... input)`. - `com.example.util.AddFunction` — `CalcFunction` implementation that sums its inputs. New arithmetic operations should follow this pattern: implement `CalcFunction` in `com.example.util`. ## AI-Autofix – Regeln - Nur Issues mit Label `ai-ready` bearbeiten. - Branch-Namensschema: `ai/issue--`. - Kein Fix ohne grüne Tests. Test-Befehl: ``. - Bei Unklarheit / Scope > ~200 Zeilen Diff: NICHT fixen, stattdessen Issue kommentieren ("needs human") und Label `ai-blocked` setzen. - PR-Beschreibung MUSS `Closes #` enthalten. - Keine Änderungen an ohne Freigabe.