Files
craftvia/AGENTS.md
T
msolarczekandClaude Opus 5 c8e6f30a27
CI / build-and-check (push) Canceled after 0s
CI / audit (push) Canceled after 0s
CI / sbom (push) Canceled after 0s
Basis: Certvia dev@a48c5fb als Fundament für Craftvia
Unveränderter Stand von certvia/dev (a48c5fb) plus Craftvia-Spezifikation
und Brandbook unter docs/craftvia/. ISMS-Module werden im Folgecommit entfernt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 11:05:39 +02:00

2.5 KiB

This is NOT the Next.js you know

This version has breaking changes — APIs, conventions, and file structure may all differ from your training data. Read the relevant guide in node_modules/next/dist/docs/ before writing any code. Heed deprecation notices.

ISMS-Tool — Projektregeln

Multi-Tenant-SaaS für Informationssicherheits-Managementsysteme (ISO/IEC 27001:2022, TISAX/VDA-ISA 6.0).

Maßgebliche Spezifikation: docs/SPEC.md — Architektur, Datenmodell, Module, Rollen, Akzeptanzkriterien. UI-Referenz: docs/ISMS-Prototyp-GEFIM.html (Orientierung für Navigation/Layout; fachlich gilt die Spec, die über das Mockup hinausgeht).

Eiserne Regeln

  1. Mandanten-Isolation: Kein DB-Zugriff an Prisma vorbei, kein Query ohne Tenant-Kontext. Fachliche Tabellen tragen tenant_id; Zugriff nur über den Tenant-Guard (src/server/db.ts), zusätzlich Postgres RLS.
  2. RBAC serverseitig: Jede Mutation/Query prüft Permissions am Server (asset:read, risk:write, …). UI-Ausblenden ist nur Komfort, nie Sicherheit.
  3. Audit-Log: Jede schreibende Aktion erzeugt einen AuditLog-Eintrag (before/after).
  4. i18n: Keine hartkodierten UI-Texte — alle Strings über den Message-Katalog (de default, en vorbereitet).
  5. Lizenz: Keine ISO-Normtexte oder VDA-ISA-Kataloginhalte einchecken — nur Control-Referenzen/Titel; VDA-ISA-Inhalte kommen per Kunden-Import (ISA6-EN.xlsx).

Stack & Konventionen

  • Next.js (App Router) + TypeScript, Tailwind CSS 4, shadcn/ui, dnd-kit, Recharts.
  • Prisma + PostgreSQL 16 (pgvector), BullMQ + Redis (Worker), MinIO (S3), Auth.js (Credentials, Argon2id).
  • Tests: Vitest (Unit), Playwright (E2E). npm run lint und npm run build müssen vor jedem Commit grün sein.
  • Sprache: UI und Fachbegriffe Deutsch; Code (Bezeichner, Kommentare) Englisch.

Offene Härtungspunkte (Iteration 8)

  • RLS scharfschalten: App-Verbindung auf DB-Rolle isms_app umstellen und app.tenant_id pro Transaktion setzen (Policies existieren bereits, siehe Migration row_level_security).
  • TOTP-2FA (Schema-Feld mfa_secret ist vorbereitet).
  • Rollenänderungen wirken erst beim nächsten Login (Permissions liegen im JWT).

Entwicklung

docker compose up -d postgres redis minio   # Infrastruktur
npx prisma migrate dev                      # Migrationen
npm run dev                                 # App auf :3000