Docs: Update GEMINI.md with project overview, Git workflow, and important notes.
This commit is contained in:
53
GEMINI.md
Normal file
53
GEMINI.md
Normal file
@@ -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 <dateiname>` 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.
|
||||||
Reference in New Issue
Block a user