managarten/COMMANDS.md
Till-JS 4a236a7a1f feat(todo): add Prometheus metrics and update docs
- Add MetricsModule with prom-client for todo backend
- Add MetricsInterceptor for request tracking
- Update COMMANDS.md with presi and storage commands
- Update Grafana dashboards for backend monitoring

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-25 13:31:44 +01:00

389 lines
8.3 KiB
Markdown

# Manacore Monorepo - Befehle
# Alles starten (PostgreSQL, Redis, Auth, Chat)
pnpm docker:up:all
pnpm docker:down
pnpm dev:chat:full
pnpm dev:picture:full
pnpm dev:calendar:full
pnpm dev:contacts:full
pnpm dev:todo:full
pnpm dev:presi:full
pnpm dev:storage:full
pnpm dev:manacore:app # Nur ManaCore Web
pnpm dev:manacore:backends # Alle 7 Backends für Dashboard-Widgets
pnpm dev:manacore:full # Web + alle Backends (empfohlen)
# Deployment Landingpages:
## Einzelne Landing Page
pnpm deploy:landing:chat
pnpm deploy:landing:picture
pnpm deploy:landing:manacore
pnpm deploy:landing:manadeck
Hier sind alle Landing Page URLs:
| Projekt | URL |
| -------- | ---------------------------------- |
| Chat | https://chat-landing-90m.pages.dev |
| Picture | https://picture-landing.pages.dev |
| ManaCore | https://manacore-landing.pages.dev |
| ManaDeck | https://manadeck-landing.pages.dev |
## Alle auf einmal
pnpm deploy:landing:all
Übersicht aller wichtigen Befehle zum Starten, Stoppen und Verwalten der Apps.
## Inhaltsverzeichnis
- [Voraussetzungen](#voraussetzungen)
- [Docker & Infrastruktur](#docker--infrastruktur)
- [Mana Core Auth](#mana-core-auth)
- [Chat](#chat)
- [Picture](#picture)
- [Manadeck](#manadeck)
- [Manacore](#manacore)
- [Mana Games](#mana-games)
- [Allgemeine Befehle](#allgemeine-befehle)
- [Stoppen & Aufräumen](#stoppen--aufräumen)
---
## Voraussetzungen
```bash
# Dependencies installieren (generiert auch .env Dateien)
pnpm install
# Nur .env Dateien neu generieren
pnpm setup:env
# Shared Packages bauen
pnpm build:packages
```
---
## Docker & Infrastruktur
### Starten
```bash
# Nur PostgreSQL + Redis (Basis-Infrastruktur)
pnpm docker:up
# Mit Mana Core Auth Service
pnpm docker:up:auth
# Mit Chat Backend
pnpm docker:up:chat
# Alles starten (PostgreSQL, Redis, Auth, Chat)
pnpm docker:up:all
```
### Status & Logs
```bash
# Container-Status anzeigen
pnpm docker:ps
# Alle Logs anzeigen (live)
pnpm docker:logs
# Nur Auth-Logs
pnpm docker:logs:auth
# Nur Chat-Logs
pnpm docker:logs:chat
```
### Stoppen
```bash
# Alle Container stoppen
pnpm docker:down
# Stoppen + Volumes löschen (Datenbank-Reset!)
pnpm docker:clean
```
---
## Mana Core Auth
Der zentrale Authentifizierungs-Service (Port 3001).
```bash
# Im Docker starten (empfohlen)
pnpm docker:up:auth
# Oder lokal starten
cd services/mana-core-auth
pnpm start:dev
# Datenbank-Migration
cd services/mana-core-auth
pnpm migration:generate # Migration erstellen
pnpm migration:run # Migration ausführen
pnpm db:push # Schema direkt pushen (dev)
pnpm db:studio # Drizzle Studio öffnen
```
---
## Chat
| App | Port | Befehl |
| ------- | ---- | ----------------------- |
| Web | 5174 | `pnpm dev:chat:web` |
| Backend | 3002 | `pnpm dev:chat:backend` |
| Mobile | 8081 | `pnpm dev:chat:mobile` |
| Landing | - | `pnpm dev:chat:landing` |
```bash
# Web + Backend zusammen starten
pnpm dev:chat:app
# Alles (Web, Backend, Mobile, Landing)
pnpm chat:dev
```
---
## Picture
| App | Port | Befehl |
| ------- | ---- | -------------------------- |
| Web | 5173 | `pnpm dev:picture:web` |
| Backend | - | `pnpm dev:picture:backend` |
| Mobile | 8081 | `pnpm dev:picture:mobile` |
| Landing | - | `pnpm dev:picture:landing` |
```bash
# Web + Backend zusammen starten
pnpm dev:picture:app
# Alles
pnpm picture:dev
```
---
## Manadeck
| App | Port | Befehl |
| ------- | ---- | --------------------------- |
| Web | - | `pnpm dev:manadeck:web` |
| Backend | - | `pnpm dev:manadeck:backend` |
| Mobile | 8081 | `pnpm dev:manadeck:mobile` |
| Landing | - | `pnpm dev:manadeck:landing` |
```bash
# Web + Backend zusammen starten
pnpm dev:manadeck:app
# Alles
pnpm manadeck:dev
```
---
## Manacore
| App | Port | Befehl |
| -------- | ---- | ---------------------------- |
| Web | 5173 | `pnpm dev:manacore:web` |
| Mobile | 8081 | `pnpm dev:manacore:mobile` |
| Landing | - | `pnpm dev:manacore:landing` |
| Backends | - | `pnpm dev:manacore:backends` |
```bash
# Nur ManaCore Web
pnpm dev:manacore:app
# Alle Backends für Dashboard-Widgets starten (7 Services parallel)
# Startet: auth, chat, calendar, contacts, todo, picture, manadeck
pnpm dev:manacore:backends
# ManaCore Web + alle Backends zusammen (empfohlen für Dashboard-Entwicklung)
pnpm dev:manacore:full
# Alles inkl. Mobile
pnpm manacore:dev
```
### Dashboard-Backends Übersicht
Die Dashboard-Widgets benötigen diese Backend-Services:
| Widget | Backend | Port |
| -------------------- | -------- | ---- |
| Credits | auth | 3001 |
| Chat Recent | chat | 3002 |
| Calendar Events | calendar | 3014 |
| Contacts Favorites | contacts | 3015 |
| Tasks Today/Upcoming | todo | 3018 |
| Picture Recent | picture | 3006 |
| Manadeck Progress | manadeck | 3009 |
---
## Mana Games
```bash
# Web + Backend zusammen starten
pnpm dev:mana-games:app
# Einzeln
pnpm dev:mana-games:web
pnpm dev:mana-games:backend
# Alles
pnpm mana-games:dev
```
---
## Allgemeine Befehle
```bash
# Alles bauen
pnpm build
# Type-Check
pnpm type-check
# Linting
pnpm lint
# Formatierung
pnpm format # Formatieren
pnpm format:check # Nur prüfen
# Tests
pnpm test
# Cache leeren
pnpm clean
```
---
## Stoppen & Aufräumen
### Prozesse stoppen
```bash
# Alle Node-Prozesse beenden (macOS/Linux)
pkill -f "node"
# Spezifischen Port freigeben
lsof -ti:3001 | xargs kill -9 # Port 3001 (Auth)
lsof -ti:3002 | xargs kill -9 # Port 3002 (Chat Backend)
lsof -ti:5174 | xargs kill -9 # Port 5174 (Chat Web)
# Turbo Cache leeren
pnpm clean
```
### Docker stoppen
```bash
# Container stoppen (Daten bleiben)
pnpm docker:down
# Container + Volumes löschen (Datenbank-Reset!)
pnpm docker:clean
```
### Komplettes Cleanup
```bash
# Alles stoppen und aufräumen
pnpm docker:down
pkill -f "node"
pnpm clean
rm -rf node_modules/.cache
```
---
## Typische Workflows
### Chat-Entwicklung starten
```bash
# 1. Infrastruktur starten
pnpm docker:up
# 2. Auth-Service starten (neues Terminal)
cd services/mana-core-auth && pnpm start:dev
# 3. Chat App starten (neues Terminal)
pnpm dev:chat:app
```
### Alles mit Docker
```bash
# Alles in Docker starten
pnpm docker:up:all
# Nur Frontend lokal
pnpm dev:chat:web
```
### Nach Code-Änderungen in Shared Packages
```bash
# Packages neu bauen
pnpm build:packages
# Oder spezifisches Package
pnpm --filter @manacore/shared-ui build
```
---
## App-Übersicht
### Aktive Apps (apps/) - 10 Apps
- **calendar** - Kalender-App für persönliches und geteiltes Zeitmanagement mit wiederkehrenden Terminen, CalDAV/iCal-Sync und Erinnerungen
- **chat** - KI-Chat-Anwendung mit verschiedenen KI-Modellen und Konversationsverlauf
- **contacts** - Kontaktverwaltung mit Import/Export und Google-Synchronisation
- **context** - AI document context (Expo mobile only)
- **manacore** - Multi-App Ecosystem Platform - zentrales Dashboard für alle Mana-Apps
- **manadeck** - Karteikarten-/Lernkarten-Management für Spaced Repetition Learning
- **nutriphi** - Nutrition tracking (geplant, noch kein Backend)
- **picture** - KI-Bildgenerierung mit verschiedenen Modellen und Galerie-Verwaltung
- **storage** - Cloud storage (geplant, noch kein Backend)
- **todo** - Task-Management mit Projekten, Subtasks, Labels und wiederkehrenden Aufgaben
### Games (games/) - 5 Games
- **figgos** - Collectible Figure Game mit KI-generierten Fantasy-Figuren zum Sammeln
- **mana-games** - Browser-Spieleplatform mit 22+ Spielen und KI-Spielgenerierung
- **voxel-lava** - 3D Voxel Building & Platforming Game mit Level-Editor und Sharing
- **whopixels** - Pixel-Art-Editor-Spiel mit Phaser.js
- **worldream** - Text-first World-Building-Plattform für fiktive Welten mit @slug-Referenzen
### Services (services/) - 1 Service
mana-core-auth - Zentraler Authentifizierungs-Service für alle Apps (Better Auth + EdDSA JWT)
### Shared Packages (packages/) - 4 Kern-Packages
shared-ui - Gemeinsame UI-Komponenten für alle Web-Apps
shared-auth - Client-seitige Auth-Integration für Web/Mobile
shared-nestjs-auth - NestJS Guards/Decorators für JWT-Validierung
shared-storage - S3-kompatible Storage-Abstraktion (MinIO/Hetzner)