Die Lock-Datei war in .gitignore ausgeschlossen - damit scheitert npm ci im CI-Build ("can only install with an existing package-lock.json"). Fix: Datei aus .gitignore raus und committen. Ist ohnehin Best Practice damit Installs reproduzierbar sind.