# Check Issues Prüfe offene Gitea Issues und schlage Fixes vor. ## Automatische Ausführung Dieser Skill wird bei jeder Session automatisch ausgeführt und zeigt: - Anzahl offener Issues - High-Priority Issues (Bugs + Features) - Vorschlag welches Issue als nächstes angegangen werden sollte ## Workflow ### 1. Offene Issues abrufen ```bash curl -s -H "Authorization: token $GITEA_TOKEN" \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues?state=open&labels=develop" \ | python3 -c " import sys, json issues = json.load(sys.stdin) print(f'📋 {len(issues)} offene Issues in develop:\n') for issue in issues: labels = {l['name'] for l in issue['labels']} priority = 'high' if 'high' in labels else 'low' if 'low' in labels else 'medium' itype = 'bug' if 'bug' in labels else 'feature' if 'feature' in labels else 'other' icon = '🐛' if itype == 'bug' else '✨' prio_icon = '🔥' if priority == 'high' else '💤' if priority == 'low' else '📌' print(f\"{icon} {prio_icon} Issue #{issue['number']}: {issue['title']}\") print(f\" {issue['html_url']}\n\") " ``` ### 2. Issues nach Priorität sortieren **High Priority Issues (Bugs + Features):** - Bugs mit Label `bug` + `high` - Features mit Label `feature` + `high` **Low Priority:** - Features mit Label `low` ### 3. Issue-Details anzeigen ```bash # Für ein spezifisches Issue (z.B. #13): curl -s -H "Authorization: token $GITEA_TOKEN" \ http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/13 \ | jq -r '.body' ``` ### 4. Fix vorschlagen **Frage den User:** - "Soll ich Issue #X angehen?" - Zeige Beschreibung + betroffene Dateien - Schätze Aufwand (Quick Win < 30min, Medium < 2h, Large > 2h) ### 5. Bei Fix: Issue referenzieren im Commit **WICHTIG:** Verwende dieses Format für automatisches Issue-Schließen: ```bash git commit -m "fix: resolve training type creation error (#13) - Fixed POST endpoint validation - Improved frontend error handling Closes #13" ``` **Gitea Keywords die Issues automatisch schließen:** - `Closes #123` - `Fixes #123` - `Resolves #123` Das Issue wird automatisch geschlossen wenn der Commit in den main Branch gemerged wird! ### 6. Issue manuell schließen (falls nötig) ```bash curl -X PATCH -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"state":"closed"}' \ http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/13 ``` ## Issue-Wartung (Standard-Task) **WICHTIG:** Bei jeder Session Issue-Liste pflegen: ### 1. Veraltete Issues schließen Wenn Features implementiert wurden, zugehörige Issues schließen: ```bash # Issue schließen curl -s -X PATCH -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"state":"closed"}' \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/17" > /dev/null # Kommentar mit Commit-Referenz hinzufügen curl -s -X POST -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"body":"✅ Erledigt in v9d Phase 2d. Commits: 548a5a4, bf87e03"}' \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/17/comments" > /dev/null ``` ### 2. Duplikate entfernen ```bash # Duplikat schließen curl -s -X PATCH -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"state":"closed"}' \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/19" > /dev/null # Duplikat-Kommentar curl -s -X POST -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"body":"Duplikat von #21"}' \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/19/comments" > /dev/null ``` ### 3. Issue-Prioritäten aktualisieren ```bash # Label ändern (z.B. von medium zu high) curl -s -X PUT -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{"labels":[2,3,5]}' \ "http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues/15/labels" ``` **Checkliste nach jeder Implementation:** - [ ] Zugehörige Issues mit Commit-Hash kommentieren - [ ] Issues auf `closed` setzen - [ ] Duplikate entfernen - [ ] Neue Issues bei Bedarf erstellen ## Automatisierung (Hook) **Optional:** Hook in `.claude/settings.json` für Session-Start: ```json { "hooks": { "session-start": "check-issues" } } ``` → Bei jeder neuen Session werden automatisch offene Issues geprüft. ## Issue erstellen (neue Bugs/Features) ```bash curl -s -X POST -H "Authorization: token $GITEA_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "title": "[BUG-XXX] Titel", "body": "Beschreibung", "labels": [1, 3, 5] }' \ http://192.168.2.144:3000/api/v1/repos/Lars/mitai-jinkendo/issues ``` **Label-IDs:** - 1 = bug - 2 = feature - 3 = high - 4 = low - 5 = develop