config/config.php was gitignored and devs had to copy it from config/config.php.example on every fresh clone. Since the bootstrap config reads everything from .env via $envString() / $envInt() / $envBool() defaults, there is nothing developer-specific in the file — the cp step was dead ceremony. - Remove config/config.php from .gitignore and track it directly - Delete config/config.php.example - Drop the example-existence + per-doc reference checks from bin/docs-drift-check.sh; add a legacy-pattern check that flags any new mention of the removed example file - Update ConfigContractsTest to require config.php and forbid the example - Clean stale references in CLAUDE.md, README.md, six docs files, and the core-guardrails skill Same commit slims README down from 294 to 47 lines: one setup checklist (now 3 commands instead of 4), the seeded login table, the three quality-gate commands, and pointers to CLAUDE.md and docs/index.md for everything else. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.0 KiB
2.0 KiB
Erste Schritte
Letzte Aktualisierung: 2026-04-01
Ziel
Diese Seite bringt neue Entwickler in unter 45 Minuten zu einem lauffähigen lokalen Setup inklusive erstem Smoke-Test.
Voraussetzungen
- Docker + Docker Compose
- Git
- Zugriff auf dieses Repository
1) Projekt lokal starten
cp .env.example .env
docker compose up --build -d
Alle ENV-Variablen sind dokumentiert in /docs/reference-konfiguration.md. docker compose up startet auch den globalen Scheduler-Runner (Service scheduler) im Hintergrund.
Danach erreichbar:
- App:
http://localhost:8080 - phpMyAdmin:
http://localhost:8081
2) Login mit Seed-User (Fresh-Install)
Standard-Demo-User (aus db/init/init.sql):
- E-Mail:
demo@user.com - Passwort:
Demo123
Wichtig:
- Der Seed-User wird nur beim initialen DB-Setup angelegt.
- Wenn bereits ein bestehendes Docker-Volume (
db_data) vorhanden ist, kann der lokale Datenstand abweichen. - Für einen sauberen Fresh-Stand kannst du lokal neu initialisieren (Achtung: löscht lokale DB-Daten):
docker compose down -v
docker compose up --build -d
3) Schneller Funktionscheck
- Login funktioniert
- Admin-Navigation ist sichtbar
Admin -> BenutzerlädtAdmin -> EinstellungenlädtAdmin -> API docslädt (mit entsprechender Permission)
4) API-Schnelltest
- In der Admin-UI einen API-Token erstellen (oder vorhandenen nutzen)
- Beispiel-Call:
curl -H "Authorization: Bearer <TOKEN>" \
http://localhost:8080/api/v1/me
5) Qualitätschecks ausführen
docker compose exec php vendor/bin/phpunit
docker compose exec php vendor/bin/phpstan analyse -c phpstan.neon --no-progress
Bei JS-Änderungen zusätzlich Browser-Smoke mit DevTools-Console (keine JS-Errors).
6) Nächste Doku-Schritte
- Täglicher Workflow:
/docs/howto-lokale-entwicklung.md - Erster kleiner Change:
/docs/howto-erste-aenderung.md - Architekturüberblick:
/docs/explanation-architektur.md - Sicherheitsmodell:
/docs/explanation-sicherheitsmodell.md