# KI-Einstiegsscript für EspoCRM Projekt ## Übersicht Das `ki_project_overview.py` Script bietet einen vollständigen, automatisch generierten Überblick über das EspoCRM-Projekt. Es ist speziell für KI-basierte Programmierung konzipiert und gibt alle relevanten Informationen aus, die für die Entwicklung benötigt werden. ## Zweck **Ziel:** Die KI erhält einen aktuellen, umfassenden Informationsstand über das Projekt, ohne manuell verschiedene Dateien durchsuchen zu müssen. Das Script analysiert automatisch: - ✅ Alle Custom Entitäten und ihre Felder - ✅ Beziehungen zwischen Entitäten (Relationship-Graph) - ✅ Custom PHP Klassen (Formula-Funktionen, Services, etc.) - ✅ Workflows und deren Status - ✅ Frontend-Anpassungen (JavaScript, CSS) - ✅ Custom Layouts - ✅ Internationalisierung (i18n) - ✅ README.md Dokumentation ## Verwendung ### Einfach ausführen ```bash # Im EspoCRM Root-Verzeichnis python3 custom/scripts/ki_project_overview.py ``` ### Ausgabe in Datei speichern ```bash # Für detaillierte Analyse später python3 custom/scripts/ki_project_overview.py > /tmp/project-overview.txt ``` ### Ausgabe an KI übergeben Das Script ist so konzipiert, dass die Ausgabe direkt an eine KI übergeben werden kann. Die KI erhält damit: 1. **Schnellübersicht** - Projekt-Statistiken auf einen Blick 2. **README.md** - Vollständige Projektdokumentation 3. **Entitäten-Analyse** - Alle Custom Entities mit Feldern und Beziehungen 4. **Beziehungsgraph** - Wie Entitäten miteinander verbunden sind 5. **Custom Code** - PHP Klassen, JavaScript, CSS 6. **Workflows** - Aktive und inaktive Workflows 7. **Internationalisierung** - Unterstützte Sprachen ## Ausgabeformat Das Script gibt strukturierte, lesbare Ausgaben mit verschiedenen Abschnitten: ``` ================================================================================ SCHNELLÜBERSICHT ================================================================================ 📊 Projekt-Statistiken: • Entities 21 • PHP Classes 1 • Workflows 1 • JavaScript Files 10 ... ================================================================================ ENTITÄTEN ANALYSE ================================================================================ ──────────────────────────────────────────────────────────────────────────────── ► Entität: CMietobjekt ──────────────────────────────────────────────────────────────────────────────── 📋 Scope: • entity: CMietobjekt • acl: True • stream: False ... 🔧 Felder (15): • name: varchar [REQUIRED] [CUSTOM] • adresse: link → CAdressen • miete: currency (€) ... 🔗 Beziehungen (8): • mietverhltnisse [hasMany] → CVmhMietverhltnis.mietobjekt • kontakte [hasMany] → Contact.mietobjekte ... ⚡ Formula Scripts: • beforeSaveApiScript: 25 Zeilen ``` ## Was wird analysiert? ### 1. Entitäten (entityDefs) Für jede Custom Entity: - Alle Felder mit Typ, Optionen, Constraints - Alle Beziehungen (Links) zu anderen Entities - Formula Scripts (beforeSave, afterSave, etc.) - Scope-Konfiguration (ACL, Stream, Portal-Access) ### 2. Beziehungsgraph Visualisiert alle Beziehungen zwischen Entities: - hasMany, belongsTo, hasOne, manyToMany - Bidirektionale Links mit relationName - Foreign Keys ### 3. Custom PHP Klassen Alle PHP-Dateien in `custom/Espo/Custom/Classes/`: - FormulaFunctions - Services - Controllers - Hooks - Etc. ### 4. Workflows Alle Workflows in `custom/workflows/`: - Name und Status (aktiv/inaktiv) - Trigger-Typ - Entity-Zuordnung - Anzahl der Aktionen ### 5. Frontend - **JavaScript:** Alle Custom Views und Module - **CSS:** Registrierte Stylesheets - **App Config:** cssList, scriptList aus client.json ### 6. Layouts Custom Layouts für jede Entity: - detail, list, detailSmall, listSmall - bottomPanelsDetail, sidePanelsDetail - Etc. ### 7. Internationalisierung - Unterstützte Sprachen - Anzahl Übersetzungsdateien pro Sprache - Geschätzte Anzahl Labels ## Typische Anwendungsfälle ### Fall 1: Neue Programmieraufgabe ```bash # KI erhält vollständigen Projekt-Kontext python3 custom/scripts/ki_project_overview.py ``` Die KI kann dann direkt auf Basis der Ausgabe arbeiten, ohne weitere Dateien lesen zu müssen. ### Fall 2: Beziehungen verstehen Das Script zeigt automatisch alle Beziehungen zwischen Entities und hilft, Abhängigkeiten zu verstehen. ### Fall 3: Vollständigkeitsprüfung Schnell erkennen, ob alle erwarteten Entities, Felder und Beziehungen vorhanden sind. ## Integration mit validate_and_rebuild.py Das KI-Einstiegsscript ist als Ergänzung zum `validate_and_rebuild.py` Script konzipiert: 1. **ki_project_overview.py** → Informationen sammeln, Kontext für KI bereitstellen 2. **validate_and_rebuild.py** → Änderungen validieren und anwenden ### Typischer Workflow ```bash # 1. Projekt-Übersicht für KI python3 custom/scripts/ki_project_overview.py # 2. KI macht Änderungen an JSON-Dateien # (Basierend auf der Übersicht) # 3. Validieren und Rebuild python3 custom/scripts/validate_and_rebuild.py ``` ## Technische Details ### Dateisystem-Struktur Das Script erwartet folgende Struktur: ``` /var/lib/docker/volumes/vmh-espocrm_espocrm/_data/ ├── README.md ├── custom/ │ ├── Espo/ │ │ └── Custom/ │ │ ├── Classes/ │ │ └── Resources/ │ │ ├── metadata/ │ │ │ ├── entityDefs/ │ │ │ ├── scopes/ │ │ │ ├── formula/ │ │ │ ├── layouts/ │ │ │ └── ... │ │ └── i18n/ │ ├── scripts/ │ └── workflows/ └── client/ └── custom/ ├── src/ └── css/ ``` ### Performance - Analysiert ~20 Entities in <1 Sekunde - JSON-Parsing mit Error-Handling - Effiziente Rekursion durch Dateisystem ### Error-Handling - Fehlerhafte JSON-Dateien werden übersprungen mit Fehlermeldung - Fehlende Verzeichnisse führen zu Info-Meldungen, nicht zu Abbruch - Robuste Exception-Behandlung ## Ausgabe-Sektionen im Detail ### 1. SCHNELLÜBERSICHT Kompakte Statistiken für schnellen Überblick ### 2. README.md Vollständiger Inhalt der Projektdokumentation ### 3. ENTITÄTEN ANALYSE Detaillierte Analyse jeder Custom Entity: - Scope (ACL, Stream, Portal, etc.) - Felder (Typ, Constraints, Optionen) - Beziehungen (Links zu anderen Entities) - Formula Scripts ### 4. BEZIEHUNGSGRAPH Visualisierung aller Entity-Beziehungen ### 5. CUSTOM LAYOUTS Übersicht über angepasste Layouts ### 6. CUSTOM PHP KLASSEN Alle PHP-Dateien gruppiert nach Typ ### 7. WORKFLOWS Status und Konfiguration aller Workflows ### 8. FRONTEND ANPASSUNGEN JavaScript, CSS und App-Konfiguration ### 9. INTERNATIONALISIERUNG Unterstützte Sprachen und Labels ## Erweiterungen Das Script kann leicht erweitert werden: ### Neue Analyse-Funktion hinzufügen ```python def analyze_new_feature(): """Analysiert neues Feature.""" print_section("NEUES FEATURE", "=") # Implementierung ... # In main() Funktion aufrufen def main(): ... analyze_new_feature() ... ``` ### Ausgabeformat ändern Die Ausgabe kann angepasst werden: - JSON-Format für maschinelle Verarbeitung - Markdown für Dokumentation - HTML für Browser-Darstellung ## Best Practices ### Für KI-Integration 1. **Vollständige Ausgabe verwenden:** Nicht abschneiden, KI braucht alle Details 2. **Regelmäßig aktualisieren:** Bei Projekt-Änderungen erneut ausführen 3. **Mit README.md kombinieren:** Script gibt automatisch README aus ### Für Menschen 1. **Ausgabe in Datei speichern:** Für spätere Referenz 2. **Abschnitte einzeln betrachten:** Ausgabe ist strukturiert und scrollbar 3. **Mit grep filtern:** `python3 ... | grep "Entity:"` ## Troubleshooting ### Problem: Script findet keine Entities **Lösung:** Prüfe, ob `BASE_PATH` korrekt gesetzt ist: ```python BASE_PATH = Path("/var/lib/docker/volumes/vmh-espocrm_espocrm/_data") ``` ### Problem: JSON Parse-Fehler **Lösung:** Script gibt Fehler aus, aber läuft weiter. Prüfe betroffene Datei mit: ```bash python3 -m json.tool < file.json ``` ### Problem: Keine README.md Ausgabe **Lösung:** Prüfe ob `README.md` im Root-Verzeichnis existiert ## Siehe auch - `/custom/CUSTOM_DIRECTORY.md` - Detaillierte Verzeichnisstruktur - `custom/scripts/validate_and_rebuild.py` - Validierung und Rebuild - `custom/scripts/VALIDATOR_README.md` - Validator-Dokumentation - `README.md` - Hauptdokumentation ## Lizenz Teil des EspoCRM Custom Directory, gleiches Lizenzmodell wie Hauptprojekt. --- **Erstellt:** Januar 2026 **Autor:** Automatische KI-Integration **Version:** 1.0