2026-09-23 12:34:37 +02:00
|
|
|
|
# Projektwissen AG_Prozesse – Anweisungen für KI-Agenten und Mitwirkende
|
|
|
|
|
|
|
|
|
|
|
|
Kanonische, werkzeugneutrale Anweisungsdatei. Claude Code liest sie über `CLAUDE.md`.
|
|
|
|
|
|
Sie bleibt bewusst kurz: Details liegen in `docs/` und werden nur bei Bedarf gelesen.
|
|
|
|
|
|
|
|
|
|
|
|
## Worum es geht
|
|
|
|
|
|
|
|
|
|
|
|
- Arbeitsgruppe der sächsischen Flurbereinigungsbehörden („LNO Sachsen") zur **Modellierung von
|
|
|
|
|
|
Verwaltungsprozessen in BPMN 2.0**. Zielwerkzeug für den Import ist **PICTURE**.
|
|
|
|
|
|
- Kernwerkzeug ist der Skill `sn-bpmn`: Prozessbeschreibung (Rohtext, Stichpunkte, Word/PDF) → strukturierte
|
|
|
|
|
|
Arbeitsschritt-`.md` → BPMN-2.0-Datei (`.agents/skills/sn-bpmn/md_to_bpmn.py`).
|
|
|
|
|
|
- Dieser Ordner ist der Klon des Repositories **`AG_Prozesse/Projektwissen`**. Weitere Repositories der Gruppe
|
|
|
|
|
|
würden als eigenständige Git-Klone in Unterordnern liegen und in `workspace.toml` stehen – derzeit gibt es keine.
|
|
|
|
|
|
- Die Arbeitsweise (Skripte, Skills, Git-Regeln) stammt aus `AG_QGIS/Projektwissen`, siehe
|
|
|
|
|
|
`docs/entscheidungen/0001-uebernahme-aus-ag-qgis.md`.
|
|
|
|
|
|
|
|
|
|
|
|
## Zuerst lesen – nur was die Aufgabe braucht
|
|
|
|
|
|
|
|
|
|
|
|
1. `docs/status/STATUS.md` – aktueller Stand, offene Baustellen, wer woran arbeitet.
|
|
|
|
|
|
2. `docs/wissen/fallstricke.md` – bekannte Stolperfallen (BPMN-Layout, PICTURE-Import, Werkzeuge).
|
|
|
|
|
|
3. Für Modellierungsaufgaben: `.agents/skills/sn-bpmn/SKILL.md` und die dort genannten Dateien.
|
|
|
|
|
|
4. Fachbegriffe: `docs/wissen/glossar.md`. Übersicht aller Dokumente: `docs/README.md`.
|
|
|
|
|
|
|
|
|
|
|
|
## Harte Regeln
|
|
|
|
|
|
|
|
|
|
|
|
### Git und Server – der Mensch drückt ab
|
|
|
|
|
|
|
|
|
|
|
|
- **Nie pushen, mergen, taggen oder etwas auf Gitea verändern.** Agenten bereiten vor, eine Person sendet ab.
|
|
|
|
|
|
`.claude/settings.json` sperrt `git push`, `git merge`, `git rebase`, `git tag` technisch.
|
|
|
|
|
|
- Hauptbranch ist `main`. Nie direkt auf `main` committen: eigener Branch `feature/<nr>-<kurzname>` bzw.
|
|
|
|
|
|
`bugfix/<nr>-<kurzname>`, dann Pull Request. Vollständig: `docs/leitfaden/05_git_arbeitsweise.md`.
|
|
|
|
|
|
- Sitzungsbeginn: `python scripts/hallo.py` (bzw. `/hallo`), bevor irgendetwas geändert wird.
|
|
|
|
|
|
|
|
|
|
|
|
### Tests
|
|
|
|
|
|
|
2026-09-23 13:02:48 +02:00
|
|
|
|
- Vor jedem Commit: `python -m pytest -q` – alle Tests grün.
|
2026-09-23 12:34:37 +02:00
|
|
|
|
- **Neues Verhalten von `md_to_bpmn.py` ohne Test wird nicht gemergt.** Bei einer Fehlerbehebung zuerst der Test,
|
|
|
|
|
|
der den Fehler zeigt.
|
|
|
|
|
|
- **Jeder neue oder geänderte Test bekommt einen deutschen Docstring**, erste Zeile in der Form `"""Prüft, dass …"""`.
|
|
|
|
|
|
- Tests werden nicht gelöscht, nicht mit `skip` stillgelegt und nicht in ihrer Erwartung angepasst, um grün zu werden –
|
|
|
|
|
|
außer das Verhalten wurde bewusst geändert und der Pull Request begründet es.
|
|
|
|
|
|
|
|
|
|
|
|
### Inhalte
|
|
|
|
|
|
|
|
|
|
|
|
- **Keine personenbezogenen Daten, keine Zugangsdaten, keine internen Originalunterlagen** im Repository, in der Doku
|
|
|
|
|
|
oder in Prompts. Quelldokumente (Word/PDF) bleiben lokal unter `referenz/` (nicht versioniert); ins Repository kommen
|
|
|
|
|
|
nur die daraus abgeleiteten, bereinigten Arbeitsschritt-`.md` und BPMN-Dateien.
|
2026-09-23 13:02:48 +02:00
|
|
|
|
- **Prozessmodelle liegen in `prozesse/<name>/`** (ADR 0003, Regeln in `prozesse/README.md`). Die `.md` ist
|
|
|
|
|
|
maßgeblich, die `.bpmn` wird nie von Hand bearbeitet, sondern mit `python scripts/pruefe_prozesse.py --erzeugen`
|
|
|
|
|
|
neu erzeugt. Den Status `abgenommen` setzt der Agent nie von sich aus.
|
2026-09-23 12:34:37 +02:00
|
|
|
|
- Rollen und Verantwortliche in Prozessmodellen als Funktion benennen („Sachbearbeitung Flurbereinigung"),
|
|
|
|
|
|
nie als Person.
|
|
|
|
|
|
- Keine Python-Abhängigkeiten außer der Standardbibliothek und `pytest` ohne Issue-Absprache und Eintrag in
|
|
|
|
|
|
`fallstricke.md`.
|
|
|
|
|
|
- Kein Umbau „nebenbei". Strukturänderungen nur über eigenes Issue.
|
|
|
|
|
|
|
|
|
|
|
|
### Allgemein
|
|
|
|
|
|
|
|
|
|
|
|
- Sprache: Doku, Kommentare, Docstrings, Commit-Nachrichten, Issues und PRs auf Deutsch, mit echten Umlauten
|
|
|
|
|
|
(Prüfung: `python scripts/pruefe_umlaute.py`). Bezeichner nach dem Stil der jeweiligen Datei.
|
|
|
|
|
|
|
|
|
|
|
|
## Arbeitsablauf in Kurzform (Details: Skill `sn-aufgabe-bearbeiten`)
|
|
|
|
|
|
|
|
|
|
|
|
1. `python scripts/hallo.py` – Stand holen.
|
|
|
|
|
|
2. Gitea-Issue lesen (Skill `sn-ticket`, `python scripts/gitea.py ticket Projektwissen <nr>`) oder als Entwurf
|
|
|
|
|
|
vorbereiten. Ziel und Abnahmekriterien klären, bevor etwas geändert wird.
|
|
|
|
|
|
3. Branch `feature/<issue-nr>-<kurzname>` bzw. `bugfix/<issue-nr>-<kurzname>` von `main`.
|
|
|
|
|
|
4. In kleinen Schritten umsetzen; nur betroffene Dateien und Abschnitte lesen.
|
2026-09-23 13:02:48 +02:00
|
|
|
|
5. `python -m pytest -q` (enthält `pruefe_prozesse.py`) und `python scripts/pruefe_umlaute.py`. Erzeugte BPMN-Dateien zusätzlich
|
2026-09-23 12:34:37 +02:00
|
|
|
|
in PICTURE importieren und das Ergebnis im PR nennen.
|
|
|
|
|
|
6. Pull-Request-Text nach `docs/vorlagen/pull_request.md` vorbereiten, inklusive Übergabenotiz (Skill `sn-uebergabe`).
|
|
|
|
|
|
**Push und Pull Request macht der Mensch.**
|
|
|
|
|
|
7. Neue Erkenntnisse in `docs/wissen/` oder `docs/entscheidungen/` festhalten, nicht nur im lokalen Gedächtnis des Werkzeugs.
|
|
|
|
|
|
|
|
|
|
|
|
## Tokensparend arbeiten
|
|
|
|
|
|
|
|
|
|
|
|
- Gezielt `grep`, dann nur die nötigen Abschnitte lesen. `md_to_bpmn.py` (über 1000 Zeilen) nie komplett laden.
|
|
|
|
|
|
- Keine Dateien oder Testausgaben in den Chat kopieren; Pfade mit Zeilennummern nennen.
|
|
|
|
|
|
- Am Ende jeder Aufgabe eine Übergabenotiz, damit die nächste Sitzung nicht neu erkunden muss.
|
|
|
|
|
|
- Breite Suchen an einen Unteragenten delegieren, wenn das Werkzeug das kann; Hauptkontext schlank halten.
|
|
|
|
|
|
|
|
|
|
|
|
## Befehle
|
|
|
|
|
|
|
|
|
|
|
|
- Sitzungsbeginn: `python scripts/hallo.py` (Claude Code: `/hallo`)
|
|
|
|
|
|
- Tickets: `python scripts/gitea.py tickets` | `python scripts/gitea.py ticket Projektwissen 12` | `… suche "<text>"`
|
2026-09-23 13:02:48 +02:00
|
|
|
|
- Tests: `python -m pytest -q`
|
2026-09-23 12:34:37 +02:00
|
|
|
|
- Umlaute prüfen: `python scripts/pruefe_umlaute.py`
|
2026-09-23 13:02:48 +02:00
|
|
|
|
- Prozessmodelle prüfen bzw. alle `.bpmn` neu erzeugen: `python scripts/pruefe_prozesse.py [--erzeugen]`
|
2026-09-23 12:34:37 +02:00
|
|
|
|
- Workspace einrichten oder aktualisieren: `python scripts/setup_workspace.py` (mit `--pull` für fast-forward)
|
2026-09-23 13:02:48 +02:00
|
|
|
|
- Entwurf umwandeln: `python .agents/skills/sn-bpmn/md_to_bpmn.py entwuerfe/<name>.md entwuerfe/<name>.bpmn`
|
2026-09-23 12:34:37 +02:00
|
|
|
|
|
|
|
|
|
|
## Skills
|
|
|
|
|
|
|
|
|
|
|
|
Liegen in `.agents/skills/` (Agent-Skills-Standard) und werden nach `.claude/skills/` gespiegelt:
|
|
|
|
|
|
`sn-bpmn`, `sn-aufgabe-bearbeiten`, `sn-ticket`, `sn-uebergabe`.
|