managarten/docs/DEVELOPMENT_SCRIPTS.md
Till JS 61f2772789 chore(brand): rename Cards → Cardecky (display, infra, license-IDs)
- App display name → Cardecky in mana-apps.ts, MODULE_REGISTRY, alle Docs
- Domains: cardecky.mana.how (App), cardecky-api.mana.how (Marketplace
  API), cardecky.com (Marketing-Landing — cloudflared-route + nginx-Block
  vorbereitet, DNS muss noch gesetzt werden)
- 301-Redirect cards.mana.how → cardecky.mana.how (nginx + cloudflared)
  für alte Bookmarks; kann nach 6–12 Monaten wieder raus
- SPDX license IDs Cards-Personal-Use/Pro-Only-1.0 → Cardecky-* via
  Drizzle 0001-Migration (DROP CHECK → UPDATE rows → SET DEFAULT → ADD
  CHECK), inkl. _journal- und 0001_snapshot-Update
- In-mana cards-Modul: dezenter Banner zur Standalone-App (GUIDELINES
  §12), einmal schließbar via localStorage
- Docker-CORS-Listen, sso-origins.ts, Prometheus-Target aktualisiert

Technische IDs bleiben bewusst: appId 'cards', schema
mana_platform.cards.*, Verzeichnis apps/cards/, Package @cards/web,
services/cards-server, Env-Vars CARDS_*, UMAMI_WEBSITE_ID_CARDS*, Class
CardsEvents — Mana-Konvention (Brand ≠ technischer Identifier).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 13:49:47 +02:00

4.6 KiB

Development Scripts

Diese Dokumentation beschreibt die verfügbaren Entwicklungsbefehle im Mana Monorepo.

Übersicht

Das Monorepo nutzt Turborepo für parallele Builds und intelligentes Caching. Alle Befehle werden über pnpm ausgeführt.

Globale Befehle

Befehl Beschreibung
pnpm dev Startet alle Apps (Web, Mobile, Landing, Backend)
pnpm build Baut alle Packages und Apps
pnpm test Führt alle Tests aus
pnpm lint Führt Linting für alle Packages aus
pnpm type-check TypeScript-Typprüfung für alle Packages
pnpm clean Bereinigt Build-Artefakte
pnpm format Formatiert alle Dateien mit Prettier
pnpm format:check Prüft Formatierung ohne Änderungen

App-Typ Befehle

Diese Befehle starten alle Apps eines bestimmten Typs gleichzeitig:

Befehl Beschreibung Apps
pnpm dev:web Startet alle Web-Apps maerchenzauber, mana, cards, memoro
pnpm dev:landing Startet alle Landing Pages maerchenzauber, mana, cards, memoro
pnpm dev:mobile Startet alle Mobile-Apps maerchenzauber, mana, cards, memoro

Beispiel

# Alle Web-Apps starten (SvelteKit)
pnpm dev:web

# Alle Landing Pages starten (Astro)
pnpm dev:landing

# Alle Mobile-Apps starten (Expo)
pnpm dev:mobile

Projekt-spezifische Befehle

Diese Befehle starten ein komplettes Projekt mit allen zugehörigen Apps und Dependencies:

Befehl Beschreibung
pnpm maerchenzauber:dev Startet Maerchenzauber (Backend, Web, Mobile, Landing)
pnpm mana:dev Startet Mana (Web, Mobile, Landing)
pnpm cards:dev Startet Cardecky (Web, Mobile, Landing)
pnpm memoro:dev Startet Memoro (Web, Mobile, Landing)

Turbo Filter

Für erweiterte Kontrolle kannst du Turbo-Filter direkt verwenden:

# Einzelne App starten
pnpm turbo run dev --filter=@storyteller/web

# Mehrere Apps kombinieren
pnpm turbo run dev --filter=mana-web --filter=memoro-web

Package-Namen Referenz

Da die Package-Namen im Monorepo unterschiedlich sind, hier eine Übersicht:

Projekt Web Landing Mobile Backend
maerchenzauber @storyteller/web @storyteller/landing @storyteller/mobile @storyteller/backend
mana mana-web mana-landing mana -
cards web landing cards -
memoro memoro-web memoro-landing memoro -

Filter-Syntax

Pattern Beschreibung
--filter=name Exakte Package-Übereinstimmung
--filter=name... Package und alle Dependencies
--filter='@scope/*' Alle Packages im Scope

Port-Zuweisungen

Wenn mehrere Apps gleichzeitig laufen, verwenden sie unterschiedliche Ports:

App-Typ Projekt Standard-Port
Web maerchenzauber 5173
Web mana 5174
Web cards 5175
Web memoro 5176
Landing maerchenzauber 4321
Landing mana 4322
Landing cards 4323
Landing memoro 4324
Backend maerchenzauber 3000

Hinweis: Die tatsächlichen Ports können je nach Konfiguration variieren.

Tipps

  1. Schnelleres Starten: Nutze dev:web statt dev wenn du nur an Web-Apps arbeitest
  2. Parallele Entwicklung: Turbo führt alle Tasks parallel aus und nutzt Caching
  3. Selektives Bauen: Nutze Filter um nur relevante Packages zu bauen