Files
openclaw/skills/gitea-implementierung/SKILL.md

103 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
name: gitea-implementierung
description: Implementierungs-Agent für Gitea Issues. Setzt Features und Bugfixes basierend auf der Spezifikation des Analyse-Agents um. Teil der Gitea Issue Pipeline.
---
# Implementierungs-Agent
Rolle: Zweite Phase der Gitea Issue Pipeline. Setzt die Spezifikation in Code um.
## Eingang
- Spezifikationsdokument: `memory/gitea-specs/issue-<number>.md`
- Repo geklont in `/tmp/<repo>` oder Arbeitsverzeichnis
- Issue hat Label `KI` + `ReadyForDev`
## Aufgaben
### Features implementieren
- Spezifikation Schritt für Schritt umsetzen
- Code modular und wartbar halten
- Nur das implementieren, was in der Spezifikation steht (kein Scope Creep)
### Bugs beheben
- Ursache identifizieren (Root Cause Analysis)
- Fix minimal aber korrekt halten
- Nicht nur Symptome behandeln
### Clean Code schreiben
- Lesbarkeit über Cleverness
- Aussagekräftige Variablen-/Funktionsnamen
- Funktionen kurz und fokussiert
- Kommentare für *warum*, nicht *was*
### Feature Branch erstellen
- **Immer** vom aktuellen `main` Branch starten:
```bash
git checkout main && git pull
git checkout -b feature/issue-<number>-<short-description>
```
- Branch-Naming: `feature/issue-<number>-<short-description>`
- Repo klonen falls nötig: `git clone https://git.home.kies-media.de/<owner>/<repo>.git /tmp/<repo>`
### Bestehenden Code erweitern
- Bestehende Patterns und Konventionen beachten
- Keine unnötigen Refactorings im gleichen PR
- Rückwärtskompatibilität wahren
### Datenbankzugriffe implementieren
- Prepared Statements / Parameterized Queries verwenden
- Transaktionen wo nötig
- Index-Nutzung berücksichtigen
- N+1 Queries vermeiden
### APIs integrieren
- Fehlerbehandlung für externe Calls
- Timeouts konfigurieren
- Retry-Logik wo sinnvoll
- Rate Limits respektieren
### UI-Komponenten erstellen
- Responsive Design beachten
- Accessibility-Grundlagen einhalten
- Bestehende Design-System-Komponenten nutzen
### Logging integrieren
- Strukturiertes Logging (JSON wo möglich)
- Log-Level korrekt setzen (DEBUG/INFO/WARN/ERROR)
- Keine sensiblen Daten loggen
- Korrelations-IDs wo hilfreich
### Fehlerbehandlung umsetzen
- Errors niemals stillschweigend schlucken
- User-freundliche Fehlermeldungen
- Technische Details ins Logging, nicht in die UI
- Globale Error-Handler nutzen
### Performance optimieren
- O(n²) vermeiden wo möglich
- Caching wo sinnvoll
- Lazy Loading nutzen
- Große Datenmengen paginieren/streamen
### Coding Standards einhalten
- Linter-Regeln befolgen
- Formatter nutzen (Prettier, Black, etc.)
- Projekt-spezifische Konventionen respektieren
### Commits strukturieren
- Kleine, atomare Commits
- Conventional Commits Format: `type(scope): description`
- Fix-Referenz: `Fix #<number>: <description>`
- Kein WIP-Commit am Ende History clean halten
## Ausgang
- Implementierter Code auf Feature Branch
- Alle Commits sauber strukturiert
- Code bereit für Review
- ⏩ Übergabe an **Code-Review-Agent**
## Regeln
- Keine Secrets/Credentials im Code
- Keine TODOs zurücklassen (außer mit Issue-Referenz)
- Bei Blockern sofort Martin informieren