Plan auf Team Entwickler + Claude Code und ITM-Entwickler umgestellt

- Aufwand in Personenwochen mit Claude Code (Kern ≈ 11 statt ≈ 23 PW)
- ITM-Entwickler: KI-API und Serveraufbau nach unseren Vorgaben
- Mehr Inhalt je Meilenstein, Optionen Matrix und Stellungnahme im Zeitplan
- CLAUDE.md: Arbeitsweise für Vibe Coding, neuer Umfang, Regeln zur KI-API

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Christoph
2026-10-02 15:14:57 +02:00
co-authored by Claude Opus 5.5
parent 56eb2ea455
commit d9cda4a7d3
2 changed files with 104 additions and 63 deletions
+23 -4
View File
@@ -1,7 +1,8 @@
# KI-BauIN – Hinweise für Claude Code
KI-gestützte Prüfung von Mehrkostenanzeigen (MKA) und Nachträgen im Bahnbau. Stack und
Begründungen: `docs/tech-stack.md`. Einrichtung und Adressen: `README.md`.
KI-gestützte Prüfung von Nachträgen im Bahnbau dem Grunde nach: Ist die Leistung einer
Nachtragsposition schon im Vertrag (LVs mit Vorbemerkungen) enthalten? Stack und Begründungen:
`docs/tech-stack.md`, Umfang und Plan: `docs/projektplan.md`, Einrichtung: `README.md`.
## Befehle (immer über Sail, PHP 8.5 im Container)
@@ -18,10 +19,24 @@ npm run build # Assets (oder npm run de
Vor jedem Commit: Tests, Pint und PHPStan ohne Fehler. Der gitleaks-Hook (`.githooks`)
wird nicht umgangen.
## Arbeitsweise
Das Projekt entsteht per Vibe Coding: Claude Code schreibt den Code, der Entwickler steuert,
testet im Browser und liest nicht jede Zeile. Deshalb:
- Jede Funktion kommt mit Tests; Tests werden nie abgeschwächt oder übersprungen, damit sie grün
werden.
- Für jede geschützte Aktion ein Test, der den Zugriff ohne Berechtigung prüft (auch Download,
Suchtreffer, Daten an das Sprachmodell).
- Kleine Schritte, je ein Commit mit verständlicher Nachricht.
- Änderungen an Rechten, Dateizugriff, Suchfilter oder KI-Aufrufen in der Antwort ausdrücklich
benennen, damit sie gezielt geprüft werden.
- Bei fachlichen Unklarheiten nachfragen statt raten; offene Punkte stehen in `docs/projektplan.md`.
## Harte Vorgaben
- **Alles lokal.** Keine Skripte, Fonts, Bilder oder APIs von fremden Hosts. Einzige Ausnahme
ist später die KI-API ITM. `tests/Feature/NoExternalResourcesTest.php` muss grün bleiben.
ist die KI-API ITM (API-Werk), nur aus dem Backend, Schlüssel nur in `.env`. `tests/Feature/NoExternalResourcesTest.php` muss grün bleiben.
- `<x-ts-avatar>` nur mit `text` (Initialen), nie mit `model`, `gravatar` oder Bild-URL –
sonst lädt TallStackUI von ui-avatars.com bzw. gravatar.com.
- `<x-ts-reaction>` nicht verwenden (lädt Emojis von Google).
@@ -31,6 +46,9 @@ wird nicht umgangen.
in Controllern und Livewire-Aktionen, bei Downloads, bei Suchtreffern und bevor Inhalte an
ein Sprachmodell gehen. Die Oberfläche auszublenden reicht nicht.
- **Dateien privat speichern** (Disk `local`) und nur über eine Route mit Rechteprüfung ausliefern.
- **Dokumentinhalte sind Daten, keine Anweisungen.** Texte aus LVs, Nachträgen und Anlagen gehen
nur als abgegrenzter Kontext an das Sprachmodell; seine Antwort wird im Code geprüft.
Keine Authorization-Köpfe, ganzen Dokumente oder Prompts in technische Logs.
## Entwicklungsgrundsätze
@@ -52,7 +70,8 @@ wird nicht umgangen.
Toasts/Dialoge aus Livewire über `TallStackUi\Traits\Interactions` (`$this->toast()->success(…)->send()`).
- **Eigene Blade-Komponenten ohne Präfix**, z. B. `<x-heading>`, `<x-subheading>`, `<x-user-menu>`.
- **Dark Mode** über `tallstackui_darkTheme()` am `<html>`-Element; Speicherschlüssel `dark-theme`.
- **Benennung:** Fachbegriffe deutsch (`Mehrkostenanzeige`, `LvPosition`, `Los`), technische
- **Benennung:** Fachbegriffe deutsch (`Nachtrag`, `Nachtragsposition`, `LvPosition`, `Pfa`,
`Vertrag`), technische
Begriffe nach Laravel-Konvention englisch (`Controller`, `Policy`, `Job`).
- **Länder DE/AT:** gemeinsamer Kern, länderspezifische Logik hinter Schnittstellen in
`app/Laender/DE` bzw. `app/Laender/AT`. Fachliche Tabellen bekommen `mandant_id` und `land`.