1
0
Files
breadcrumb-the-shire/docs/tutorial-01-erste-schritte.md
fs 0c78dc4355 chore(setup): track config.php directly, slim README to setup checklist
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>
2026-04-29 08:37:45 +02:00

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

  1. Login funktioniert
  2. Admin-Navigation ist sichtbar
  3. Admin -> Benutzer lädt
  4. Admin -> Einstellungen lädt
  5. Admin -> API docs lädt (mit entsprechender Permission)

4) API-Schnelltest

  1. In der Admin-UI einen API-Token erstellen (oder vorhandenen nutzen)
  2. 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