Lokale Überprüfung
Der Reihe nach ausführen, bei erstem Fehler abbrechen und beheben:
docker build -t bytetuto-site:local .
docker run --rm bytetuto-site:local nginx -t
docker rm -f bt-check 2>/dev/null; docker run -d --name bt-check -p 8088:80 bytetuto-site:local
sleep 2
curl -fsS http://localhost:8088/healthz # -> ok
curl -fsS http://localhost:8088/ | grep -c byteTuto # > 0
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:8088/x # -> 404
curl -sI http://localhost:8088/ | grep -iE 'content-security|x-frame|cache-control'
curl -sI http://localhost:8088/index.md | grep -i 'content-type: text/markdown'
curl -s -H 'Accept: text/markdown' http://localhost:8088/ | head -3 # -> front matter ---
python3 scripts/check_seo_agents.py # SEO + Agent-freundlich
python3 scripts/check_responsive.py --base http://localhost:8088 --shots /tmp/rs # responsiv (Playwright)
docker rm -f bt-check
Playwright, beim ersten Mal: pip install playwright && python3 -m playwright install chromium.
Shell-Skripte: bash -n deploy/*.sh nginx/*.sh (und shellcheck falls installiert).
Visuell zu prüfende Punkte (dev: docker compose -f docker-compose.dev.yml up → http://localhost:8080)
- Die Hintergrundanimation läuft ruckelfrei und stoppt, wenn „reduzierte Animationen“ aktiviert ist.
- Keine Fehler in der Konsole (CSP blockiert alle Inline-Skripte: das JS befindet sich in
site/app.js). - Screenshots
/tmp/rs/*-320x640.pngund*-375x667.png: nichts abgeschnitten, nichts klebt an den Rändern. - Markenrichtlinien eingehalten (siehe Skill
bytetuto-brand).