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>
This commit is contained in:
Till JS 2026-05-08 13:49:47 +02:00
parent a6a003fa5e
commit 61f2772789
52 changed files with 2149 additions and 141 deletions

View file

@ -3,7 +3,7 @@
"version": "0.1.0",
"private": true,
"sideEffects": false,
"description": "Pure utilities for the Cards product: types, FSRS wrapper, Cloze parser, Markdown render. Consumed by both the mana cards module and the cards.mana.how standalone app.",
"description": "Pure utilities for the Cardecky product: types, FSRS wrapper, Cloze parser, Markdown render. Consumed by both the mana cards module and the cardecky.mana.how standalone app.",
"main": "./src/index.ts",
"types": "./src/index.ts",
"exports": {

View file

@ -1,6 +1,6 @@
/**
* Cards-Core pure utilities used by both the mana cards module
* (apps/mana/.../modules/cards/) and the cards.mana.how standalone app.
* Cardecky / Cards-Core pure utilities used by both the mana cards module
* (apps/mana/.../modules/cards/) and the cardecky.mana.how standalone app.
*
* Only DB-free code lives here. Anything that touches Dexie, mana-sync,
* or app-specific encryption stays in the consumer apps.

View file

@ -1,8 +1,8 @@
/**
* Cards shared types.
* Cardecky shared types.
*
* Used by both the mana cards module (apps/mana/.../modules/cards/) and
* the cards.mana.how standalone app. Pure type definitions, no runtime
* the cardecky.mana.how standalone app. Pure type definitions, no runtime
* imports beyond `BaseRecord` and `VisibilityLevel` from the shared
* Mana packages.
*/
@ -49,7 +49,7 @@ export interface LocalDeck extends BaseRecord {
/**
* Marketplace-subscription markers. Set on decks that the user
* pulled from cards.mana.how/d/<slug> rather than created
* pulled from cardecky.mana.how/d/<slug> rather than created
* themselves. The pair (slug + version) lets the client compute
* a smart-merge diff against the server's latest version.
*

View file

@ -155,7 +155,7 @@ export const MANA_APPS: ManaApp[] = [
},
{
id: 'cards',
name: 'Cards',
name: 'Cardecky',
description: {
de: 'KI Karteikarten',
en: 'AI Flashcards',