Files
Florian Wilde b0c4e9e9b9 refactor: rebuild template — Tailwind v4, Docker self-hosting, passkey auth
Toolchain fixes (all previously broken):
- npm run lint: next lint was removed in Next 16 -> eslint with flat config
- .eslintrc.json was ignored by ESLint 9 -> eslint.config.mjs
- npm test / test:e2e exited 1 with no tests -> passWithNoTests
- Vitest scanned tests/ and would have run Playwright specs -> scoped to src/
- Playwright targeted Mobile Safari while docs installed only chromium
- reuseExistingServer silently tested a foreign server on :3000 -> E2E_PORT
- 11 high-severity vulns -> npm audit fix
- deny rule Read(**/.env*) also blocked .env.example -> precise patterns

Stack changes:
- Tailwind v3 -> v4 (CSS-first, no tailwind.config.ts, tw-animate-css)
- shadcn regenerated for v4; 33 components -> 6 core, bundled radix-ui
- Supabase removed entirely; data layer is now chosen per project
- Vercel removed; Docker Compose self-hosting with scripts/update.sh
- Better Auth + passkey plugin as the binding auth standard
- ThemeProvider and Sonner mounted; dark mode and toasts now actually work

Workflow system:
- Sub-agents wired: /frontend, /backend, /qa delegate to .claude/agents
- Checklists folded into their SKILL.md; one file per skill
- Rules rewritten: DB-agnostic backend, passkey security, v4 frontend
- Spec language settled as German, skill instructions English
2026-08-09 00:48:50 +02:00

809 B

Product Requirements Document

Vision

Was wird gebaut und warum? Zwei bis drei Sätze.

Zielgruppe

Wer nutzt das Produkt? Welchen konkreten Schmerz hat diese Gruppe heute?

Roadmap

Priorität Feature Status
P0 (MVP) Feature 1 Roadmap
P0 (MVP) Feature 2 Roadmap
P1 Feature 3 Roadmap
P2 Feature 4 Roadmap

Erfolgsmetriken

Woran wird gemessen, ob das Produkt funktioniert?

Rahmenbedingungen

Zeit, Budget, Teamgröße, technische Grenzen. Auch: Braucht das Projekt dauerhafte Datenspeicherung? Braucht es Nutzerkonten?

Nicht-Ziele

Was in dieser Version bewusst nicht gebaut wird.


Dieses Dokument füllt /init im Interview aus. Danach entstehen mit /write-spec die einzelnen Feature-Specs.