Files
Nexumi/docs/PHASE-TRACKING.md
smueller 878478e4fc Implement confirmation flow for destructive moderation actions
- Added confirmation prompts for destructive commands such as `/ban`, `/purge`, and `/case delete` to enhance user safety.
- Integrated locale support for confirmation messages, ensuring clarity in both German and English.
- Refactored command logic to utilize the new confirmation system, improving user experience and reducing accidental actions.
2026-07-22 11:26:49 +02:00

2.7 KiB
Raw Blame History

Nexumi Phasen-Tracking

Dieses Dokument hält den aktuellen Implementierungsstand fest. Es wird bei jedem Arbeitsfortschritt aktualisiert.

Assets

  • Bot-Logo vorhanden: docs/logo/nexumi-logo.svg

Phase 1 Fundament (Status: in Arbeit)

Bereits abgeschlossen

  • Monorepo-Basis mit Workspaces:
    • apps/bot
    • packages/shared
  • Basis-Tooling:
    • TypeScript strict
    • ESLint
    • Prettier
    • Vitest
    • Turbo
  • Docker-Compose-Grundstack:
    • postgres mit Healthcheck
    • redis mit Healthcheck
    • bot
    • webui-Scaffold-Service (temporär)
    • backups Volume angebunden
  • Prisma-Grundmodell inkl. Moderationsdaten:
    • Guild
    • GuildSettings
    • User
    • Case
    • Warning
    • ModNote
    • EscalationRule
  • Bot-Grundarchitektur:
    • Sharding-Startpfad
    • Command-Registrierung
    • Command-Routing
    • zentraler Permission-Check
    • Basis-i18n in @nexumi/shared
    • Guild-Locale-Auflösung über DB-Settings mit Fallback auf Env-Default
    • Health-Endpoint (/health) und token-geschütztes /metrics-Scaffold
  • BullMQ-Integration:
    • Moderation-Queue
    • Temp-Ban-Expire-Job
    • täglicher Backup-Job (pg_dump)
    • Backup-Retention-Cleanup
  • Moderation als Referenzmodul (implementiert):
    • /ban, /unban, /kick, /timeout, /untimeout
    • /warn add|list|remove|clear
    • /warn escalation-set|escalation-list|escalation-remove
    • /purge (Filter: User, Bots, Links, Attachments, Regex)
    • /slowmode, /lock, /unlock
    • /nick set|reset
    • /case view|edit|delete
    • /modnote add|list
    • user-facing Reply-Strings im Moderationsfluss auf i18n-Keys umgestellt (de/en)
    • Bestätigungsflow für destruktive Aktionen (/ban, /purge, /case delete) mit Buttons
  • Tests (aktuell vorhanden):
    • packages/shared/src/i18n.test.ts
    • apps/bot/src/modules/moderation/duration.test.ts

Noch offen für Phase 1

  • Vollständige i18n-Auslagerung:
    • Restarbeiten: Command-Beschreibungen/-Optionstexte ebenfalls in zentralen Locale-Strukturen führen.
  • Audit-/Case-System weiter härten:
    • Einheitliche, nachvollziehbare Audit-Metadaten pro Moderationsaktion.
  • Migrations-Workflow finalisieren:
    • Neue Prisma-Migration für EscalationRule erzeugen und versionieren.
  • Setup-Doku erweitern:
    • Konkrete Restore-/Backup-Runbook-Schritte mit Beispielbefehlen pro Umgebung.
  • docker compose up -d End-to-End gegen echte .env und Test-Discord-Guild final verifizieren.

Verifikation (letzter Lauf)

  • pnpm prisma:generate erfolgreich
  • pnpm typecheck erfolgreich
  • pnpm lint erfolgreich
  • pnpm test erfolgreich

Nächster geplanter Schritt

  • Phase 1 vollständig abschließen (offene Punkte oben), dann erst nach expliziter Freigabe in Phase 2 wechseln.