diff --git a/.agents/skills/b2b-mail-dispatcher/skill.md b/.agents/skills/b2b-mail-dispatcher/skill.md new file mode 100644 index 0000000..7cd749d --- /dev/null +++ b/.agents/skills/b2b-mail-dispatcher/skill.md @@ -0,0 +1,8 @@ +--- +name: b2b-mail-dispatcher +description: Verwaltet den SMTP-E-Mail-Versand bei Statusänderungen von Bestellungen und stellt transaktionale Zuverlässigkeit sicher. +--- +Richtlinien für die E-Mail-Kommunikation: +1. Wann immer der Status einer Bestellung in der Datenbank oder via Server Action mutiert wird (`status`-Übergang), triggere ein Event für den E-Mail-Versand. +2. Die E-Mail muss transaktionssicher über die SMTP-Konfiguration gesendet werden und an die im Benutzerprofil hinterlegte Adresse gehen. +3. Bei erfolgreichem Checkout hänge das generierte PDF aus dem Supabase Storage als Datei-Attachment an die E-Mail an. diff --git a/.agents/skills/idempotency-guard/skill.md b/.agents/skills/idempotency-guard/skill.md new file mode 100644 index 0000000..8f0865b --- /dev/null +++ b/.agents/skills/idempotency-guard/skill.md @@ -0,0 +1,8 @@ +--- +name: idempotency-guard +description: Verhindert doppelte Bestellungen im Checkout-Prozess durch kryptografische Hashes und Datenbank-Sperren. +--- +Fokus: Schutz vor Race Conditions und Doppelübermittlung im Checkout. +1. Bevor eine Server Action Daten in `orders` schreibt, generiere einen SHA-256 Hash aus den Kundendaten und der Produktkonfiguration (`order_hash`). +2. Prüfe in Supabase vor dem `INSERT`, ob bereits eine Bestellung mit exakt diesem `order_hash` im Status 'pending' oder 'active' existiert, die jünger als 5 Minuten ist. +3. Falls ja, blockiere die Ausführung sofort und liefere die ID der bereits existierenden Bestellung zurück, statt einen neuen Datensatz anzulegen. diff --git a/.agents/skills/pdf-invoice-generator/skill.md b/.agents/skills/pdf-invoice-generator/skill.md new file mode 100644 index 0000000..0348ee2 --- /dev/null +++ b/.agents/skills/pdf-invoice-generator/skill.md @@ -0,0 +1,8 @@ +--- +name: pdf-invoice-generator +description: Generiert rechtssichere, performante B2B-Bestätigungs-PDFs mit @react-pdf/renderer und verwaltet den Upload in den Supabase Storage. +--- +Du bist ein Experte für Dokumenten-Generierung. Wenn du Code für die PDF-Erstellung schreibst, erzwinge: +1. Nutze ausschließlich die Komponenten von `@react-pdf/renderer` (Document, Page, View, Text, StyleSheet). Verwende KEIN Standard-HTML/CSS. +2. Das PDF muss ein sauberes B2B-Layout haben: Briefkopf, `order_number` (Format: AE-YYYY-NNNNN), Tabellenstruktur für Produkte/Module, Netto-, Steuer- und Bruttobeträge. +3. Lade das generierte PDF über den Supabase JS-Client direkt in das `invoices`-Bucket hoch und speichere die finale URL fehlerfrei in `orders.pdf_url`.