Fundament: Doku, Testanpassungen, Restbereinigung
- AGENTS.md und README.md auf Craftvia umgeschrieben (Regeln, Andockpunkte, Stack mit Garage, tsx-Tests, Gate, Demo-Logins) - ISMS-Dokumente entfernt (SPEC, Prototypen, Lane-Prompts, Übergaben, Konzepte Incidents/Framework); Fundament-Doku (Deploy, Sicherheit, Backup, Identity) bleibt - Fundament-Tests an Craftvia-Rollen/Branding angepasst, Resttreffer certvia/isms in Skripten und Kommentaren bereinigt Gate: prisma generate, migrate status, tsc, lint, build, 22/22 Testskripte grün. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,42 +1,52 @@
|
||||
# ISMS-Tool
|
||||
# Craftvia
|
||||
|
||||
Multi-Tenant-SaaS zum Betrieb eines Informationssicherheits-Managementsystems (ISMS), ausgerichtet auf **ISO/IEC 27001:2022** und **TISAX / VDA-ISA 6.0**.
|
||||
**Handwerk. Digital auf Kurs.** — mandantenfähige Einsatz-PWA für Handwerks- und
|
||||
Montagebetriebe.
|
||||
|
||||
📄 Vollständige Spezifikation: [docs/SPEC.md](docs/SPEC.md) · UI-Mockup: [docs/ISMS-Prototyp-GEFIM.html](docs/ISMS-Prototyp-GEFIM.html)
|
||||
- Spezifikation: [docs/craftvia/SPEC-CRAFTVIA.md](docs/craftvia/SPEC-CRAFTVIA.md)
|
||||
- Architektur/Datenmodell: [docs/craftvia/ARCHITEKTUR.md](docs/craftvia/ARCHITEKTUR.md) (folgt)
|
||||
- Projektregeln für Entwickler und Agenten: [AGENTS.md](AGENTS.md)
|
||||
- Branding: [docs/craftvia/BRANDBOOK.md](docs/craftvia/BRANDBOOK.md), [docs/craftvia/BRANDING.md](docs/craftvia/BRANDING.md)
|
||||
- Migrationen & RLS: [docs/craftvia/MIGRATIONS.md](docs/craftvia/MIGRATIONS.md)
|
||||
|
||||
## Module
|
||||
## Stand
|
||||
|
||||
- **Assets & BIA** — Asset-Inventar und Business Impact Analyse als gemeinsames Modul (Schutzbedarf, RTO/RPO/MTD, primäre/sekundäre Assets, zugeordnete Risiken)
|
||||
- **Risikoanalyse** — 5×5-Heatmap mit Drag-and-Drop, Detailansicht mit Maßnahmen, betroffenen Assets und Rest-Risiko
|
||||
- **SoA & Control-Kataloge** — ISO 27001:2022 Annex A (93 Controls), VDA-ISA-6.0-Struktur mit Reifegraden
|
||||
- **Maßnahmen** — Kanban, wiederkehrende Aufgaben, Fristen und Eskalation
|
||||
- **Vorfälle, Audits, Lieferanten, Nachweise, Richtlinien (KI-Assistent), RAG-Chat, Dashboards, Management-Review**
|
||||
Fundament aus Certvia übernommen (Auth/Identity/MFA/WebAuthn, Mandanten, RBAC, Audit-Log,
|
||||
Mail, Objektspeicher, Backup/DSGVO, Plattform-Administration, i18n). Die ISMS-Fachlichkeit
|
||||
ist entfernt; die Craftvia-Fachmodule haben Routen-Platzhalter, Modul-Gates, Navigation und
|
||||
Rollen/Permissions als Andockpunkte.
|
||||
|
||||
## Tech-Stack
|
||||
## Schnellstart (lokal)
|
||||
|
||||
Next.js (App Router, TypeScript) · Prisma + PostgreSQL 16 (pgvector) · BullMQ + Redis · MinIO (S3) · Auth.js · Tailwind CSS + shadcn/ui · Docker Compose
|
||||
|
||||
## Quickstart (Entwicklung)
|
||||
Voraussetzungen: Node 22, Docker.
|
||||
|
||||
```bash
|
||||
cp .env.example .env # Werte anpassen
|
||||
docker compose up -d postgres redis minio # Infrastruktur starten
|
||||
npm install
|
||||
npx prisma migrate dev # Datenbank migrieren
|
||||
npm run dev # http://localhost:3000
|
||||
cp .env.example .env # AUTH_SECRET/PASSWORD_PEPPER erzeugen (siehe Kommentare)
|
||||
npm ci
|
||||
docker compose up -d postgres redis garage
|
||||
GARAGE_ADMIN_URL=http://localhost:3903 npx tsx scripts/garage-provision.ts
|
||||
npx prisma migrate deploy
|
||||
npx prisma db seed
|
||||
npm run dev # http://localhost:3000
|
||||
```
|
||||
|
||||
Produktions-Stack (App + Worker + Infrastruktur):
|
||||
Login: `admin@demo.example` / `Demo1234!` (weitere Demo-Nutzer siehe AGENTS.md).
|
||||
|
||||
```bash
|
||||
docker compose up -d --build
|
||||
```
|
||||
## Befehle
|
||||
|
||||
## Projektstruktur
|
||||
| Befehl | Zweck |
|
||||
|---|---|
|
||||
| `npm run dev` | Entwicklungsserver |
|
||||
| `npm run lint` / `npx tsc --noEmit` | Lint / Typprüfung |
|
||||
| `npm run build` | Produktions-Build (inkl. Modul-Guard-Check) |
|
||||
| `npm run test` | alle `scripts/test-*.ts` gegen die lokale Infra |
|
||||
| `npm run gate` | generate + tsc + lint + build + test |
|
||||
| `npm run worker:mail` / `worker:backup` | Hintergrund-Worker |
|
||||
| `npm run brand:icons` | Favicon/PWA-Icons aus dem Signet erzeugen |
|
||||
|
||||
```
|
||||
docs/ Spezifikation (SPEC.md) und UI-Mockup
|
||||
prisma/ Datenbankschema, Migrationen, Seeds
|
||||
src/app/ Next.js App Router (UI + API)
|
||||
src/server/ Server-Logik (Tenant-Guard, RBAC, Services)
|
||||
```
|
||||
## Betrieb
|
||||
|
||||
Container-Build über das Multi-Stage-`Dockerfile` (Targets `runner`, `migrate`, `garage`),
|
||||
Deployment mit `docker-compose.coolify.yml` bzw. `docker-compose.coolify.prebuilt.yml`.
|
||||
Hinweise: `docs/DEPLOY-COOLIFY.md`, `docs/SECRETS-REGISTER.md` (aus dem Fundament übernommen,
|
||||
Namen teils noch Certvia).
|
||||
|
||||
Reference in New Issue
Block a user