Deep Init Skill
Erstellt umfassende, hierarchische AGENTS.md-Dokumentation über die gesamte Codebasis.
Kernkonzept
AGENTS.md-Dateien dienen als KI-lesbare Dokumentation, die Agenten hilft, Folgendes zu verstehen:
- Was jedes Verzeichnis enthält
- Wie Komponenten miteinander in Beziehung stehen
- Spezielle Anweisungen für die Arbeit in diesem Bereich
- Abhängigkeiten und Beziehungen
Hierarchisches Tagging-System
Jede AGENTS.md (außer der Wurzel) enthält einen Elternreferenz-Tag:
<!-- Parent: ../AGENTS.md -->
Dies erzeugt eine navigierbare Hierarchie:
/AGENTS.md ← Wurzel (kein Eltern-Tag)
├── src/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
│ ├── src/components/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
│ └── src/utils/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
└── docs/AGENTS.md ← <!-- Parent: ../AGENTS.md -->
AGENTS.md-Vorlage
<!-- Parent: {relativer_pfad_zum_eltern}/AGENTS.md -->
<!-- Generated: {zeitstempel} | Updated: {zeitstempel} -->
# {Verzeichnisname}
## Zweck
{Ein Absatz, der beschreibt, was dieses Verzeichnis enthält und welche Rolle es spielt}
## Wichtige Dateien
{Liste aller signifikanten Dateien mit einer einzeiligen Beschreibung}
| Datei | Beschreibung |
|-------|-------------|
| `file.ts` | Kurze Beschreibung des Zwecks |
## Unterverzeichnisse
{Liste jedes Unterverzeichnisses mit kurzer Zweckangabe}
| Verzeichnis | Zweck |
|-------------|-------|
| `subdir/` | Was es enthält (siehe `subdir/AGENTS.md`) |
## Für KI-Agenten
### Arbeiten in diesem Verzeichnis
{Spezielle Anweisungen für KI-Agenten, die hier Dateien ändern}
### Testanforderungen
{So testen Sie Änderungen in diesem Verzeichnis}
### Häufige Muster
{Codemuster oder Konventionen, die hier verwendet werden}
## Abhängigkeiten
### Intern
{Referenzen zu anderen Teilen der Codebasis, von denen dies abhängt}
### Extern
{Wichtige externe Pakete/Bibliotheken, die verwendet werden}
<!-- MANUAL: Alle manuell hinzugefügten Notizen unterhalb dieser Zeile bleiben bei der Neugenerierung erhalten -->
Ausführungsworkflow
Schritt 1: Verzeichnisstruktur kartieren
Task(subagent_type="explore", model="haiku",
prompt="Liste alle Verzeichnisse rekursiv auf. Ausschließen: node_modules, .git, dist, build, __pycache__, .venv, coverage, .next, .nuxt")
Schritt 2: Arbeitsplan erstellen
Erstelle To-do-Elemente für jedes Verzeichnis, nach Tiefenstufe organisiert:
Ebene 0: / (Wurzel)
Ebene 1: /src, /docs, /tests
Ebene 2: /src/components, /src/utils, /docs/api
...
Schritt 3: Ebene für Ebene generieren
WICHTIG: Generiere zuerst Eltern-Ebenen vor Kind-Ebenen, um gültige Elternreferenzen sicherzustellen.
Für jedes Verzeichnis:
- Alle Dateien im Verzeichnis lesen
- Zweck und Beziehungen analysieren
- AGENTS.md-Inhalt generieren
- Datei mit korrekter Elternreferenz schreiben
Schritt 4: Vergleichen und Aktualisieren (falls vorhanden)
Wenn AGENTS.md bereits existiert:
- Vorhandenen Inhalt lesen
- Abschnitte identifizieren:
- Automatisch generierte Abschnitte (können aktualisiert werden)
- Manuelle Abschnitte (
<!-- MANUAL -->bleiben erhalten)
- Vergleichen:
- Neue Dateien hinzugefügt?
- Dateien entfernt?
- Struktur geändert?
- Zusammenführen:
- Automatisch generierten Inhalt aktualisieren
- Manuelle Anmerkungen beibehalten
- Zeitstempel aktualisieren
Schritt 5: Hierarchie validieren
Nach der Generierung Validierungsprüfungen durchführen:
| Prüfung | Überprüfungsmethode | Korrekturmaßnahme |
|---|---|---|
| Elternreferenzen auflösbar | Jede AGENTS.md lesen, <!-- Parent: -->-Pfad prüfen | Pfad korrigieren oder verwaiste Datei entfernen |
| Keine verwaisten AGENTS.md | AGENTS.md-Speicherorte mit Verzeichnisstruktur vergleichen | Verwaiste Dateien löschen |
| Vollständigkeit | Alle Verzeichnisse auflisten, auf AGENTS.md prüfen | Fehlende Dateien generieren |
| Zeitstempel aktuell | <!-- Generated: -->-Daten prüfen | Veraltete Dateien neu generieren |
Validierungsskript-Muster:
# Alle AGENTS.md-Dateien finden
find . -name "AGENTS.md" -type f
# Elternreferenzen prüfen
grep -r "<!-- Parent:" --include="AGENTS.md" .
Intelligente Delegation
| Aufgabe | Agent |
|---|---|
| Verzeichniskartierung | explore |
| Dateianalyse | architect |
| Inhaltsgenerierung | writer |
| AGENTS.md schreiben | writer |
Umgang mit leeren Verzeichnissen
Bei leeren oder nahezu leeren Verzeichnissen:
| Bedingung | Aktion |
|---|---|
| Keine Dateien, keine Unterverzeichnisse | Überspringen - keine AGENTS.md erstellen |
| Keine Dateien, hat Unterverzeichnisse | Minimale AGENTS.md nur mit Unterverzeichnisliste erstellen |
| Nur generierte Dateien (*.min.js, *.map) | Überspringen oder minimale AGENTS.md |
| Nur Konfigurationsdateien | AGENTS.md mit Beschreibung des Konfigurationszwecks erstellen |
Beispiel minimale AGENTS.md für verzeichnisorientierte Container:
<!-- Parent: ../AGENTS.md -->
# {Verzeichnisname}
## Zweck
Container-Verzeichnis zur Organisation verwandter Module.
## Unterverzeichnisse
| Verzeichnis | Zweck |
|-------------|-------|
| `subdir/` | Beschreibung (siehe `subdir/AGENTS.md`) |
Parallelisierungsregeln
- Gleichrangige Verzeichnisse: Parallel verarbeiten
- Unterschiedliche Ebenen: Sequentiell (Eltern zuerst)
- Große Verzeichnisse: Dedizierten Agenten pro Verzeichnis starten
- Kleine Verzeichnisse: Mehrere in einem Agenten bündeln
Qualitätsstandards
Muss enthalten
- Genaue Dateibeschreibungen
- Korrekte Elternreferenzen
- Unterverzeichnislinks
- KI-Agentenanweisungen
Muss vermeiden
- Allgemeinen Standardtext
- Falsche Dateinamen
- Kaputte Elternreferenzen
- Fehlende wichtige Dateien
Beispielausgabe
AGENTS.md der Wurzel
<!-- Generated: 2024-01-15 | Updated: 2024-01-15 -->
# my-project
## Zweck
Eine Webanwendung zur Verwaltung von Benutzeraufgaben mit Echtzeit-Kollaborationsfunktionen.
## Wichtige Dateien
| Datei | Beschreibung |
|-------|-------------|
| `package.json` | Projektabhängigkeiten und Skripte |
| `tsconfig.json` | TypeScript-Konfiguration |
| `.env.example` | Umgebungsvariablen-Vorlage |
## Unterverzeichnisse
| Verzeichnis | Zweck |
|-------------|-------|
| `src/` | Anwendungsquellcode (siehe `src/AGENTS.md`) |
| `docs/` | Dokumentation (siehe `docs/AGENTS.md`) |
| `tests/` | Testsuiten (siehe `tests/AGENTS.md`) |
## Für KI-Agenten
### Arbeiten in diesem Verzeichnis
- Nach Änderungen am Projektmanifest Abhängigkeiten installieren
- TypeScript strict mode verwenden
- ESLint-Regeln befolgen
### Testanforderungen
- Tests vor dem Commit ausführen
- >80% Abdeckung sicherstellen
### Häufige Muster
- Barrel-Exporte verwenden (index.ts)
- Funktionale Komponenten bevorzugen
## Abhängigkeiten
### Extern
- React 18.x - UI-Framework
- TypeScript 5.x - Typsicherheit
- Vite - Build-Tool
<!-- MANUAL: Hier können benutzerdefinierte Projekthinweise hinzugefügt werden -->
Verschachtelte AGENTS.md
<!-- Parent: ../AGENTS.md -->
<!-- Generated: 2024-01-15 | Updated: 2024-01-15 -->
# components
## Zweck
Wiederverwendbare React-Komponenten, organisiert nach Funktion und Komplexität.
## Wichtige Dateien
| Datei | Beschreibung |
|-------|-------------|
| `index.ts` | Barrel-Export für alle Komponenten |
| `Button.tsx` | Primäre Schaltflächenkomponente |
| `Modal.tsx` | Modalfenster-Komponente |
## Unterverzeichnisse
| Verzeichnis | Zweck |
|-------------|-------|
| `forms/` | Formularbezogene Komponenten (siehe `forms/AGENTS.md`) |
| `layout/` | Layout-Komponenten (siehe `layout/AGENTS.md`) |
## Für KI-Agenten
### Arbeiten in diesem Verzeichnis
- Jede Komponente hat ihre eigene Datei
- CSS-Module für Styling verwenden
- Export über index.ts
### Testanforderungen
- Unit-Tests im Unterverzeichnis `__tests__/`
- React Testing Library verwenden
### Häufige Muster
- Props-Interfaces oberhalb der Komponente definieren
- forwardRef für DOM-exponierende Komponenten verwenden
## Abhängigkeiten
### Intern
- `src/hooks/` - Von Komponenten verwendete Hooks
- `src/utils/` - Hilfsfunktionen
### Extern
- `clsx` - Bedingte Klassennamen
- `lucide-react` - Icons
<!-- MANUAL: -->
Aktualisierungsmodus auslösen
Wenn auf einer vorhandenen Codebasis mit AGENTS.md-Dateien ausgeführt:
- Zuerst vorhandene Dateien erkennen
- Vorhandenen Inhalt lesen und parsen
- Aktuellen Verzeichniszustand analysieren
- Differenz zwischen vorhandenem und aktuellem Zustand erzeugen
- Aktualisierungen anwenden, dabei manuelle Abschnitte beibehalten
Leistungsüberlegungen
- Verzeichnislisten zwischenspeichern - Gleiche Verzeichnisse nicht erneut scannen
- Kleine Verzeichnisse bündeln - Mehrere auf einmal verarbeiten
- Unveränderte überspringen - Wenn sich Verzeichnis nicht geändert hat, Neugenerierung überspringen
- Parallele Schreibvorgänge - Mehrere Agenten schreiben gleichzeitig verschiedene Dateien