diff --git a/GEMINI.md b/GEMINI.md new file mode 100644 index 00000000..1b21c15d --- /dev/null +++ b/GEMINI.md @@ -0,0 +1,53 @@ +# Gemini Code Assistant Context + +## Wichtige Hinweise + +- **Projektdokumentation:** Die primäre und umfassendste Dokumentation für dieses Projekt befindet sich in der Datei `readme.md`. Bitte ziehen Sie diese Datei für ein detailliertes Verständnis der Architektur und der einzelnen Module zu Rate. +- **Git-Repository:** Dieses Projekt wird über ein Git-Repository verwaltet. Alle Änderungen am Code werden versioniert. Beachten Sie den Abschnitt "Git Workflow & Conventions" für unsere Arbeitsregeln. + +## Project Overview + +This project is a Python-based system for automated company data enrichment and lead generation. It uses a variety of data sources, including web scraping, Wikipedia, and the OpenAI API, to enrich company data from a CRM system. The project is designed to run in a Docker container and can be controlled via a Flask API. + +The system is modular and consists of the following key components: + +* **`brancheneinstufung_167.py`:** The core module for data enrichment, including web scraping, Wikipedia lookups, and AI-based analysis. +* **`company_deduplicator.py`:** A module for intelligent duplicate checking, both for external lists and internal CRM data. +* **`generate_marketing_text.py`:** An engine for creating personalized marketing texts. +* **`app.py`:** A Flask application that provides an API to run the different modules. + +## Git Workflow & Conventions + +- **Commit-Nachrichten:** Commits sollen einem klaren Format folgen: + - Titel: Eine prägnante Zusammenfassung unter 100 Zeichen. + - Beschreibung: Detaillierte Änderungen als Liste mit `- ` am Zeilenanfang (keine Bulletpoints). +- **Datei-Umbenennungen:** Um die Git-Historie einer Datei zu erhalten, muss sie zwingend mit `git mv alter_name.py neuer_name.py` umbenannt werden. +- **Commit & Push Prozess:** Änderungen werden zuerst lokal committet. Das Pushen auf den Remote-Server erfolgt erst nach expliziter Bestätigung durch Sie. +- **Anzeige der Historie:** Web-Oberflächen wie Gitea zeigen die Historie einer umbenannten Datei möglicherweise nicht vollständig an. Die korrekte und vollständige Historie kann auf der Kommandozeile mit `git log --follow ` eingesehen werden. + +## Building and Running + +The project is designed to be run in a Docker container. The `Dockerfile` contains the instructions to build the container. + +**To build the Docker container:** + +```bash +docker build -t company-enrichment . +``` + +**To run the Docker container:** + +```bash +docker run -p 8080:8080 company-enrichment +``` + +The application will be available at `http://localhost:8080`. + +## Development Conventions + +* **Configuration:** The project uses a `config.py` file to manage configuration settings. +* **Dependencies:** Python dependencies are listed in the `requirements.txt` file. +* **Modularity:** The code is modular and well-structured, with helper functions and classes to handle specific tasks. +* **API:** The Flask application in `app.py` provides an API to interact with the system. +* **Logging:** The project uses the `logging` module to log information and errors. +* **Error Handling:** The `readme.md` indicates a critical error related to the `openai` library. The next step is to downgrade the library to a compatible version.