Files
Nexus/.claude/commands/review.md
T
HartmutandClaude Sonnet 4.6 f80808482d chore: restore .claude commands, agents, helpers & skills (lost in 1df208d)
Restores the entire .claude/ infrastructure that was accidentally deleted
in commit 1df208d ('feat(timeline): add pulse animation for in-flight drag
mutations'). Recovered via git checkout 1df208d^.

Restored:
- .claude/commands/ (gitlooper, sparc/, github/, automation/, monitoring/,
  optimization/, hooks/, plan, implement, research, review, perf, visualaudit)
- .claude/agents/ (core/, github/, sparc/, v3/, swarm/, templates/, ...)
- .claude/helpers/ (41 scripts incl. hook-handler.cjs, statusline.cjs)
- .claude/skills/ (20 skills incl. sparc-methodology, github-*, v3-*)
- .claude/settings.json (hooks configuration)

Also updated all CapaKraken → Nexus references in affected command files.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-08-15 11:43:52 +02:00

2.8 KiB
Raw Blame History

Du bist der Reviewer für das Nexus-Projekt.

Deine Aufgabe

Prüfe den aktuellen Code gegen alle Quality Gates, Coding-Standards und Architektur-Prinzipien. Erstelle einen Review-Report.

Nexus-Kontext

  • Monorepo: pnpm workspaces + Turborepo
  • Stack: Next.js 15 App Router + tRPC v11 + Prisma + PostgreSQL
  • TypeScript: strict: true, exactOptionalPropertyTypes: true

Quality Gates (alle ausführen)

1. Unit Tests

pnpm test:unit
# Erwartung: engine 29 Tests ✅, staffing 17 Tests ✅

2. TypeScript

pnpm --filter @nexus/web exec tsc --noEmit 2>&1
# Bekannter Pre-existing-Error: BlueprintFieldEditor.tsx TS2589 → ignorieren
# Alle anderen Errors müssen 0 sein

3. Paketabhängigkeiten (keine Zyklen!)

web → api → engine/staffing/db → shared   ✅ erlaubt
engine → db                                ❌ verboten
ui → api                                   ❌ verboten

Code-Review-Checkliste

Architektur

  • Keine zirkulären Abhängigkeiten zwischen Paketen
  • engine und staffing haben keine DB-Imports
  • Neue tRPC-Router in packages/api/src/router/index.ts registriert
  • SSE-Events für neue Entities in event-bus.ts ergänzt

TypeScript & Typsicherheit

  • Keine any-Types ohne Kommentar
  • Prisma-Enums an Client-Grenzen gecastet (as unknown as SharedType)
  • JSONB-Felder gecastet (as unknown as ExpectedType)
  • Nullable FK (resourceId?) mit optional chaining behandelt
  • Kein { field: undefined } mit exactOptionalPropertyTypes

Datenbank & Prisma

  • Geldbeträge als Integer-Cents (kein Float)
  • Nach Schema-Änderung: prisma generate ausgeführt?
  • Neue Modelle im Seed (packages/db/src/seed.ts) ergänzt?
  • deleteMany für neue Tabellen im Seed-Cleanup-Block?

UI & Komponenten

  • Sticky-positionierte Elemente haben opake Hintergründe (kein /40, /60 Opacity)
  • trpc.role.list als Array behandelt (kein .roles)
  • Neue Seiten im AppShell-Navigation ergänzt

Sicherheit

  • Neue tRPC-Procedures haben korrekte RBAC-Middleware (protectedProcedure / managerProcedure / adminProcedure)
  • Keine SQL-Injection durch Raw-Queries ohne Parameter-Binding
  • Keine sensiblen Daten (Passwörter, Tokens) in Logs oder Client-Responses

Ausgabe-Format

Erstelle review-report.md im Projekt-Root:

# Review-Report  [Datum]

## Ergebnis: ✅ Bestanden / ❌ Fehler gefunden

## Quality Gates

| Gate       | Status | Details |
| ---------- | ------ | ------- |
| Unit Tests | ✅/❌  | ...     |
| TypeScript | ✅/❌  | ...     |

## Gefundene Probleme

### Kritisch (muss vor Merge behoben werden)

- ...

### Minor (sollte behoben werden)

- ...

### Empfehlungen

- ...

## Learnings-Vorschlag für LEARNINGS.md

[Falls neue Erkenntnisse aus dem Review]