6.6 KiB
| name | description |
|---|---|
| gh-tickets | Konventionen für Forgejo-Issues in diesem Workspace: Aufgabentyp-Labels, Sortierung über status:todo-Labels und CLI-Abfragen. Verwende diesen Skill immer dann, wenn Issues angelegt, abgefragt, sortiert oder vom nextstep-Router verarbeitet werden. Trigger-Phrasen: 'nächstes Ticket', 'Issue anlegen', 'Reihenfolge', 'Priorität', 'nextstep', 'Status', 'Board'. |
Skill: Forgejo Tickets (gh-tickets)
Dieses Dokument definiert die verbindlichen Konventionen für Issues im Forgejo-Repository bollwerkadmin/bollwerk (https://git.bollwerk.online).
1. Aufgabentyp (Pflicht-Label)
Jedes Issue MUSS genau eines dieser Type-Labels tragen:
| Label | Kürzel | Beschreibung |
|---|---|---|
block-planning |
[B] | Grobplanung – zerlegt Projekt in Blocks, erstellt [T]- und [P]-Tickets |
feature |
[F] | Feature-Entwicklung – Neuentwicklung ohne Referenz-Altcode |
refactoring |
[F] | Architektur-Refactoring – wird wie Feature behandelt (workflow-implementation) |
tech-decision |
[T] | Technologie-Entscheidung (User trifft die Wahl) |
infrastructure |
[I] | Infrastruktur, Prozess, Tooling, Dokumentation |
planning |
[P] | Planungsaufgabe – zerlegt grobes Ticket in Arbeitspakete |
test |
[X] | Generaltest oder Coverage-Check eines abgeschlossenen Bereichs |
Validierung
Bevor ein Workflow gestartet wird, prüfe ob das Issue ein Type-Label hat. Falls nicht:
⚠️ Issue #<N> hat kein Type-Label (block-planning/feature/migration/refactoring/tech-decision/infrastructure/planning/test).
Bitte eines der Labels zuweisen, bevor der Workflow starten kann.
Stoppe und fordere den User zur Zuordnung auf. Starte den Workflow nicht ohne Type-Label.
Mapping zum Workflow
| Label | Workflow-Prompt |
|---|---|
block-planning |
.github/prompts/nextstep-block-planning.prompt.md |
feature |
.github/prompts/nextstep-implementation.prompt.md |
migration |
.github/prompts/nextstep-implementation.prompt.md |
refactoring |
.github/prompts/nextstep-implementation.prompt.md |
tech-decision |
.github/prompts/nextstep-tech-decision.prompt.md |
infrastructure |
.github/prompts/nextstep-infrastructure.prompt.md |
planning |
.github/prompts/nextstep-planning.prompt.md |
test |
.github/prompts/nextstep-test.prompt.md |
2. Sortierung über Status-Labels
Die Abarbeitungsreihenfolge wird über Status-Labels in Forgejo gesteuert.
Status-Labels
| Label | Bedeutung |
|---|---|
status:todo |
Nächste offene Aufgabe (wird von next-ticket.ps1 gefunden) |
status:in-progress |
Aktuell in Bearbeitung |
status:done |
Abgeschlossen |
status:backlog |
Im Backlog – wird erst nach todo-Items bearbeitet |
Repository
| Eigenschaft | Wert |
|---|---|
| URL | https://git.bollwerk.online/bollwerkadmin/bollwerk |
| API-Base | https://git.bollwerk.online/api/v1 |
| Token | .github/skills/gh-tickets/forgejo-token.txt (lokal, nicht committed) |
Nächstes offenes Issue ermitteln
Skript: .github/skills/gh-tickets/next-ticket.ps1
# Nächstes Ticket (priority:high zuerst, dann Issue-Nummer aufsteigend):
& ".github/skills/gh-tickets/next-ticket.ps1"
# Bestimmtes Issue abfragen (Typ-Label prüfen):
& ".github/skills/gh-tickets/next-ticket.ps1" -IssueNumber 128
Ausgabe: #128 [I] infra(forgejo): Projektlinks, Skills und Referenzen umstellen (Order: 128)
Status aktualisieren
Skript: .github/skills/gh-tickets/set-board-status.ps1
# Status auf "In Progress" setzen
& ".github/skills/gh-tickets/set-board-status.ps1" -IssueNumber 128 -Status InProgress
# Status auf "Done" setzen
& ".github/skills/gh-tickets/set-board-status.ps1" -IssueNumber 128 -Status Done
# Status auf "Todo" zurücksetzen
& ".github/skills/gh-tickets/set-board-status.ps1" -IssueNumber 128 -Status Todo
Gültige Status-Werte: Todo, InProgress, Done, Backlog
3. Issue anlegen (Checkliste)
Beim Anlegen eines neuen Issues MÜSSEN alle 3 Schritte durchgeführt werden:
- Titel: Beschreibend, ggf. mit Modulpräfix (z.B.
feat(core):,infra(forgejo):) - Type-Label: Genau eines von
migration,tech-decision,infrastructure,block-planning,feature,refactoring,planning,test - Status-Label:
status:todo(sofort bearbeiten) oderstatus:backlog(später)
Kein Issue ohne Status-Label! Ein Issue ohne
status:todooderstatus:backlogwird bei „nächste Aufgabe" nicht gefunden.
Dringend vorgezogenes Issue anlegen ("als nächstes")
Skript: .github/skills/gh-tickets/create-next-ticket.ps1
Wenn während einer laufenden Aufgabe ein neues Issue entdeckt wird, das direkt danach bearbeitet werden soll:
# Issue anlegen mit status:todo (wird als nächstes gefunden, niedrigste Nummer)
& ".github/skills/gh-tickets/create-next-ticket.ps1" -Title "fix(server): Bug in Auth" -Labels "infrastructure" -Body "Beschreibung..."
# Issue ins Backlog legen
& ".github/skills/gh-tickets/create-next-ticket.ps1" -Title "feat: Neues Feature" -Labels "feature" -Status Backlog
Das Skript erledigt automatisch: Issue anlegen + Status-Label setzen. Trigger-Phrasen: „als nächstes anlegen", „nächstes Ticket erstellen", „direkt danach bearbeiten"
4. Sortierung: Priorität + Issue-Nummer (zweistufig)
Die Abarbeitungsreihenfolge wird zweistufig bestimmt:
- Primär: Label
priority:high→ Issues mit diesem Label kommen immer zuerst - Sekundär: Label
priority:low→ Issues mit diesem Label kommen immer zuletzt - Tertiär: Issue-Nummer aufsteigend → Niedrigere Nummer = früher erstellt = höhere Priorität
Beispiel: Ein Issue #50 mit priority:high kommt vor Issue #10 ohne Priorität.