Template
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
61 lines
1.6 KiB
Markdown
61 lines
1.6 KiB
Markdown
# PROJ-X: Feature-Name
|
|
|
|
**Status:** Planned
|
|
**Erstellt:** YYYY-MM-DD
|
|
**Zuletzt geändert:** YYYY-MM-DD
|
|
|
|
## Abhängigkeiten
|
|
- Keine
|
|
|
|
## User Stories
|
|
- Als [Nutzertyp] möchte ich [Aktion], um [Ziel] zu erreichen
|
|
|
|
## Out of Scope
|
|
<!-- Was dieses Feature bewusst NICHT abdeckt. Kritisch für die Übergabe an die Entwicklung. -->
|
|
- _Beispiel: Massenbearbeitung — verschoben auf PROJ-5_
|
|
- _Beispiel: Admin-Sicht auf fremde Daten — eigenes Feature_
|
|
|
|
## Acceptance Criteria
|
|
<!-- Format: Angenommen [Vorbedingung], wenn [Aktion], dann [Ergebnis] -->
|
|
- [ ] Angenommen …, wenn …, dann …
|
|
- [ ] Angenommen …, wenn …, dann …
|
|
|
|
## Edge Cases
|
|
- Was passiert, wenn …?
|
|
- Wie behandeln wir …?
|
|
|
|
## Technische Anforderungen (optional)
|
|
- Performance: …
|
|
- Sicherheit: Anmeldung erforderlich (Better Auth, Passkey primär)
|
|
- Browser: Chrome, Firefox, Safari
|
|
|
|
## Offene Fragen
|
|
<!-- Ungeklärtes aus dem Interview. Wird in /refine geschlossen. -->
|
|
- [ ] Frage 1
|
|
|
|
## Entscheidungslog
|
|
|
|
### Produkt-Entscheidungen
|
|
<!-- von /write-spec -->
|
|
| Entscheidung | Begründung | Datum |
|
|
|--------------|------------|-------|
|
|
| _Beispiel: max. 3 Tags pro Eintrag_ | _Hält die UI im MVP einfach, später erweiterbar_ | YYYY-MM-DD |
|
|
|
|
### Technische Entscheidungen
|
|
<!-- von /architecture -->
|
|
| Entscheidung | Begründung | Datum |
|
|
|--------------|------------|-------|
|
|
| _Beispiel: localStorage statt Datenbank_ | _Keine Nutzerkonten, Daten bleiben gerätelokal_ | YYYY-MM-DD |
|
|
|
|
---
|
|
<!-- Die folgenden Abschnitte ergänzen die nachgelagerten Skills -->
|
|
|
|
## Tech Design
|
|
_wird von /architecture ergänzt_
|
|
|
|
## QA Test Results
|
|
_wird von /qa ergänzt_
|
|
|
|
## Deployment
|
|
_wird von /deploy ergänzt_
|