|
| 1 | +# Portierungsplan DevCenter |
| 2 | + |
| 3 | +Stand: 2026-05-27 |
| 4 | + |
| 5 | +## Kurzentscheidung |
| 6 | + |
| 7 | +DevCenter bleibt zuerst eine lokale Desktop-IDE für Windows und GitHub. Eine gemeinsame Web-/Mobile-Linie ist sinnvoll, aber nicht als vollständiger IDE-Clone: Android, iOS und Web sollen später als schlanker PWA-Companion für Projektüberblick, Analyseberichte, Build-Checklisten und redigierte Arbeitsstands-Exporte entstehen. macOS und Linux werden als Source-Smoke-Ziele aus derselben PySide6-Codebasis geführt; eigene Desktop-Pakete kommen erst nach stabilen Smokes. |
| 8 | + |
| 9 | +## Warum Portierung sinnvoll ist |
| 10 | + |
| 11 | +DevCenter bündelt Editor, statische Analyse, Build, Lizenzsammlung, Dateiindex, Sync und optionalen AI-Assistenten. Der Nutzen ist auf dem Desktop am größten, weil lokale Projektdateien, PyInstaller-Builds, Schlüsselbund, Dateiindex und Terminalprozesse Zugriff auf das echte Dateisystem brauchen. Gleichzeitig entsteht ein mobiler Bedarf: Projektstatus prüfen, Analyseergebnisse ansehen, offene Build-/Store-Punkte nachverfolgen und einem Team oder LLM einen redigierten Projektstand weitergeben. |
| 12 | + |
| 13 | +Die sinnvolle Plattformstrategie trennt deshalb: |
| 14 | + |
| 15 | +- **Desktop-Vollversion:** lokale Entwicklung, Dateiindex, Build, AI-Assistent, Sync und Store-Vorbereitung. |
| 16 | +- **Web/PWA-Companion:** lesbarer Projektstatus, Analyse- und Build-Reports, Aufgaben, Checklisten und Import eines redigierten `devcenter-workspace-v1.json`. |
| 17 | +- **Native Mobile-Apps:** nur als PWA-Hülle oder späterer Store-Kanal, nicht als parallele IDE-Codebasis. |
| 18 | + |
| 19 | +## Plattformbewertung |
| 20 | + |
| 21 | +| Plattform | Bewertung | Entscheidung | |
| 22 | +|---|---|---| |
| 23 | +| Windows Store | Möglich, aber nicht kurzfristig. DevCenter ist groß, hat optionalen AI-Key, Build-/Dateisystemzugriffe und komplexe IDE-Workflows. | Vorerst GitHub-only; Store erst nach Secret-Härtung, Store-Listing, MSIX/WACK und klarer Datenschutzabgrenzung. | |
| 24 | +| Android | Vollständige IDE nicht sinnvoll, weil lokaler Python-/PyInstaller-/Dateisystemzugriff fehlt. | PWA-Companion für Projektübersicht, Analyseberichte und Checklisten. | |
| 25 | +| Webapp | Sinnvoll als Companion und Team-/LLM-Übergabeoberfläche. | Bevorzugter Mobile-/Web-Strang mit Import von `devcenter-workspace-v1.json`. | |
| 26 | +| iOS | Native IDE wegen Sandbox, Signierung und Dateisystemzugriff nicht sinnvoll. | PWA/TestFlight-Hülle nur nach funktionierendem Web-Companion. | |
| 27 | +| Mac App | Fachlich sinnvoll für Python-Entwicklung, aber AI-Key, PyInstaller, Pfade und Keyring müssen plattformspezifisch getestet werden. | P2 Source-Smoke auf macOS, Paketierung erst danach. | |
| 28 | +| Linux Version | Sinnvoll für Entwickler, besonders als Source-Start. AppImage/Flatpak erst nach stabilen Smokes. | P1 Linux-Source-Smoke, P3 Paketierungsentscheidung. | |
| 29 | + |
| 30 | +## Zielarchitektur |
| 31 | + |
| 32 | +### Desktop bleibt autoritativ |
| 33 | + |
| 34 | +Die PySide6-App bleibt die Vollversion. Sie verwaltet lokale Projekte, `devcenter.json`, Einstellungen, Dateiindex, Builds und optionale AI-Nutzung. Keine Mobile- oder Webversion darf API-Schlüssel, lokale Pfade oder Projektinhalte unkontrolliert übernehmen. |
| 35 | + |
| 36 | +### Austauschformat |
| 37 | + |
| 38 | +Der geplante Export heißt `devcenter-workspace-v1.json`. Er enthält nur redigierte, mobile-taugliche Daten: |
| 39 | + |
| 40 | +- Projektmetadaten aus `devcenter.json` |
| 41 | +- redigierte Plattform- und Pfadhinweise |
| 42 | +- Analysezusammenfassungen ohne vollständige Quelltexte |
| 43 | +- Build-Konfiguration ohne absolute Secrets oder lokale Build-Artefakte |
| 44 | +- Lizenz-/Dependency-Zusammenfassung |
| 45 | +- Aufgaben- und Store-/Release-Checklisten |
| 46 | +- optional: kleine, explizit freigegebene Code-Snippets |
| 47 | + |
| 48 | +Details stehen in `EXPORTFORMAT.md`. |
| 49 | + |
| 50 | +### Web/PWA-Companion |
| 51 | + |
| 52 | +Der Companion liegt perspektivisch unter `web_companion/`. Er soll offline-fähig sein, JSON-Dateien lokal im Browser importieren und keine Serverpflicht haben. Eine gehostete Version darf keine Projektdateien hochladen, solange keine explizite Datenschutz- und Sicherheitsentscheidung vorliegt. |
| 53 | + |
| 54 | +## Phasenplan |
| 55 | + |
| 56 | +| Phase | Ziel | Ergebnis | |
| 57 | +|---|---|---| |
| 58 | +| P0 | Exportvertrag festlegen | `EXPORTFORMAT.md`, TODOs, redigierte Feldliste | |
| 59 | +| P1 | Linux-Source-Smoke | Start, Tests, Pfad-/Keyring-/PyInstaller-Abgrenzung dokumentiert | |
| 60 | +| P2 | `devcenter-workspace-v1.json` im Desktop erzeugen | Exportfunktion mit Tests, keine Secrets, keine lokalen Vollpfade ohne Redaction | |
| 61 | +| P3 | Web/PWA-Companion bauen | Import, Dashboard, Analyse-/Build-/Release-Ansichten, Mobile-Smokes | |
| 62 | +| P4 | macOS-Smoke | Start auf Mac Studio oder macOS-Runner, Keyring/Terminal/Build prüfen | |
| 63 | +| P5 | Store-Entscheidung | Windows Store nur nach MSIX/WACK, Datenschutztext, Support-URL, Screenshot-Set und API-Key-Härtung | |
| 64 | + |
| 65 | +## Nicht-Ziele |
| 66 | + |
| 67 | +- Kein nativer Android-/iOS-IDE-Clone. |
| 68 | +- Kein öffentlicher Webservice, der komplette Projektquellen hochlädt. |
| 69 | +- Keine gemeinsame Desktop-/Mobile-Codebasis erzwingen, wenn sie die lokale IDE-Funktionalität verlangsamt. |
| 70 | +- Keine Windows-Store-Einreichung, solange AI-Key, Build-Prozesse und Dateisystemrechte nicht sauber abgegrenzt sind. |
| 71 | + |
| 72 | +## Offene Risiken |
| 73 | + |
| 74 | +- Der AI-Assistent darf keine Schlüssel in Exporte schreiben. |
| 75 | +- Build- und Sync-Einstellungen enthalten lokale Pfade und müssen redigiert werden. |
| 76 | +- PyInstaller- und Terminalfunktionen sind auf macOS/Linux nicht automatisch gleichwertig. |
| 77 | +- Ein Web-Companion kann nur Reports und Metadaten anzeigen, nicht die vollständige lokale Entwicklungsumgebung ersetzen. |
| 78 | + |
| 79 | +## Nächste konkrete Schritte |
| 80 | + |
| 81 | +1. Redigierten Export `devcenter-workspace-v1.json` als reine Hilfsfunktion planen und testen. |
| 82 | +2. Linux-Source-Smoke mit `python -m unittest discover -s tests -v` und `python -m compileall -q main.py manage_translations.py translator.py src tests` dokumentieren. |
| 83 | +3. Web-Companion minimal als statischen Import-Viewer für Projektstatus, Analysebefunde und Release-Checklisten anlegen. |
| 84 | +4. Windows-Store-Entscheidung erst nach Secret-/Privacy-Review und Store-Artefaktprüfung wieder aufnehmen. |
0 commit comments