Käfer-Button unten rechts: nimmt den sichtbaren Bildschirm mit html2canvas (selbst gehostet) auf, Vorschau mit roten Rechtecken, Beschreibung, Name optional, Senden ohne Anmeldung. Aus offenen Dialogen heraus wird der Dialog selbst aufgenommen. Bearbeiter sehen die Meldungen unter „Fehler" mit Zähler, kopieren einen fertigen Claude-Prompt und den Screenshot. Serverseitig: Pfade nur in exakter Schreibweise, /api standardmäßig nur für Bearbeiter mit ausdrücklicher Freigabeliste, Bremse zählt jeden Versuch vor dem Lesen großer Bodies, X-Forwarded-For nur von vertrauten Proxys, Nutzertext im Prompt eingezäunt. HTTP-Tests für die Sperren. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2.0 KiB
2.0 KiB
@.vch/PLATFORM.md
Rotatory
Wofür dieses Projekt gut ist, und was jemand wissen muss, der hier weiterarbeitet.
Befehle
- Abhängigkeiten installieren:
npm install - Entwicklungsserver:
npm run dev - Tests:
npm test - Bauen:
npm run build - Linten:
npm run lint
Konventionen
- Aussagekräftige Commit-Nachrichten im Imperativ („Suche ergänzen", nicht „Suche ergänzt")
- Lieber kleine, abgeschlossene Commits als große
- Vor dem Commit linten und formatieren
- Tests für die tragende Fachlogik
- Wenig Abhängigkeiten — was Browser und Node schon können, reicht meistens. Ausnahme mit
Begründung:
public/vendor/html2canvas.min.js(Screenshots für Fehlermeldungen; der Browser kann Seiten nicht selbst fotografieren), selbst gehostet, nichts von fremden Servern laden - Semantisches HTML, mobil zuerst, bedienbar per Tastatur, ausreichender Kontrast
- Konfiguration über Umgebungsvariablen; keine Zugangsdaten im Quelltext
Design
Die Oberfläche folgt dem tradeo Corporate Design System in docs/DESIGN.md. Kurzfassung für die App:
- Farben: nur tradeo Blue
#122E45und Weiß. Neutraltöne als Deckkraft-Abstufungen von tradeo Blue (--tint-*,--line*,--text-*inpublic/style.css). Keine neuen Farben erfinden. - Schrift: Poppins (600/500) für Titel und Kennzeichen, Inter für alles andere; beide selbst gehostet
unter
public/fonts/. - 8-px-Raster, Radius 6 px, linksbündig, ruhige Flächen, dezente Trennlinien statt Kästen.
- Keine Emojis als Icons; nur schlichte Linien-SVGs mit funktionalem Zweck. Sentence case, keine Ausrufezeichen.
- Was das CDS offen lässt (Statusfarbe, Radius, Icon-Familie, Dark Mode), ist im Kopf von
public/style.cssals offene Designentscheidung vermerkt und dort zentral änderbar.