# Qt Migration Copilot Demo Dieses Repository zeigt einen kleinen, reproduzierbaren Benchmark für die Migration eines alten Qt5/C++11-Projekts nach Qt6/C++23 mit Copilot CLI. ## Inhalt - `qt5-before/` Ausgangszustand mit absichtlich veralteten Qt5-APIs: - `QRegExp` - `QDesktopWidget` - `QTextCodec` - alte `SIGNAL/SLOT`-Syntax - getrennte `Qt5::Core`, `Qt5::Gui`, `Qt5::Widgets` - `qt6-after/` Erwarteter oder referenzierter Zielzustand nach der Migration: - `QRegularExpression` - `QScreen` - modernes UTF-8-/String-Handling - moderne Connect-Syntax - Qt6 + C++23 - `Dockerfile.ci` Vorgebautes CI-Image für Jenkins. - `Jenkinsfile` Führt Configure, Build und Test im vorgebauten Docker-Image aus. - `scripts/` Hilfsskripte für Entire CLI und Copilot CLI. ## Ziel Das Repo dient als: - Demo für Qt5→Qt6-Migration - Benchmark für Copilot CLI / Agenten - reproduzierbares Beispiel mit Entire-Checkpoints - Referenz für Jenkins + Docker CI ## Empfohlener Workflow 1. In `qt5-before/` starten 2. Entire für Copilot CLI aktivieren 3. Baseline-Checkpoint committen 4. Copilot-Migration ausführen 5. Ergebnis committen 6. Mit `qt6-after/` vergleichen ## CI-Image bauen ```bash docker build -t lifemaps/ci-cpp:latest -f Dockerfile.ci . docker push lifemaps/ci-cpp:latest ``` ## Entire + Copilot Beispiel: ```bash ./scripts/run-entire-copilot-migration-with-optional-rewind-resume.sh qt5-before/qt5-legacy-migration-benchmark ``` ## Hinweis Dieses Repository ist absichtlich klein gehalten, damit: - Migrationsänderungen gut sichtbar bleiben - Copilot-Antworten vergleichbar sind - CI-Läufe schnell reproduzierbar sind