- CLAUDE.md header/description now match actual project (TalkTime), not starter-kit template - Retro-documented already-built MVP features as PROJ-1..PROJ-10 in features/INDEX.md - Corrected PROJ-9: Matrix User Provisioning, room sync and reconciliation were already implemented, not just health-check - Added PROJ-11 requirements spec for basic chat (Matrix Client-Server API, team scope, text-only MVP) Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0143yYvjesjHndBACoweyK67
2.8 KiB
2.8 KiB
TalkTime
Selbst hostbare, DSGVO-freundliche Kommunikations- und Verwaltungsplattform für Sportvereine (Matrix/Synapse-Backend). Vite/React + Fastify Stack mit KI-gestütztem Entwicklungsworkflow über spezialisierte Skills für Requirements, Architecture, Frontend, Backend, QA und Deployment.
Tech Stack
- Frontend: Vite + React 19 + TypeScript
- Styling: Tailwind CSS + shadcn/ui (copy-paste components)
- Backend: Fastify + Drizzle ORM + PostgreSQL, own JWT auth
- Deployment: self-hosted Linux server — git pull + rsync + systemd, updates pulled from Gitea
- Validation: Zod + react-hook-form
- State: React useState / Context API
Project Structure
frontend/
src/
main.tsx, App.tsx Entry points
components/
ui/ shadcn/ui components (NEVER recreate these)
hooks/ Custom React hooks
lib/ Utilities (utils.ts)
backend/
src/
server.ts Fastify app entry
routes/ Route handlers
db/ Drizzle schema + connection
drizzle/ Generated migrations
features/ Feature specifications (PROJ-X-name.md)
INDEX.md Feature status overview
docs/
PRD.md Product Requirements Document
production/ Production guides (error tracking, security, performance)
Development Workflow
/requirements- Create feature spec from idea/architecture- Design tech architecture (PM-friendly, no code)/frontend- Build UI components (shadcn/ui first!)/backend- Build APIs, database schema, auth checks/qa- Test against acceptance criteria + security audit/deploy- Deploy to the server + production-ready checks
Feature Tracking
All features tracked in features/INDEX.md. Every skill reads it at start and updates it when done. Feature specs live in features/PROJ-X-name.md.
Key Conventions
- Feature IDs: PROJ-1, PROJ-2, etc. (sequential)
- Commits:
feat(PROJ-X): description,fix(PROJ-X): description - Single Responsibility: One feature per spec file
- shadcn/ui first: NEVER create custom versions of installed shadcn components
- Human-in-the-loop: All workflows have user approval checkpoints
- No RLS backstop: authorization/ownership checks are explicit in Fastify route handlers, not enforced by the database
Build & Test Commands
# frontend/
npm run dev # Vite dev server (localhost:5173)
npm run build # Production build
npm run lint # ESLint
# backend/
npm run dev # tsx watch (localhost:4000)
npm run build # tsc build
npm run start # node dist/server.js
npm run db:generate # generate Drizzle migration
npm run db:migrate # apply migrations
Product Context
@docs/PRD.md
Feature Overview
@features/INDEX.md