mitai-jinkendo/.claude/commands/check-issues.md
Lars 7940dc7560 docs: Struktur .claude/docs versionieren, working/, Gitea-Index, Regeln
- .gitignore: .claude/docs, rules, commands tracken; settings.local weiter ignorieren
- DOCUMENTATION.md: verbindliche Ablage functional/technical/working/issues
- .claude/README.md: Agent-Einstieg; GITEA_ISSUES_INDEX aus MCP (Stand 2026-04-08)
- Arbeitspapiere von docs/ nach .claude/docs/working/ verschoben
- docs/MEMBERSHIP_SYSTEM.md als Stub; kanonisch technical/MEMBERSHIP_SYSTEM.md
- CLAUDE.md Pflichtlektüre und Links angepasst; docs/README.md vereinfacht

Made-with: Cursor
2026-04-08 13:01:49 +02:00

4.7 KiB

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

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

# 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:

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)

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:

# 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

# 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

# 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:

{
  "hooks": {
    "session-start": "check-issues"
  }
}

→ Bei jeder neuen Session werden automatisch offene Issues geprüft.

Issue erstellen (neue Bugs/Features)

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