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>
43 lines
761 B
JSON
43 lines
761 B
JSON
{
|
|
"$schema": "https://turbo.build/schema.json",
|
|
"concurrency": "5",
|
|
"globalEnv": [
|
|
"NODE_ENV",
|
|
"DATABASE_URL",
|
|
"MANA_AUTH_URL",
|
|
"MANA_SHARE_URL",
|
|
"MANA_LINKS_URL",
|
|
"MANA_MCP_URL",
|
|
"MANA_SEARCH_URL",
|
|
"MANA_EVENTS_URL",
|
|
"MANA_CREDITS_URL",
|
|
"MANA_MEDIA_URL",
|
|
"MANA_SERVICE_KEY",
|
|
"CARDS_APP_SERVICE_KEY"
|
|
],
|
|
"tasks": {
|
|
"dev": {
|
|
"cache": false,
|
|
"persistent": true
|
|
},
|
|
"build": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": ["dist/**", "build/**", ".svelte-kit/**"]
|
|
},
|
|
"lint": {
|
|
"dependsOn": ["^lint"],
|
|
"outputs": []
|
|
},
|
|
"type-check": {
|
|
"dependsOn": ["^type-check", "^build"],
|
|
"outputs": []
|
|
},
|
|
"test": {
|
|
"dependsOn": ["^build"],
|
|
"outputs": ["coverage/**"]
|
|
},
|
|
"clean": {
|
|
"cache": false
|
|
}
|
|
}
|
|
}
|