Files
Nexumi/docs/PHASE-TRACKING.md
smueller a17d161c06 Enhance moderation commands with locale support and permission checks
- Updated moderation commands to utilize locale for user-facing messages, improving internationalization.
- Refactored permission checks to include locale as a parameter, ensuring accurate responses based on the server's language settings.
- Added new translation keys for bot permissions and command restrictions in both German and English.
2026-07-22 11:23:10 +02:00

2.8 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)
  • 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.
  • Slash-Command-Bestätigungen für destruktive Aktionen gemäß SPEC-Regel:
    • Ban, Purge und weitere destruktive Flows sollen explizite Bestätigungsschritte erhalten.
  • 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.