52 lines
2.6 KiB
Markdown
52 lines
2.6 KiB
Markdown
# Vollversammlung – Agent Instructions
|
||
|
||
## Project
|
||
Mandantenfähiges Veranstaltungs-Tool mit Anwesenheitsverwaltung und Statistik.
|
||
- Backend: Symfony (manuelle Controller, keine API Platform)
|
||
- Frontend: React
|
||
- DB: PostgreSQL (Multi-Tenant, Scoping per MandantID)
|
||
- Auth: externer OAuth (Vonova), kein lokaler Login
|
||
- Logging: Mercure
|
||
- Infrastruktur: Docker / docker-compose
|
||
|
||
## Structure (planned)
|
||
```
|
||
vollversammlung/
|
||
├── .opencode/ ← OpenCode agents + config (opencode.json)
|
||
├── Doku/ ← Planungsdokumente, Architektur
|
||
├── api/ ← Symfony Backend
|
||
└── frontend/ ← React Frontend
|
||
```
|
||
|
||
## Key constraints the repo doesn't make obvious
|
||
- Personen haben **keine** email/benutzername-Felder – OAuth liefert Identität extern
|
||
- Mandantenisolation ist core: alle Daten pro MandantID scoped, keine Überschneidung
|
||
- Auth-Tokens niemals im Client-Speicher (localStorage/sessionStorage)
|
||
- Session-Cookies: HttpOnly, Secure, SameSite=lax
|
||
- Input-Validierung auf jeder Schicht: Frontend + API + DB-Level
|
||
|
||
## Agent config
|
||
Agents are defined in `.opencode/opencode.json` and `.opencode/agents/*.md`. They cover six roles: architekt, db-architekt, backend-coder, frontend-coder, tester, devops-coder. Loading agent instructions from `.opencode/` is the primary configuration surface – no other OpenCode config files exist at root level.
|
||
|
||
## Referenzen
|
||
- `Doku/architektur.md` → Backend Architektur mit struktur & Konventionen (Provider/Processor-Pattern, Multi-Tenant Scoping)
|
||
- `Doku/plan.md` → Domain-Details und Entity-Spezifikationen (Veranstaltung, Personen, Anwesenheit)
|
||
- `Doku/agents_planung.md` → 4-Phasen-Agent-Arbeitsverteilung
|
||
- `Doku/umsetzung.md` → Aktueller Projektfortschritt (immer aktuell halten!)
|
||
|
||
## Arbeitsweise
|
||
- Immer einen Subagent starten für parallele Arbeit (z.B. Backend + Frontend gleichzeitig)
|
||
- Fortschritt unter `Doku/umsetzung.md` speichern und aktualisieren
|
||
|
||
## What to do on first session in api/ or frontend/
|
||
1. Read `.opencode/opencode.json` for agent definitions
|
||
2. Read `Doku/architektur.md` und `Doku/plan.md` für Architektur und Domain-Anforderungen
|
||
3. Read the relevant agent file from `.opencode/agents/` fur implementierung-Konventionen
|
||
4. Prüfe ob Infrastruktur eingerichtet ist (docker-compose.yaml, .env.example) vor Code-Schreiben
|
||
|
||
|
||
## Wichtige Pfad-Convention
|
||
- Alle Pfade mit `Doku/`, `.opencode/`, `api/`, `frontend/` immer relativ zum Workspaceroot
|
||
- Niemals Annahmen über Pfadnamen treffen – bei Unsicherheit zuerst `ls` oder `glob` verwenden
|
||
- Im Zweifel immer den aktuellen Pfad über das Terminal prüfen (z. B. `pwd`) bevor Dateioperationen erfolgen
|