- 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>
129 lines
3.5 KiB
Markdown
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
|
|
```
|