Generator für Onboarding-Dokumente zur Codebase-Architektur
Von Wikiprompt, der freien Prompt-Enzyklopädie
Generator für Onboarding-Dokumente zur Codebase-Architektur Ein umfassender Systemprompt für KI-Codierungsassistenten, um eine Codebasis zu analysieren und ein detailliertes technisches Onboarding-Dokument zu erstellen, das Architektur, Stack, Abläufe, Tests und mehr abdeckt.
Prompt-InhaltSpeichern
🌐
**Kontext:**
Ich bin ein Entwickler, der gerade zum Projekt gestoßen ist, und ich nutze Sie als KI-Codierungsassistenten, um ein tiefes Verständnis der bestehenden Codebasis zu erlangen. Mein Ziel ist es, so schnell wie möglich produktiv zu werden und fundierte technische Entscheidungen auf der Grundlage eines soliden Verständnisses des aktuellen Systems zu treffen.
**Primäres Ziel:**
Analysieren Sie den in diesem Projekt/Workspace bereitgestellten Quellcode und generieren Sie ein detailliertes, klares und gut strukturiertes Markdown-Dokument, das die Systemarchitektur, Funktionen, Hauptabläufe, Schlüsselkomponenten und den Technologie-Stack erklärt. Dieses Dokument soll als technischer Onboarding-Leitfaden dienen. Verbessern Sie die Navigierbarkeit, wann immer möglich, durch direkte Links zu relevanten Dateien, Klassen und Funktionen sowie Codebeispiele, die zum Verständnis der Konzepte beitragen.
---
## Detaillierte Anweisungen - Bitte gehen Sie auf die folgenden Punkte ein:
### 1. Zusammenfassung der README-/Anweisungsdateien
- Suchen Sie nach Dateien wie README.md, LEIAME.md, CONTRIBUTING.md oder ähnlicher Dokumentation.
- Geben Sie eine objektive, aber detaillierte Zusammenfassung der relevantesten Abschnitte für einen neuen Entwickler, einschließlich:
- Projektübersicht
- Einrichtung und lokale Ausführung des Systems
- Übernommene Standards und Konventionen
- Beitragsrichtlinien (falls verfügbar)
---
### 2. Detaillierter Technologie-Stack
- Identifizieren und listen Sie den vollständigen Technologie-Stack des Projekts auf:
- Programmiersprache(n), einschließlich erkennbarer Versionen (z. B. aus package.json, pom.xml, .tool-versions, requirements.txt, build.gradle usw.).
- Haupt-Frameworks (Backend, Frontend usw. - z. B. Spring Boot, .NET, React, Angular, Vue, Django, Rails).
- Datenbank(en):
- Typ (SQL / NoSQL)
- Name (PostgreSQL, MongoDB usw.)
- Kernarchitekturstil (z. B. Monolith, Microservices, Serverless, MVC, MVVM, Clean Architecture).
- Cloud-Plattform (falls über SDKs oder Konfiguration identifizierbar - AWS, Azure, GCP).
- Build-Tools und Paketmanager (Maven, Gradle, npm, yarn, pip).
- Alle anderen relevanten Technologien (Caching, Message Broker, Containerisierung - Docker, Kubernetes).
- Verweisen Sie auf die Konfigurationsdateien, die jeden Punkt belegen, und verlinken Sie diese.
---
### 3. Systemübersicht und Zweck
- Beschreiben Sie klar, was das System tut und für wen es bestimmt ist.
- Welche Probleme löst es?
- Listen Sie die Kernfunktionalitäten auf.
- Beziehen Sie das System, wenn möglich, auf die beteiligten Geschäftsdomänen.
- Geben Sie eine Beschreibung der Hauptfunktionen auf hoher Ebene.
---
### 4. Projektstruktur und Leseempfehlungen
- Einstiegspunkt: Wo sollte ich mit der Erkundung des Codes beginnen? Identifizieren Sie die wichtigsten Einstiegspunkte (z. B. main.go, index.js, Program.cs, app.py, Application.java). Geben Sie direkte Links zu diesen Dateien an.
- Allgemeine Organisation: Erklären Sie die gesamte Ordner- und Dateistruktur. Heben Sie wichtige Konventionen hervor. Verwenden Sie reale Ordner- und Dateinamenbeispiele.
- Konfiguration: Gibt es Hauptkonfigurationsdateien? (z. B. config.yaml, .env, appsettings.json) Welche Konfigurationen sind kritisch? Geben Sie Links an.
- Leseempfehlung: Schlagen Sie eine Reihenfolge oder eine Reihe von Schlüsseldateien/-modulen vor, die zuerst gelesen werden sollten, um die Kernkonzepte des Projekts schnell zu erfassen.
---
### 5. Schlüsselkomponenten
- Identifizieren und beschreiben Sie die wichtigsten oder zentralsten Module, Klassen, Funktionen oder Dienste.
- Erklären Sie die Verantwortlichkeiten jeder Komponente.
- Beschreiben Sie deren Verantwortlichkeiten und Abhängigkeiten.
- Für jede Komponente:
- Fügen Sie ein repräsentatives Codebeispiel ein
- Geben Sie einen Link zu der Stelle an, an der sie implementiert ist
- Geben Sie, wann immer möglich, direkte Links und Codebeispiele an.
---
### 6. Ausführungs- und Datenflüsse
- Beschreiben Sie die häufigsten oder kritischsten Workflows oder Geschäftsprozesse (z. B. Auftragsabwicklung, Benutzerauthentifizierung).
- Erklären Sie, wie Daten durch das System fließen:
- Wo Daten gespeichert werden
- Wie sie gelesen, geändert und weitergegeben werden
- Veranschaulichen Sie dies, wann immer möglich, mit Beispielen und verlinken Sie auf relevante Funktionen oder Klassen.
#### 6.1 Übersicht des Datenbankschemas (falls zutreffend)
- Für datenintensive Anwendungen:
- Identifizieren Sie die Hauptentitäten/Tabellen/Sammlungen
- Beschreiben Sie deren primäre Beziehungen
- Basieren Sie dies auf ORM-Modellen, Migrationen oder Schemadateien, falls verfügbar
---
### 7. Abhängigkeiten und Integrationen
- Abhängigkeiten: Listen Sie die wichtigsten externen Bibliotheken, Frameworks und SDKs auf. Erklären Sie kurz die Rolle jeder einzelnen. Geben Sie Links zu den Stellen an, an denen sie konfiguriert oder am häufigsten verwendet werden.
- Integrationen: Identifizieren und erklären Sie Integrationen mit externen Diensten, zusätzlichen Datenbanken, Drittanbieter-APIs, Message Brokern usw. Wie erfolgt die Kommunikation? Verweisen Sie auf die verantwortlichen Module/Klassen und fügen Sie Links hinzu.
#### 7.1 API-Dokumentation (falls zutreffend)
- Wenn das Projekt APIs bereitstellt:
- Gibt es Hinweise auf API-Dokumentationstools oder -standards (z. B. Swagger/OpenAPI, Javadoc, endpointspezifische Docstrings)?
- Wo ist diese Dokumentation zu finden oder wie kann sie generiert werden?
---
### 8. Diagramme
- Generieren Sie High-Level-Diagramme zur Visualisierung der Systemarchitektur und des Verhaltens:
- Komponentendiagramm (mit den Hauptmodulen und ihren Interaktionen)
- Datenflussdiagramm (zeigt, wie sich Informationen durch das System bewegen)
- Klassendiagramm (zeigt Schlüsselklassen und Beziehungen, falls zutreffend)
- Vereinfachtes Bereitstellungsdiagramm (wo Komponenten ausgeführt werden, falls erkennbar)
- Vereinfachtes Infrastruktur-/Bereitstellungsdiagramm (falls Infrastrukturdaten erkennbar sind)
- Erstellen Sie diese Diagramme mit Mermaid-Syntax innerhalb der Markdown-Datei.
- Die Diagramme sollten auf hoher Ebene sein; eine umfangreiche Detaillierung ist nicht erforderlich.
---
### 9. Tests
- Gibt es automatisierte Tests?
- Unit-Tests
- Integrationstests
- End-to-End-Tests (E2E)
- Wo befinden sie sich im Projekt?
- Welche Test-Frameworks werden verwendet?
- Wie werden Tests typischerweise ausgeführt?
- Wie können Tests lokal ausgeführt werden?
- Gibt es eine CI/CD-Strategie, die Tests beinhaltet?
---
### 10. Fehlerbehandlung und Protokollierung
- Wie behandelt die Anwendung Fehler im Allgemeinen?
- Gibt es ein Standardmuster (z. B. globale Middleware, benutzerdefinierte Ausnahmen)?
- Welche Protokollierungsbibliothek wird verwendet?
- Gibt es ein Standardprotokollformat?
- Gibt es eine sichtbare Integration mit Überwachungstools (z. B. Datadog, Sentry)?
---
### 11. Sicherheitsaspekte
- Gibt es offensichtliche Sicherheitsmechanismen im Code?
- Authentifizierung
- Autorisierung (Middleware/Filter)
- Eingabevalidierung
- Werden bestimmte Sicherheitsbibliotheken prominent verwendet (z. B. Spring Security, Passport.js, JWT-Bibliotheken)?
- Gibt es bemerkenswerte Sicherheitspraktiken?
- Verwaltung von Geheimnissen
- Schutz vor häufigen Angriffen
---
### 12. Sonstige relevante Beobachtungen (einschließlich Build/Deploy)
- Gibt es Dateien, die sich auf Build oder Bereitstellung beziehen?
- Dockerfile
- docker-compose.yml
- Build-/Deploy-Skripte
- CI/CD-Konfigurationsdateien (z. B. .github/workflows/, .gitlab-ci.yml)
- Was deuten diese Dateien darüber an, wie die Anwendung erstellt und bereitgestellt wird?
- Gibt es etwas anderes, das für einen neuen Entwickler entscheidend oder besonders hilfreich ist?
- Bekannte technische Schulden, die in Kommentaren erwähnt werden
- Ungewöhnliche Entwurfsmuster
- Wichtige Codierungskonventionen
- Leistungshinweise
---
## Endgültiges Ausgabeformat
- Generieren Sie die vollständige Antwort als gut formatiertes Markdown-Dokument (.md).
- Verwenden Sie eine klare und direkte Sprache.
- Organisieren Sie den Inhalt mit Titeln und Untertiteln gemäß den oben nummerierten Abschnitten.
- Fügen Sie relevante Codebeispiele ein (kurz und repräsentativ).
- Fügen Sie klickbare Links zu Dateien, Funktionen, Klassen und Definitionen ein, wann immer ein bestimmtes Codeelement erwähnt wird.
- Strukturieren Sie das Dokument mit den oben nummerierten Abschnitten für die Lesbarkeit.
Wann immer möglich:
- Fügen Sie klickbare Links zu Dateien, Funktionen und Klassen ein.
- Zeigen Sie kurze, repräsentative Codebeispiele.
- Verwenden Sie Aufzählungspunkte oder Tabellen für Listen.
---
### WICHTIG
Die Analyse muss ALLE Dateien im Projekt berücksichtigen. Lesen und verstehen Sie alle erforderlichen Dateien, die zur vollständigen Ausführung dieser Aufgabe und zum Erreichen eines vollständigen Verständnisses des Systems notwendig sind.
---
### Aktion
Bitte analysieren Sie den Quellcode, der derzeit in meiner Umgebung/meinem Workspace verfügbar ist, und generieren Sie das angeforderte Markdown-Dokument.
Der Name der Ausgabedatei muss dem folgenden Format entsprechen: <yyyy-mm-dd-projektname-app-dev-discovery_cursor.md>
Melde dich an, um den vollständigen Prompt zu sehen
Weiter mit:
Mit der Anmeldung akzeptierst du unsere Nutzungsbedingungen und Datenschutz
Verwendung
Dieser Prompt ist für die Verwendung mit coding gedacht. Kopiere den Inhalt oben und füge ihn in dein bevorzugtes KI-Tool ein.
Für beste Ergebnisse passe die Platzhalter (eckige Klammern oder Großbuchstaben) an deine Anforderungen an.
Diskussion
0 Kommentare