feat: add doc-gen skill and feedback loops for all agents
- New /doc-gen skill: generates INSTALL.md, DEPLOY.md, CHANGELOG.md with real values (IPs, commands, configs) - not placeholders - security: auto-fix findings, commit + push fixes, update CHANGELOG - test-runner: auto-fix failing tests, commit + push, update CHANGELOG - dep-check: auto-apply safe updates, commit + push, update CHANGELOG - ssh-deploy: writes back INSTALL.md + DEPLOY.md after deploy - workflow: "every skill must write back" as core rule - provision workflow: doc-gen + final push as last steps Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
32ab12014f
commit
6cf17810cd
@ -67,6 +67,30 @@ du -sh node_modules/ # Grobe Größe
|
|||||||
3. Beobachten: ...
|
3. Beobachten: ...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## NACH CHECK - AUTOMATISCHER FEEDBACK-LOOP
|
||||||
|
|
||||||
|
### 1. Sichere Updates SOFORT durchführen
|
||||||
|
```bash
|
||||||
|
npm audit fix
|
||||||
|
npm test # verifizieren dass nichts kaputt ist
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. Fixes committen und pushen
|
||||||
|
```bash
|
||||||
|
git add package.json package-lock.json
|
||||||
|
git commit -m "security: update vulnerable dependencies"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Dokumentation aktualisieren
|
||||||
|
CHANGELOG.md ergänzen:
|
||||||
|
```markdown
|
||||||
|
## [Datum] - Dependency-Updates
|
||||||
|
### Sicherheit
|
||||||
|
- <Package> aktualisiert von <alt> auf <neu> (CVE-XXXX)
|
||||||
|
```
|
||||||
|
Dann committen und pushen.
|
||||||
|
|
||||||
## REGELN
|
## REGELN
|
||||||
- Vor Updates immer `package-lock.json` committen (Rollback-Möglichkeit)
|
- Vor Updates immer `package-lock.json` committen (Rollback-Möglichkeit)
|
||||||
- Nach Updates: `npm test` ausführen
|
- Nach Updates: `npm test` ausführen
|
||||||
|
|||||||
128
.claude/skills/doc-gen.md
Normal file
128
.claude/skills/doc-gen.md
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
---
|
||||||
|
name: doc-gen
|
||||||
|
description: Projektdokumentation und Installationsanleitung automatisch generieren und aktuell halten
|
||||||
|
user_invocable: true
|
||||||
|
---
|
||||||
|
|
||||||
|
Du bist der Dokumentations-Agent. Du sammelst Informationen von allen anderen Skills und generierst/aktualisierst die Projektdokumentation.
|
||||||
|
|
||||||
|
## PFLICHT-DOKUMENTE
|
||||||
|
|
||||||
|
Jedes Projekt MUSS folgende Dateien im Root haben:
|
||||||
|
|
||||||
|
### 1. INSTALL.md - Komplette Installationsanleitung
|
||||||
|
```markdown
|
||||||
|
# Installation - <Projektname>
|
||||||
|
|
||||||
|
## Voraussetzungen
|
||||||
|
- Proxmox-Server mit API-Zugang (falls LXC)
|
||||||
|
- SSH-Key für Serverzugang
|
||||||
|
- Gitea-Account auf git.cynfo.net
|
||||||
|
|
||||||
|
## LXC-Container erstellen (Proxmox)
|
||||||
|
<Automatisch ausgefüllt: VMID, Hostname, IP, Ressourcen>
|
||||||
|
|
||||||
|
### Schritt 1: Container anlegen
|
||||||
|
<Exakter pct create Befehl mit allen Parametern>
|
||||||
|
|
||||||
|
### Schritt 2: Basis-Pakete installieren
|
||||||
|
<Exakte apt install Befehle>
|
||||||
|
|
||||||
|
### Schritt 3: Node.js / Docker installieren
|
||||||
|
<Exakte Installationsbefehle mit Versionen>
|
||||||
|
|
||||||
|
### Schritt 4: Deploy-User einrichten
|
||||||
|
<Exakte Befehle>
|
||||||
|
|
||||||
|
### Schritt 5: Firewall konfigurieren
|
||||||
|
<ufw Befehle>
|
||||||
|
|
||||||
|
## Anwendung deployen
|
||||||
|
|
||||||
|
### Schritt 1: Repository klonen
|
||||||
|
git clone <GITEA_URL>/<USER>/<REPO>.git /var/www/app
|
||||||
|
|
||||||
|
### Schritt 2: Dependencies installieren
|
||||||
|
cd /var/www/app && npm ci --production
|
||||||
|
|
||||||
|
### Schritt 3: Environment konfigurieren
|
||||||
|
cp .env.example .env
|
||||||
|
<Liste aller zu setzenden Variablen mit Beschreibung>
|
||||||
|
|
||||||
|
### Schritt 4: Build & Start
|
||||||
|
npm run build
|
||||||
|
pm2 start dist/index.js --name <app>
|
||||||
|
|
||||||
|
### Schritt 5: Nginx Reverse-Proxy
|
||||||
|
<Exakte nginx config>
|
||||||
|
|
||||||
|
## Verifizierung
|
||||||
|
curl http://<LXC_IP>/health
|
||||||
|
curl http://<LXC_IP>/api/health
|
||||||
|
|
||||||
|
## Bekannte Konfigurationen
|
||||||
|
<Tabelle: Was | Wert | Hinweis>
|
||||||
|
- LXC VMID: <id>
|
||||||
|
- LXC IP: <ip>
|
||||||
|
- Node.js: 22.x
|
||||||
|
- PM2 App-Name: <name>
|
||||||
|
- Ports: Frontend 3000, Backend 4000, Nginx 80
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. DEPLOY.md - Deployment-Anleitung für Updates
|
||||||
|
```markdown
|
||||||
|
# Deployment - <Projektname>
|
||||||
|
|
||||||
|
## Update deployen
|
||||||
|
ssh deploy@<IP> "cd /var/www/app && git pull origin main && npm ci --production && npm run build && pm2 restart app"
|
||||||
|
|
||||||
|
## Rollback
|
||||||
|
ssh deploy@<IP> "cd /var/www/app && git checkout <commit> && npm ci --production && npm run build && pm2 restart app"
|
||||||
|
|
||||||
|
## Docker-Update (falls Docker)
|
||||||
|
ssh deploy@<IP> "cd /var/www/app && git pull origin main && docker compose down && docker compose up -d --build"
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. CHANGELOG.md - Was wurde geändert
|
||||||
|
```markdown
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## [Datum] - <Version/Beschreibung>
|
||||||
|
### Hinzugefügt
|
||||||
|
- ...
|
||||||
|
### Geändert
|
||||||
|
- ...
|
||||||
|
### Behoben
|
||||||
|
- ...
|
||||||
|
### Sicherheit
|
||||||
|
- ...
|
||||||
|
```
|
||||||
|
|
||||||
|
## WANN DOKUMENTATION AKTUALISIEREN
|
||||||
|
|
||||||
|
JEDER Skill MUSS nach seiner Ausführung dem doc-gen seine Ergebnisse melden:
|
||||||
|
|
||||||
|
| Skill | Schreibt in Doku |
|
||||||
|
|-------|-----------------|
|
||||||
|
| `/proxmox-lxc` | INSTALL.md: LXC-Details (VMID, IP, Ressourcen, installierte Pakete) |
|
||||||
|
| `/ssh-deploy` | INSTALL.md: Deploy-Befehle, DEPLOY.md: Update-Anleitung |
|
||||||
|
| `/security` | CHANGELOG.md: Gefundene & behobene Security-Issues |
|
||||||
|
| `/test-runner` | CHANGELOG.md: Test-Ergebnisse, Coverage |
|
||||||
|
| `/code-gen` | CHANGELOG.md: Neue Features/Fixes |
|
||||||
|
| `/docker-build` | INSTALL.md: Docker-Setup-Anleitung |
|
||||||
|
| `/dep-check` | CHANGELOG.md: Dependency-Updates |
|
||||||
|
|
||||||
|
## REGELN
|
||||||
|
|
||||||
|
1. **Immer konkret**: Keine Platzhalter, sondern echte IPs, Ports, Befehle
|
||||||
|
2. **Copy-Paste-fähig**: Jeder Befehl muss 1:1 ausführbar sein
|
||||||
|
3. **Versioniert**: Dokumentation wird mit committet und gepusht
|
||||||
|
4. **Aktuell**: Nach JEDER Änderung am System die Doku updaten
|
||||||
|
5. **INSTALL.md = Wahrheit**: Wenn jemand das Projekt clont und INSTALL.md folgt, MUSS die App laufen
|
||||||
|
|
||||||
|
## NACH DOKU-UPDATE
|
||||||
|
```
|
||||||
|
git add INSTALL.md DEPLOY.md CHANGELOG.md
|
||||||
|
git commit -m "docs: update documentation after <was passiert ist>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
@ -54,7 +54,31 @@ Schweregrade: KRITISCH / HOCH / MITTEL / NIEDRIG
|
|||||||
- Grep nach Secret-Patterns im gesamten Projekt
|
- Grep nach Secret-Patterns im gesamten Projekt
|
||||||
- `.env` Dateien prüfen ob in `.gitignore`
|
- `.env` Dateien prüfen ob in `.gitignore`
|
||||||
|
|
||||||
## NACH ANALYSE
|
## NACH ANALYSE - AUTOMATISCHER FEEDBACK-LOOP
|
||||||
- Zusammenfassung mit Statistik
|
|
||||||
- Kritische Issues zuerst beheben
|
### 1. Fixes direkt implementieren
|
||||||
- Fix-Vorschläge mit Code-Beispielen
|
Gefundene Probleme NICHT nur melden, sondern SOFORT fixen:
|
||||||
|
- KRITISCH/HOCH: Code direkt ändern und fixen
|
||||||
|
- MITTEL: Fix implementieren
|
||||||
|
- NIEDRIG: Als TODO-Kommentar im Code markieren
|
||||||
|
|
||||||
|
### 2. Fixes committen und pushen
|
||||||
|
```bash
|
||||||
|
git add <geänderte-dateien>
|
||||||
|
git commit -m "security: fix <OWASP-Kategorie> in <Datei>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### 3. Dokumentation aktualisieren
|
||||||
|
CHANGELOG.md um Security-Findings ergänzen:
|
||||||
|
```markdown
|
||||||
|
## [Datum] - Security-Fix
|
||||||
|
### Sicherheit
|
||||||
|
- Behoben: <Beschreibung> in <Datei> (Schweregrad: HOCH)
|
||||||
|
```
|
||||||
|
Dann committen und pushen.
|
||||||
|
|
||||||
|
### 4. Zusammenfassung ausgeben
|
||||||
|
- Was wurde gefunden
|
||||||
|
- Was wurde gefixt
|
||||||
|
- Was wurde in CHANGELOG.md dokumentiert
|
||||||
|
|||||||
@ -115,6 +115,29 @@ ssh ... "curl -sf http://localhost:3000/health"
|
|||||||
- **Git**: `git checkout <vorheriger-commit>` auf dem Server
|
- **Git**: `git checkout <vorheriger-commit>` auf dem Server
|
||||||
- **Docker**: `docker compose down && git checkout <commit> && docker compose up -d --build`
|
- **Docker**: `docker compose down && git checkout <commit> && docker compose up -d --build`
|
||||||
|
|
||||||
|
## NACH DEPLOY - DOKUMENTATION AKTUALISIEREN
|
||||||
|
|
||||||
|
### INSTALL.md aktualisieren
|
||||||
|
Nach jedem erfolgreichen Deploy die INSTALL.md mit den echten Werten füllen:
|
||||||
|
- Server-IP, VMID, Hostname
|
||||||
|
- Installierte Pakete und Versionen
|
||||||
|
- Exakte Befehle die ausgeführt wurden
|
||||||
|
- Nginx-Konfiguration
|
||||||
|
- PM2/Docker Service-Name
|
||||||
|
|
||||||
|
### DEPLOY.md aktualisieren
|
||||||
|
Den exakten One-Liner für zukünftige Updates eintragen:
|
||||||
|
```bash
|
||||||
|
ssh deploy@<ECHTE-IP> "cd /var/www/app && git pull origin main && npm ci --production && npm run build && pm2 restart <APP-NAME>"
|
||||||
|
```
|
||||||
|
|
||||||
|
### Committen und Pushen
|
||||||
|
```bash
|
||||||
|
git add INSTALL.md DEPLOY.md
|
||||||
|
git commit -m "docs: update install/deploy documentation"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
## SICHERHEIT
|
## SICHERHEIT
|
||||||
- SSH-Key niemals im Repository
|
- SSH-Key niemals im Repository
|
||||||
- Git-Credentials auf dem Server: `chmod 600 ~/.git-credentials`
|
- Git-Credentials auf dem Server: `chmod 600 ~/.git-credentials`
|
||||||
|
|||||||
@ -90,3 +90,27 @@ describe('GET /api/resource', () => {
|
|||||||
- Keine Test-Abhängigkeiten untereinander
|
- Keine Test-Abhängigkeiten untereinander
|
||||||
- Mocks für externe Services
|
- Mocks für externe Services
|
||||||
- Cleanup nach Tests (afterEach)
|
- Cleanup nach Tests (afterEach)
|
||||||
|
|
||||||
|
## NACH TESTS - AUTOMATISCHER FEEDBACK-LOOP
|
||||||
|
|
||||||
|
### Bei fehlgeschlagenen Tests
|
||||||
|
1. Bug im Code identifizieren und SOFORT fixen
|
||||||
|
2. Tests erneut ausführen bis grün
|
||||||
|
3. Fix committen und pushen:
|
||||||
|
```bash
|
||||||
|
git add <geänderte-dateien>
|
||||||
|
git commit -m "fix: <was behoben wurde>"
|
||||||
|
git push origin main
|
||||||
|
```
|
||||||
|
|
||||||
|
### Dokumentation aktualisieren
|
||||||
|
CHANGELOG.md um Test-Ergebnisse ergänzen:
|
||||||
|
```markdown
|
||||||
|
## [Datum]
|
||||||
|
### Behoben
|
||||||
|
- <Bug-Beschreibung> (gefunden durch Tests)
|
||||||
|
### Tests
|
||||||
|
- Coverage: <X>% (Ziel: 80%)
|
||||||
|
- Neue Tests: <Anzahl>
|
||||||
|
```
|
||||||
|
Dann committen und pushen.
|
||||||
|
|||||||
@ -17,6 +17,7 @@ Du bist der Workflow-Orchestrator. Du koordinierst alle verfügbaren Skills für
|
|||||||
- `/log-analyzer` - Logs analysieren
|
- `/log-analyzer` - Logs analysieren
|
||||||
- `/dep-check` - Dependencies prüfen
|
- `/dep-check` - Dependencies prüfen
|
||||||
- `/proxmox-lxc` - Proxmox LXC-Container erstellen & verwalten
|
- `/proxmox-lxc` - Proxmox LXC-Container erstellen & verwalten
|
||||||
|
- `/doc-gen` - Dokumentation generieren (INSTALL.md, DEPLOY.md, CHANGELOG.md)
|
||||||
|
|
||||||
## STANDARD-WORKFLOWS
|
## STANDARD-WORKFLOWS
|
||||||
|
|
||||||
@ -72,6 +73,8 @@ Du bist der Workflow-Orchestrator. Du koordinierst alle verfügbaren Skills für
|
|||||||
4. [ssh-deploy] → git clone $GITEA_URL/$USER/$REPO auf LXC
|
4. [ssh-deploy] → git clone $GITEA_URL/$USER/$REPO auf LXC
|
||||||
5. [ssh-deploy] → npm ci, build, Service starten
|
5. [ssh-deploy] → npm ci, build, Service starten
|
||||||
6. [log-analyzer] → Health-Check & Logs prüfen
|
6. [log-analyzer] → Health-Check & Logs prüfen
|
||||||
|
7. [doc-gen] → INSTALL.md + DEPLOY.md mit echten Werten generieren
|
||||||
|
8. [git-push] → Dokumentation committen und pushen
|
||||||
```
|
```
|
||||||
|
|
||||||
## QUALITÄTS-GATES
|
## QUALITÄTS-GATES
|
||||||
@ -91,7 +94,16 @@ Du bist der Workflow-Orchestrator. Du koordinierst alle verfügbaren Skills für
|
|||||||
- [ ] Alle Deploy-Gates
|
- [ ] Alle Deploy-Gates
|
||||||
- [ ] E2E-Tests auf Staging bestanden (falls vorhanden)
|
- [ ] E2E-Tests auf Staging bestanden (falls vorhanden)
|
||||||
|
|
||||||
|
## GRUNDREGEL: JEDER SKILL SCHREIBT ZURÜCK
|
||||||
|
|
||||||
|
Kein Skill darf "still" beenden. Nach jeder Ausführung:
|
||||||
|
1. **Fehler gefunden?** → Sofort fixen, committen, pushen
|
||||||
|
2. **System verändert?** → INSTALL.md / DEPLOY.md aktualisieren
|
||||||
|
3. **Etwas Wichtiges passiert?** → CHANGELOG.md ergänzen
|
||||||
|
4. **Alles committen und pushen** → Doku ist immer aktuell im Git
|
||||||
|
|
||||||
## FEHLERBEHANDLUNG
|
## FEHLERBEHANDLUNG
|
||||||
- Test-Fehler → Fix implementieren → Erneut testen → Loop bis grün
|
- Test-Fehler → Fix implementieren → Erneut testen → Loop bis grün → Commit + Push
|
||||||
- Security-Issue → Sicherheitsfix → Re-Check
|
- Security-Issue → Sicherheitsfix → Re-Check → Commit + Push
|
||||||
- Deploy-Fehler → Logs analysieren → Rollback falls nötig
|
- Deploy-Fehler → Logs analysieren → Fix → Commit + Push → Erneut deployen
|
||||||
|
- **IMMER**: CHANGELOG.md aktualisieren mit was passiert ist
|
||||||
|
|||||||
@ -23,6 +23,7 @@ Dieses Verzeichnis in neue Projekte klonen/kopieren um sofort alle Agenten verf
|
|||||||
| Log-Analyzer | `/log-analyzer` | Remote-Logs holen und analysieren |
|
| Log-Analyzer | `/log-analyzer` | Remote-Logs holen und analysieren |
|
||||||
| Dep-Check | `/dep-check` | Dependencies auf Vulnerabilities prüfen |
|
| Dep-Check | `/dep-check` | Dependencies auf Vulnerabilities prüfen |
|
||||||
| Proxmox-LXC | `/proxmox-lxc` | LXC-Container auf Proxmox erstellen & verwalten |
|
| Proxmox-LXC | `/proxmox-lxc` | LXC-Container auf Proxmox erstellen & verwalten |
|
||||||
|
| Doc-Generator | `/doc-gen` | INSTALL.md, DEPLOY.md, CHANGELOG.md generieren |
|
||||||
| Workflow | `/workflow` | Alle Skills orchestrieren (Feature, Bugfix, Release) |
|
| Workflow | `/workflow` | Alle Skills orchestrieren (Feature, Bugfix, Release) |
|
||||||
|
|
||||||
## Workflow-Beispiele
|
## Workflow-Beispiele
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user