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>
37 lines
1.4 KiB
JSON
37 lines
1.4 KiB
JSON
{
|
|
"name": "cards",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"type": "module",
|
|
"description": "Cards — eigenständige föderierte Spaced-Repetition-App des mana e.V. Greenfield-Build (Strategie B), redet über mana-share/-mcp/-search/-events mit den anderen Verein-Apps.",
|
|
"packageManager": "pnpm@9.15.9",
|
|
"engines": {
|
|
"node": ">=20",
|
|
"pnpm": "^9"
|
|
},
|
|
"scripts": {
|
|
"dev": "turbo run dev",
|
|
"build": "turbo run build",
|
|
"test": "turbo run test",
|
|
"lint": "turbo run lint",
|
|
"type-check": "turbo run type-check",
|
|
"clean": "turbo run clean",
|
|
"format": "prettier --config .prettierrc.json --write \"**/*.{ts,tsx,svelte,js,jsx,json,md}\"",
|
|
"format:check": "prettier --config .prettierrc.json --check \"**/*.{ts,tsx,svelte,js,jsx,json,md}\"",
|
|
"validate:manifest": "pnpm exec validate-manifest app-manifest.json",
|
|
"validate:fast": "pnpm run type-check && pnpm run validate:manifest",
|
|
"validate:all": "pnpm run type-check && pnpm run validate:manifest && pnpm run test",
|
|
"docker:up": "docker compose -f infrastructure/docker-compose.yml up -d",
|
|
"docker:down": "docker compose -f infrastructure/docker-compose.yml down",
|
|
"docker:logs": "docker compose -f infrastructure/docker-compose.yml logs -f",
|
|
"db:push": "pnpm --filter @cards/api drizzle:push"
|
|
},
|
|
"devDependencies": {
|
|
"@types/bun": "latest",
|
|
"@types/node": "^22.10.2",
|
|
"prettier": "^3.3.3",
|
|
"prettier-plugin-svelte": "^3.2.6",
|
|
"turbo": "^2.3.0",
|
|
"typescript": "^5.6.3"
|
|
}
|
|
}
|