Scrum4Me/CLAUDE.md
Janpeter Visser 990fca792f
Refine CLAUDE.md content and task instructions
Removed references to automatic logging of implementation plans, test results, and commits in stories. Updated task instructions and conventions for clarity.
2026-04-24 22:01:20 +02:00

4.3 KiB
Raw Blame History

CLAUDE.md — Scrum4Me

Dit is het centrale instructiedocument voor Claude Code. Lees dit volledig voordat je iets bouwt.


Wat is Scrum4Me?

Een desktop-first fullstack webapplicatie voor solo developers en kleine Scrum Teams die meerdere softwareprojecten parallel beheren. De app organiseert werk hiërarchisch (product → PBI → story → taak), biedt gesplitste planningsschermen met drag-and-drop, en integreert met Claude Code via een REST API.


Specificatiedocumenten

Lees het relevante document voordat je aan een feature begint. Nooit gokken over requirements.

Document Gebruik voor
scrum4me-functional-spec.md Acceptatiecriteria, randgevallen, user flows
scrum4me-architecture.md Stack, datamodel, Prisma schema, Zustand stores
scrum4me-backlog.md Welke task bouwen, volgorde, "done when"-criteria
scrum4me-personas.md Lars (primair), Dina, Remi — gebruik bij UI-beslissingen
scrum4me-product-backlog.md Testdata voor de seed
scrum4me-styling.md Lees dit voor elk component — MD3-kleuren, shadcn patronen

Waar te beginnen

Volg de backlog strikt op volgorde. Start bij ST-001. Sla geen milestone over.

M0 (ST-001008) → M1 (ST-101110) → M2 (ST-201210)
→ M3 (ST-301312) → M4 (ST-401410) → M5 (ST-501506)
→ M6 (ST-601612)

Per task:

  1. Lees de task in scrum4me-backlog.md
  2. Zoek de bijbehorende feature-spec in scrum4me-functional-spec.md
  3. Lees het relevante patroon in docs/patterns/ als dat van toepassing is
  4. Bouw — test — verifieer de "Done when"-criteria
  5. vraag of code juiste is
  6. Commit: feat: ST-001 project scaffolding
  7. vraag of volgende taak moet worden gedaan

Tech stack

Next.js 16 (App Router) + React 19
TypeScript strict
Tailwind CSS + shadcn/ui
MD3 kleurensysteem via theme.css
Zustand (client state)
dnd-kit (drag-and-drop)
Prisma v7 + PostgreSQL (Neon) | SQLite (lokaal)
iron-session (auth cookies)
bcryptjs + Zod + Sonner

⚠️ Stylingregel: Gebruik nooit bg-blue-500 of willekeurige Tailwind-kleuren. Gebruik altijd semantische MD3-tokens: bg-primary, bg-status-done, bg-priority-critical. Zie scrum4me-styling.md voor alle patronen.

⚠️ Next.js-versie: Lees node_modules/next/dist/docs/ bij twijfel — API's kunnen afwijken van trainingsdata.


Implementatiepatronen

Lees het relevante patroon vóór je begint. Nooit uit het hoofd schrijven.

Patroon Bestand
iron-session (auth cookies) docs/patterns/iron-session.md
Prisma Client singleton docs/patterns/prisma-client.md
Server Action (met auth + Zod) docs/patterns/server-action.md
Route Handler (REST API) docs/patterns/route-handler.md
Zustand optimistische update + rollback docs/patterns/zustand-optimistic.md
Float sort_order drag-and-drop docs/patterns/sort-order.md
Middleware (route protection) docs/patterns/middleware.md

Env vars

DATABASE_URL=""        # postgresql://... of file:./dev.db
DIRECT_URL=""          # alleen bij Neon/cloud
SESSION_SECRET=""      # openssl rand -base64 32

Conventies

  • Commits: feat: ST-XXX beschrijving / fix: ST-XXX beschrijving
  • Branches: feat/ST-001-scaffolding
  • Server Actions: altijd in actions/[domein].ts, nooit inline in page.tsx
  • Validatie: altijd Zod, nooit handmatige checks
  • Eigenaarschap: elke Server Action en Route Handler controleert dat de resource bij de ingelogde gebruiker hoort
  • Demo-check: elke Server Action controleert session.isDemo vóór schrijven
  • Foutberichten: Nederlands voor eindgebruikers — comments in code: Engels

Scrum-terminologie

Correct Niet gebruiken
Product Backlog Item (PBI) Feature, Epic, Issue
Story User Story, Ticket
Sprint Goal Sprint Objective
Scrum Team Team

Definition of Done

  • Alle 62 tasks (ST-001 t/m ST-612) afgerond
  • Volledige Lars-flow zonder fouten (ST-612)
  • Alle 7 API-endpoints werken via curl
  • Demo-gebruiker heeft geen schrijfrechten
  • App opzetbaar via README zonder extra hulp
  • CI/CD actief — falende build blokkeert merge
  • Beveiligingsreview API geslaagd (cross-user toegang onmogelijk)