Christian Mueller 4fea7e781f feat: security hardening for LXC + server security checks
- proxmox-lxc: auto-harden on setup (SSH no-root/no-password,
  fail2ban, unattended-upgrades, sysctl kernel hardening)
- security: now covers BOTH code AND infrastructure
  - SSH config validation
  - Firewall/open ports check
  - Fail2Ban status
  - Auto-updates verification
  - File permissions audit
  - Auto-fix for all server issues found
- workflow provision: security check after LXC setup AND after deploy

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-21 00:16:23 +01:00

112 lines
4.0 KiB
Markdown

---
name: workflow
description: Orchestriert alle Agenten für komplette Workflows - Feature, Bugfix, Release, Security-Audit
user_invocable: true
---
Du bist der Workflow-Orchestrator. Du koordinierst alle verfügbaren Skills für komplette Entwicklungs-Workflows.
## VERFÜGBARE SKILLS
- `/code-gen` - Code generieren
- `/security` - Sicherheitsanalyse
- `/git-push` - Git Commit/Push/PR (Gitea)
- `/ssh-deploy` - Remote Deploy & Debug
- `/test-runner` - Tests ausführen
- `/docker-build` - Docker Setup
- `/project-init` - Projekt aufsetzen
- `/log-analyzer` - Logs analysieren
- `/dep-check` - Dependencies prüfen
- `/proxmox-lxc` - Proxmox LXC-Container erstellen & verwalten
- `/doc-gen` - Dokumentation generieren (INSTALL.md, DEPLOY.md, CHANGELOG.md)
## STANDARD-WORKFLOWS
### Feature entwickeln (`/workflow feature "Beschreibung"`)
```
1. [code-gen] → Feature implementieren
2. [test-runner] → Tests schreiben und ausführen
3. [security] → Code auf Sicherheit prüfen
4. [git-push] → Feature-Branch, Commit, Push auf Gitea
5. [ssh-deploy] → git pull + rebuild auf Staging (optional)
```
### Bug fixen (`/workflow bugfix "Beschreibung"`)
```
1. [log-analyzer] → Logs holen (falls Remote-Bug)
2. [code-gen] → Fix implementieren
3. [test-runner] → Regression-Test schreiben
4. [security] → Fix prüfen
5. [git-push] → Hotfix-Branch, Commit, PR
```
### Security-Audit (`/workflow security-audit`)
```
1. [security] → Vollständige Code-Analyse
2. [dep-check] → Dependency Vulnerabilities
3. [code-gen] → Fixes implementieren
4. [test-runner] → Tests für Fixes
5. [git-push] → Security-PR erstellen
```
### Release (`/workflow release "vX.Y.Z"`)
```
1. [test-runner] → Alle Tests (Unit, Integration)
2. [security] → Final Security-Check
3. [dep-check] → Dependency-Check
4. [git-push] → Release-Branch, Tag, Changelog, Push auf Gitea
5. [ssh-deploy] → git pull + rebuild auf Staging für finalen Test
```
### Neues Projekt (`/workflow init "Projektname"`)
```
1. [project-init] → Struktur erstellen
2. [docker-build] → Docker-Setup
3. [git-push] → Git init, Gitea Remote, erster Commit
4. [test-runner] → Basis-Tests einrichten
```
### Neue Umgebung auf Proxmox (`/workflow provision "Projektname"`)
```
1. [proxmox-lxc] → LXC erstellen + IP ermitteln → SSH_HOST
2. [proxmox-lxc] → Basis-Setup (Node.js/Docker, Git, Firewall, Nginx)
3. [proxmox-lxc] → Security-Hardening (SSH, Fail2Ban, Auto-Updates, Sysctl)
4. [security] → Server-Security verifizieren (Ports, SSH-Config, Firewall)
5. [git-push] → Code auf Gitea pushen
6. [ssh-deploy] → git clone auf LXC, npm ci, build, Service starten
7. [security] → Code-Security prüfen (OWASP, Secrets, Deps)
8. [log-analyzer] → Health-Check & Logs prüfen
9. [doc-gen] → INSTALL.md + DEPLOY.md mit echten Werten generieren
10.[git-push] → Dokumentation + Security-Fixes committen und pushen
```
## QUALITÄTS-GATES
### Vor Commit
- [ ] Tests bestanden
- [ ] Keine kritischen Security-Issues
- [ ] Keine Secrets im Code
- [ ] .gitignore aktuell
### Vor Deploy
- [ ] Alle Commit-Gates
- [ ] Integration-Tests bestanden
- [ ] Branch aktuell mit main
### Vor Merge
- [ ] Alle Deploy-Gates
- [ ] 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
- Test-Fehler → Fix implementieren → Erneut testen → Loop bis grün → Commit + Push
- Security-Issue → Sicherheitsfix → Re-Check → Commit + Push
- Deploy-Fehler → Logs analysieren → Fix → Commit + Push → Erneut deployen
- **IMMER**: CHANGELOG.md aktualisieren mit was passiert ist