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

86 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.