Phase 0+1: Repo-Skelett für Cards-Greenfield

Strategie B (beschlossen 2026-05-08): Cards wird als eigenständige
föderierte App neu gebaut, ohne Code-Übernahme aus mana-monorepo.

Skelett enthält:
- apps/api: Hono+Bun mit /healthz, /version, Manifest-Endpoint, leere
  pgSchema('cards'), Drizzle-Config, erstem Vitest
- apps/web: SvelteKit 2 + Svelte 5 (runes), Vite auf 3082
- packages/cards-domain: Pure-TS, CardType-Discriminated-Union,
  SubIndex-Granularität für Reviews, Future-CardType-Set vorbereitet
- infrastructure/docker-compose.yml: Postgres 16 auf 5435
- app-manifest.json: v1.0.0, Verein-owned, beta-tier
- .github/workflows/ci.yml
- docs/LESSONS_FROM_MANA_MONOREPO.md (Read-Day-Output, 15 Lehren)

Pre-Flight für Phase 2 (Auth-Föderation): DNS cardecky.mana.how,
GitHub-Repo mana-ev/cards, Cards-App-Registrierung in mana-auth,
NPM_AUTH_TOKEN für Verdaccio.

Plan: mana/docs/playbooks/CARDS_GREENFIELD.md

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till 2026-05-08 14:08:41 +02:00
commit 8605b1b517
37 changed files with 1197 additions and 0 deletions

View file

@ -0,0 +1,28 @@
# Lokales Cards-Dev-Setup. Postgres-Container auf 5435,
# damit der mana-Plattform-Stack auf 5432 ungestört weiterläuft.
#
# Start: pnpm docker:up (vom Repo-Root)
# Logs: pnpm docker:logs
# Stop: pnpm docker:down
#
# Daten persistieren in `infrastructure/.volumes/cards-postgres`,
# git-ignored.
services:
cards-postgres:
image: postgres:16-alpine
container_name: cards-postgres
restart: unless-stopped
environment:
POSTGRES_USER: cards
POSTGRES_PASSWORD: cards
POSTGRES_DB: cards
ports:
- '5435:5432'
volumes:
- ./.volumes/cards-postgres:/var/lib/postgresql/data
healthcheck:
test: ['CMD-SHELL', 'pg_isready -U cards -d cards']
interval: 5s
timeout: 3s
retries: 10