4.2 KiB
4.2 KiB
Harness: offene Anpassungen
Stand 2026-10-10. Der Harness wurde aus einem C#/React-Projekt (PersonManager) importiert; diese Dateien tragen noch dessen Inhalt. Reihenfolge nach Wirkung: oben wirkt in jeder Session, unten beschreibt Artefakte, die es noch nicht gibt.
1. AGENTS.md neu schreiben
- Indexzeilen für
_uitests.mdund_code.mdohne Playwright,tests/ui,docker-compose.tests.yml,code/backend, ReSharper. - Abschnitte „Dev Workflow" und „Push Workflow" auf Terrata umstellen:
./gradlew build(Compile, Tests, Konsist, detekt, spotlessCheck),./gradlew spotlessApplyvor dem Commit,harness/markdown-fmt.py --checkundharness/glossary-lint.shnach Doku-Änderungen.analyse_all.py, UI-Tests unddocker compose upentfernen. - Tippfehler („ide neuen Tests", „grundenen") verschwinden damit von selbst.
- Begründung: Die Datei wird in jeder Session geladen; heute folgt jeder Agent bei jedem Commit einer Anleitung, deren Werkzeuge nicht existieren.
2. harness/_code.md für Kotlin neu schreiben
harness/PersonManager.sln.DotSettingslöschen (einzige Referenz ist_code.md).- Nicht 1:1 übersetzen. Was spotless/ktlint und detekt im Build erzwingen, nicht wiederholen. Das Prinzip „die Regeldatei gewinnt" bleibt und zeigt auf die detekt-Konfiguration und
.editorconfiginbuild-logic(terrata.quality). - Nur aufnehmen, was kein Werkzeug prüft:
explicitApi(heute Warning, später strict), KDoc und Kommentare auf Englisch, Enums ohne Display-Labels (Lokalisierung ist Sache der UI),kotlinx-datetimestatt eigener Datumslogik, Logging von Fehlern immer mit vollem Stacktrace (logger.error(msg, e)), Benennung von Tests, Package-Rootterrata.<module>. - Compose-Konventionen (Previews, Tokens statt Literale) nicht duplizieren, sondern auf
CLAUDE.md§ Component previews und_uiux.md§ 12 verweisen. - Abschnitt „Compliance Example" durch ein kurzes Kotlin-Beispiel ersetzen oder streichen.
3. harness/_devdocs.md: Beispiele austauschen
- Gerüst behalten (fünf Grundregeln, Mermaid-only, Struktur von
docs/dev/). - Bausteintabelle (
code/backend/PersonenApi/…) durch die KMP-Module aus_design.mdersetzen (:core:model,:core:app,:adapter:*,:ui,:map:*,:interop:dav,:app:*). - Kontextdiagramm (React, ASP.NET Core, EF Core,
personen.db) durch Terrata ersetzen: Desktop-App, Store auf der Platte, SQLite-Index, DAV-Server, Sync-Ziel. - Deployment-Abschnitt (
docker-compose.yml, Docker-Host) streichen oder auf die Desktop-Distribution umstellen. - Prozessbeispiel „Sachbearbeiter wählt Anlegen" durch einen Terrata-Prozess ersetzen, etwa „Record anlegen" oder „Store scannen".
- Zuständigkeits-Kasten (um Zeile 190): den Verweis auf den C#-Codestil auf die neue
_code.mdumbiegen und die Beschreibung von_design.md(„Backend-Architektur: Entitäten, DTOs, EF-Konfigurationen, Controller, Statuscodes, Migrationen") durch die Ports-&-Adapter-Begriffe ersetzen. - Zeitpunkt: vor dem ersten Dokument unter
docs/dev/(lautCLAUDE.mddie Index-Tabellen, sobald gebaut).
4. harness/_userdocs.md: zwei Zeilen
- Screenshot-Erzeugung (um Zeile 101 und 119): Playwright und den Entwicklungs-Stack durch ein Compose-Pendant ersetzen oder als „offen, bis
docs/user/entsteht" markieren. - Rest ist sauber.
5. harness/_uitests.md: auf Stub kürzen
- Playwright, Vitest, xUnit, Testdatenbank, Docker-Stack entfernen.
- Generische Regeln behalten: kein Test ohne Akzeptanzkriterium, Zuordnung Story ↔ Test, keine Tests gegen Produktivdaten.
- Stack benennen: Compose-UI-Tests in
:ui(laufen offscreen, sieheci/docker/Dockerfile), Rest explizit „offen, bis es eine bedienbare App gibt". - Keine Compose-Testkonvention erfinden, bevor es etwas zu testen gibt.
6. Nacharbeiten
CLAUDE.md§ Specs & harness: den Pitfall-Satz „the last four still carry the C#/Angular content" entfernen, sobald 2 bis 5 erledigt sind.harness/_requirements.md,_design.md,_uiux.md,_glossary.md,_ideas.md,_markdown.mdsind bereits Terrata, nichts zu tun.- Diese Datei löschen, wenn alles abgehakt ist.