Beim Übernehmen aus AG_QGIS/Projektwissen (main @ a0bb40a) waren Regeln verloren gegangen oder eingeengt worden: - PR-Vorlage: Abschnitt „Änderungen an Syntax und Ablageformat“ (dort „Änderungen an Verträgen“), Checklistenpunkt „keine Debug-print“. - Issue-Vorlage: Frage nach Syntax/Ablageformat, Testpflicht nicht nur für den Konverter. - AGENTS.md: Testpflicht wieder für jede neue Funktionalität; Syntax und Ablageformat als Verträge; kein Arbeitsbranch ohne Issue; PR-Text vollständig mit Checkliste. Skill sn-aufgabe-bearbeiten und Checkliste in Leitfaden 03 entsprechend. - ADR 0001 und STATUS: Quell-Commit war a0bb40a, nicht decd2a0. gitea.py prüft vor jeder Abfrage, ob die Repos ohne Anmeldung lesbar sind, und bricht sonst mit klarer Meldung ab – bisher meldete die Sammelsuche bei einem privaten Repo „Keine passenden Tickets“. Die Ausgabe läuft jetzt über UTF-8 (cp1252-Konsolen stürzten bei „→“ ab). Tests: python -m pytest -q -> 61 bestanden (6 neu in tests/test_gitea.py). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
3.6 KiB
3.6 KiB
name, description
| name | description |
|---|---|
| sn-aufgabe-bearbeiten | Standardablauf für eine Aufgabe im Projektwissen der AG Prozesse (Konverter md_to_bpmn.py, Skills, Skripte, Doku, Prozessmodelle) von Gitea-Issue über Branch, Umsetzung und Tests bis zum vorbereiteten Pull Request mit Übergabenotiz. Verwenden bei "bearbeite Issue", "setze um", "Bugfix", "neue Funktion". |
Aufgabe bearbeiten
Für das reine Modellieren eines Prozesses gilt der Skill sn-bpmn. Dieser Ablauf gilt, wenn etwas im Repository
geändert und per Pull Request zurückgeführt wird.
0. Stand holen (nicht überspringen)
python scripts/hallo.py
Holt den Serverstand und aktualisiert main per Fast-Forward, wo das gefahrlos geht.
Ohne diesen Schritt wird womöglich etwas behoben, das längst behoben ist.
1. Auftrag verstehen (nicht überspringen)
- Issue mit Kommentaren lesen – Skill
sn-ticket,python scripts/gitea.py ticket Projektwissen <nr>. LabelDiskussion= noch kein Konsens: Annahmen im PR kennzeichnen. - Ziel, Abnahmekriterien und Grenzen in drei Sätzen zurückspiegeln, bevor etwas geändert wird. Fehlt ein Abnahmekriterium, ist das die erste Rückfrage – nicht der erste Commit.
2. Kontext laden – gezielt
docs/status/STATUS.md(wer arbeitet woran), bei Überraschungendocs/wissen/fallstricke.md.- Am Konverter:
grep -n "def \|class " .agents/skills/sn-bpmn/md_to_bpmn.pyfür die Struktur, dann nur die betroffenen Abschnitte lesen. Die Datei hat über 1000 Zeilen. - Fachliche Regeln:
.agents/skills/sn-bpmn/Modellierregeln.md,Elementkatalog.md,Anleitung.md.
3. Branch
Immer von main. Vollständig: docs/leitfaden/05_git_arbeitsweise.md.
Kein feature/- oder bugfix/-Branch ohne Issue-Nummer. Gibt es kein Issue, zuerst einen Entwurf vorbereiten
(Skill sn-ticket) und warten, bis der Mensch es angelegt hat. Nur doku/… kommt ohne Issue aus.
git switch main && git pull --ff-only
git switch -c feature/<issue-nr>-<kurzname> # oder bugfix/… ; klein, ASCII, mit Nummer
4. Umsetzen
- Kleine Schritte, jeder für sich prüfbar. Nach jedem Schritt
python -m pytest -q. - Regeln aus
AGENTS.md: nur Standardbibliothek, kein Umbau nebenbei, Stil der Datei beibehalten, Deutsch mit echten Umlauten. - Neue Logik bekommt einen Test – Konverter in
.agents/skills/sn-bpmn/test_md_to_bpmn.py, Skripte intests/test_<skript>.py. pytest, ohne Netzwerk, ein Test je Verhalten. Bei einem Bugfix zuerst den Test schreiben, der den Fehler zeigt. - Jeder neue oder geänderte Test bekommt einen deutschen Docstring, erste Zeile
"""Prüft, dass …""". - Ändert sich die Markdown-Syntax oder ein Element:
Anleitung.mdbzw.Elementkatalog.mdmitziehen. Syntax und Ablageformat sind Verträge (AGENTS.md): vorher alle Modelle unterprozesse/prüfen, danachpython scripts/pruefe_prozesse.py --erzeugen.
5. Nachweis
python -m pytest -q→ alles grün.python scripts/pruefe_umlaute.py→ keine Funde.- Ändert sich die erzeugte BPMN-Datei: ein Beispiel erzeugen und in PICTURE importieren. Kannst du das nicht selbst, im PR als offenen Punkt eintragen. Nicht als erledigt ausgeben.
6. Abschluss
- Commit-Nachrichten deutsch, Präsens, erste Zeile ≤ 72 Zeichen, Issue-Nummer am Ende.
- Pull-Request-Text vollständig nach
docs/vorlagen/pull_request.mdvorbereiten: jeder Abschnitt, auch „Änderungen an Syntax und Ablageformat“ (notfalls „keine“) und die Checkliste mit ehrlich gesetzten Haken. Übergabenotiz mit Skillsn-uebergabe. - Hier ist Schluss. Push, Pull Request, Merge und alles auf Gitea macht der Mensch.