Christian Mueller 6cf17810cd 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>
2026-03-21 00:12:58 +01:00

129 lines
3.5 KiB
Markdown

---
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
```