feat: split gitea-issue-resolver into 9 specialized agent skills + orchestrator
- gitea-analyse-architektur (Phase 1) - gitea-implementierung (Phase 2) - gitea-code-review (Phase 3) - gitea-test-qa (Phase 4) - gitea-fix-refactoring (Phase 5, on demand) - gitea-merge-release (Phase 6) - gitea-deployment (Phase 7) - gitea-abnahme-validierung (Phase 8) - gitea-dokumentation-closing (Phase 9) - gitea-issue-resolver updated as pipeline orchestrator - Only issues tagged KI + ReadyForDev are processed
This commit is contained in:
@@ -1,9 +1,11 @@
|
||||
---
|
||||
name: gitea-issue-resolver
|
||||
description: Resolve open Gitea issues by creating feature branches, implementing fixes, and committing. Use when checking or working on issues in Martin's Gitea repos (git.home.kies-media.de). Triggers on mentions of "issues", "Gitea issues", or when checking repos for open issues.
|
||||
description: Pipeline-Orchestrator für Gitea Issues. Koordiniert die 9 Agenten-Phasen von der Analyse bis zum Closing. Use when checking or working on issues in Martin's Gitea repos (git.home.kies-media.de). Triggers on mentions of "issues", "Gitea issues", or when checking repos for open issues.
|
||||
---
|
||||
|
||||
# Gitea Issue Resolver
|
||||
# Gitea Issue Resolver – Pipeline Orchestrator
|
||||
|
||||
Koordiniert die gesamte Issue-Pipeline. Holt Issues ab und steuert sie durch die 9 Phasen.
|
||||
|
||||
## Authentication
|
||||
|
||||
@@ -14,43 +16,113 @@ GIT_USER=$(echo "$GIT_CREDS" | sed -n 's|.*://\([^:]*\):.*|\1|p')
|
||||
GIT_PASS=$(echo "$GIT_CREDS" | sed -n 's|.*://[^:]*:\([^@]*\)@.*|\1|p')
|
||||
```
|
||||
|
||||
For API calls use `-u "$GIT_USER:$GIT_PASS"`. If Basic Auth fails, ask Martin for a Gitea API token.
|
||||
Gitea API token: `$GITEA_TOKEN` (in `.bashrc`):
|
||||
```bash
|
||||
GITEA_TOKEN="568841…2e34"
|
||||
```
|
||||
|
||||
## Workflow
|
||||
## Pipeline – 9 Phasen
|
||||
|
||||
### 1. Check for Open Issues
|
||||
### Issue-Filter
|
||||
Nur Issues mit **beiden** Tags: `KI` **und** `ReadyForDev`:
|
||||
|
||||
```bash
|
||||
curl -s "https://git.home.kies-media.de/api/v1/repos/<owner>/<repo>/issues?state=open" \
|
||||
curl -s "https://git.home.kies-media.de/api/v1/repos/<owner>/<repo>/issues?state=open&labels=KI,ReadyForDev" \
|
||||
-u "$GIT_USER:$GIT_PASS"
|
||||
```
|
||||
|
||||
### 2. For Each Open Issue
|
||||
### Phase 1: Analyse- & Architektur-Agent → `gitea-analyse-architektur`
|
||||
- Anforderungen analysieren
|
||||
- Architektur entwerfen
|
||||
- Spezifikation erstellen
|
||||
- Output: `memory/gitea-specs/issue-<number>.md`
|
||||
|
||||
1. **Create a feature branch** from `main`:
|
||||
```bash
|
||||
git checkout main && git pull
|
||||
git checkout -b feature/issue-<number>-<short-description>
|
||||
```
|
||||
### Phase 2: Implementierungs-Agent → `gitea-implementierung`
|
||||
- Feature Branch erstellen
|
||||
- Code schreiben
|
||||
- Commits strukturieren
|
||||
- Output: Code auf Feature Branch
|
||||
|
||||
2. **Clone repo if needed** (work in a temp dir):
|
||||
```bash
|
||||
git clone https://git.home.kies-media.de/<owner>/<repo>.git /tmp/<repo>
|
||||
```
|
||||
### Phase 3: Code-Review-Agent → `gitea-code-review`
|
||||
- Codequalität & Sicherheit prüfen
|
||||
- Review-Kommentare erstellen
|
||||
- Output: APPROVED oder CHANGES_REQUESTED
|
||||
|
||||
3. **Implement the fix** – read the issue body, understand the requirement, implement it.
|
||||
### Phase 4: Test- & QA-Agent → `gitea-test-qa`
|
||||
- Unit-, Integration-, E2E-Tests
|
||||
- QA-Report erstellen
|
||||
- Output: PASS oder FAIL
|
||||
|
||||
4. **Commit and push**:
|
||||
```bash
|
||||
git add -A
|
||||
git commit -m "Fix #<number>: <description>"
|
||||
git push -u origin feature/issue-<number>-<short-description>
|
||||
```
|
||||
### Phase 5: Fix- & Refactoring-Agent → `gitea-fix-refactoring` *(bei Bedarf)*
|
||||
- Review-Feedback umsetzen
|
||||
- Bugs korrigieren
|
||||
- Danach zurück zur jeweiligen Phase (Review oder QA)
|
||||
|
||||
5. **Inform Martin** – send a summary of what was done and that the branch is ready for review/merge.
|
||||
### Phase 6: Merge- & Release-Agent → `gitea-merge-release`
|
||||
- PR erstellen
|
||||
- Release Notes & Versionierung
|
||||
- Warten auf Martins Freigabe
|
||||
|
||||
### 3. Do NOT
|
||||
### Phase 7: Deployment-Agent → `gitea-deployment`
|
||||
- Anwendungen deployen
|
||||
- Health Checks
|
||||
- Bei Problemen: Rollback
|
||||
|
||||
- Do not merge the branch yourself
|
||||
- Do not close the issue yourself
|
||||
- Do not push to `main` directly
|
||||
### Phase 8: Abnahme- & Validierungs-Agent → `gitea-abnahme-validierung`
|
||||
- Anforderungen validieren
|
||||
- Akzeptanzkriterien abhaken
|
||||
- Output: ACCEPTED oder REJECTED
|
||||
|
||||
### Phase 9: Dokumentations- & Closing-Agent → `gitea-dokumentation-closing`
|
||||
- Dokumentation erstellen
|
||||
- Issue schließen
|
||||
- Abschlussbericht
|
||||
|
||||
## Pipeline-Fluss
|
||||
|
||||
```
|
||||
Issue (KI + ReadyForDev)
|
||||
│
|
||||
▼
|
||||
[1] Analyse & Architektur
|
||||
│
|
||||
▼
|
||||
[2] Implementierung
|
||||
│
|
||||
▼
|
||||
[3] Code Review ──── CHANGES_REQUESTED ──→ [5] Fix & Refactoring ──→ [3]
|
||||
│ APPROVED
|
||||
▼
|
||||
[4] Test & QA ────── FAIL ──────────────→ [5] Fix & Refactoring ──→ [4]
|
||||
│ PASS
|
||||
▼
|
||||
[6] Merge & Release ( wartet auf Martins Freigabe )
|
||||
│
|
||||
▼
|
||||
[7] Deployment
|
||||
│
|
||||
▼
|
||||
[8] Abnahme & Validierung ── REJECTED ──→ [2] Implementierung
|
||||
│ ACCEPTED
|
||||
▼
|
||||
[9] Dokumentation & Closing → Issue geschlossen ✅
|
||||
```
|
||||
|
||||
## Orchestrierung
|
||||
|
||||
Für jedes Issue:
|
||||
1. Spezifikations-Verzeichnis erstellen: `mkdir -p memory/gitea-specs`
|
||||
2. Phasen sequenziell durchlaufen
|
||||
3. Bei Rücksprüngen (Fix-Phase) den Zyklus wiederholen
|
||||
4. Martin bei wichtigen Meilensteinen informieren:
|
||||
- Spezifikation fertig (Phase 1)
|
||||
- PR erstellt (Phase 6)
|
||||
- Deployment erfolgreich (Phase 7)
|
||||
- Issue geschlossen (Phase 9)
|
||||
|
||||
## Regeln
|
||||
- **Nur** Issues mit Tags `KI` + `ReadyForDev`
|
||||
- **Nie** ohne Martins Freigabe mergen
|
||||
- **Nie** Issue selbst schließen (nur Phase 9 darf das)
|
||||
- **Nie** direkt auf `main` pushen
|
||||
- Bei Blockern: sofort Martin informieren
|
||||
|
||||
Reference in New Issue
Block a user