- Revised README to include database migration steps and a new section for database management. - Enhanced moderation command responses to utilize localized messages for unknown commands. - Refactored moderation commands to use centralized command data definitions, improving maintainability and consistency. - Added localization support for command descriptions and options in both German and English. - Versioned Prisma migrations for better tracking of database changes.
83 lines
2.6 KiB
Markdown
83 lines
2.6 KiB
Markdown
# 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`)
|
||
- Slash-Command-Beschreibungen und Optionstexte lokalisiert (`de` + `en-US` via Discord-Localizations)
|
||
- Bestätigungsflow für destruktive Aktionen (`/ban`, `/purge`, `/case delete`) mit Buttons
|
||
- standardisierte Case-Audit-Metadaten über `@nexumi/shared` (`buildCaseMetadata`)
|
||
- Prisma-Migrationen versioniert:
|
||
- `apps/bot/prisma/migrations/20260722123000_init`
|
||
- Tests (aktuell vorhanden):
|
||
- `packages/shared/src/i18n.test.ts`
|
||
- `packages/shared/src/audit.test.ts`
|
||
- `apps/bot/src/modules/moderation/duration.test.ts`
|
||
|
||
### Noch offen für Phase 1
|
||
|
||
- `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.
|