- werkzeuge/vorschau/vorschau.html: Anzeige per Drag & Drop oder Dateiauswahl, Zoom, Einpassen, Fehlermeldungen; funktioniert ohne Python direkt aus dem Dateisystem. - scripts/vorschau.py: erzeugt aus .bpmn oder Arbeitsschritt-.md eine in sich geschlossene Seite und öffnet sie; --stdin als Filter, etwa für einen Gitea-Renderer. Diagramm wird mit maskiertem '<' eingebettet, die Bibliothek unverändert und nur auf <script/</script geprüft. - bpmn-js 18.29.1 (navigated viewer + CSS + LICENSE) lokal eingebettet, npm-Integrität geprüft; lädt nichts aus dem Netz. Wasserzeichen bleibt laut Lizenzauflage sichtbar. - tests/test_vorschau.py: 11 Tests; Skill sn-bpmn, Anleitung, AGENTS.md, README, Leitfäden, Fallstricke und STATUS ergänzt. - Tests: python -m pytest -q -> 55 bestanden. Darstellung mit Edge headless geprüft (beide Beispiele, leere Seite, kaputte Datei). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
10 KiB
Werkzeuge einrichten: von null bis zur ersten Aufgabe
Stand 23.09.2026. Ergänzt 03_arbeitsweise.md um die konkrete Einrichtung. Wer Abschnitt 2
durchgearbeitet hat, kann beide Varianten aus Abschnitt 3 und 4 nutzen und jederzeit zwischen ihnen wechseln —
sie greifen auf dieselben Dateien zu.
1. Zwei Varianten
Wir arbeiten mit Claude Code. Es gibt zwei Formen, dieselbe Software zu bedienen:
| Variante | Form | Wofür geeignet |
|---|---|---|
| A · Claude Code CLI | Terminal | lange, eigenständige Aufgaben; Skripte |
| B · Claude Code in VS Code | Erweiterung mit Chatpanel | Einstieg; Entwürfe und Diffs im Editor sehen und einzeln annehmen |
Beide lesen CLAUDE.md (und darüber AGENTS.md), beide finden die Skills unter .claude/skills/, beide
arbeiten über Git mit Gitea. Empfehlung für Einsteiger: Variante B, weil man jede Änderung — auch am
Arbeitsschritt-Entwurf — als Diff sieht, bevor sie übernommen wird.
Nicht genutzt und nicht unterstützt: Cloud-Agenten (Claude Code Web, Codex Cloud, Copilot Coding Agent) —
sie setzen GitHub voraus, wir arbeiten mit Gitea. Reine Chat-Oberflächen ohne Ordnerzugriff (claude.ai,
chatgpt.com) sind für Fachfragen brauchbar, aber nicht für Änderungen am Repository. Wer nur Chat hat,
formuliert Issues nach docs/vorlagen/issue.md und lässt sie von jemandem mit Agent
umsetzen.
2. Gemeinsame Grundlage (einmal pro Rechner)
2.1 Konten und Zugänge
- Gitea-Konto auf
entwicklung.flurneuordnung-sachsen.demit Schreibrecht in der OrganisationAG_Prozesse(beim Maintainer anfragen). Für HTTPS-Push ein Zugriffstoken anlegen: Gitea → Einstellungen → Anwendungen → Token, Berechtigungrepository: read/write. - Claude-Konto: Abo (Pro, Max, Team, Enterprise) oder Console-Konto. Dienstliche E-Mail verwenden; die Abrechnung klärt die Behörde.
- Behördennetz: ausgehendes HTTPS zu
claude.aiundapi.anthropic.commuss möglich sein. Bei Proxy die VariablenHTTPS_PROXYundHTTP_PROXYsetzen; bei Problemen mit der Zertifikatsprüfung die IT ansprechen. - PICTURE-Zugang zum Prüfen des BPMN-Imports (nicht für alle nötig).
2.2 Git
- Windows: Git for Windows mit den Standardoptionen. Enthält Git Bash und den Credential Manager, der sich das Gitea-Token nach dem ersten Push merkt. Claude Code setzt Git for Windows voraus.
- macOS/Linux: Git über Xcode-Tools bzw. die Paketverwaltung.
- Einmalig einstellen — die E-Mail-Adresse muss die des Gitea-Kontos sein. Gitea ordnet Commits über die
Adresse dem Benutzerkonto zu; passt sie nicht, erscheinen die Commits im Browser ohne Zuordnung, und niemand
sieht, wer etwas geändert hat. Nachträglich lässt sich das nur durch Umschreiben der Historie korrigieren.
Wer den Rechner auch privat nutzt, setzt die dienstliche Adresse besser je Repository statt global —
git config --global user.name "Vorname Nachname" git config --global user.email "<dienstliche Adresse aus dem Gitea-Konto>"--localstatt--global. - Prüfen, bevor der erste Commit entsteht:
git -C AG_Prozesse config user.email # muss die Gitea-Adresse sein
2.3 Python
Benötigt: Python ≥ 3.11 und das Paket pytest für die Tests des Konverters.
- Python von python.org installieren, beim Setup „Add to PATH" anhaken, dann
python -m pip install pytest. - Prüfen:
python --versionundpython -m pytest --versionmüssen beide ohne Fehler durchlaufen.
Die Skripte (hallo.py, gitea.py, setup_workspace.py, pruefe_umlaute.py) und der Konverter
md_to_bpmn.py brauchen nur die Standardbibliothek.
2.4 Projektwissen holen
git clone https://entwicklung.flurneuordnung-sachsen.de/AG_Prozesse/Projektwissen.git AG_Prozesse
cd AG_Prozesse
python scripts/setup_workspace.py # spiegelt die Skills, holt ggf. weitere Repos
python -m pytest -q # erwartet: alle Tests grün
Der Zielordner AG_Prozesse ist bewusst anders benannt als das Repository: darin können später weitere
Repositories der Gruppe nebeneinander liegen.
3. Variante A: Claude Code CLI
- Installieren.
Windows (PowerShell):
irm https://claude.ai/install.ps1 | iexmacOS/Linux:curl -fsSL https://claude.ai/install.sh | bashNode.js wird nicht benötigt; der Installer aktualisiert sich selbst. - Anmelden:
claudestarten, im Browser mit dem Claude-Konto anmelden. - Starten: im Ordner
AG_Prozesseclaudeeingeben. Beim ersten Mal den Import@AGENTS.mdbestätigen. - Prüfen:
/contextlistetCLAUDE.mdundAGENTS.mdunter „Memory files"./hallound die Skills (sn-bpmn,sn-aufgabe-bearbeiten,sn-ticket,sn-uebergabe) erscheinen im Menü. - Berechtigungen: Der Standardmodus fragt vor Änderungen. Für Routinearbeit ist „Accept edits" praktikabel.
--dangerously-skip-permissionsniemals außerhalb einer Sandbox. Das Repo verbietet über.claude/settings.jsonohnehingit push,git mergeundgit tag— siehe05_git_arbeitsweise.mdAbschnitt 6. - Erste Aufgabe: Abschnitt 6 dieser Seite.
Die Auto-Memory ist lokal und wird nicht geteilt; Teilbares gehört nach docs/ — Skill sn-uebergabe.
4. Variante B: Claude Code in VS Code
- VS Code installieren, dann den Ordner
AG_Prozesseöffnen (Datei → Ordner öffnen). - Erweiterung installieren:
Strg+Shift+X→ „Claude Code" (Herausgeber Anthropic) → Installieren. Die Erweiterung bringt eine eigene CLI-Kopie mit; die Installation aus Variante A ist nur nötig, wenn manclaudezusätzlich im integrierten Terminal nutzen will. - Anmelden: Symbol in der Aktivitätsleiste → Sign in → Browser-Anmeldung.
- Python-Interpreter wählen:
Strg+Shift+P→ „Python: Select Interpreter" → das Python aus Abschnitt 2.3. - Arbeiten: Panel öffnen. Markierter Text wird automatisch mitgesendet (
Alt+Kfügt einen Verweis ein). Diffs erscheinen im Editor und werden einzeln angenommen oder verworfen. Den Berechtigungsmodus wählt man unten im Eingabefeld; Pläne lässt man vor der Umsetzung im Plan-Modus prüfen.
4.1 Empfohlene Erweiterungen
| Erweiterung | Kennung | Wofür |
|---|---|---|
| Claude Code | anthropic.claude-code |
der Agent selbst |
| Python | ms-python.python |
Syntax, Interpreterwahl, Debugger |
| Markdown Preview Mermaid Support | bierner.markdown-mermaid |
zeigt Mermaid-Diagramme in der Vorschau |
Zum Ansehen einer .bpmn ohne PICTURE ist keine Erweiterung nötig: python scripts/vorschau.py <datei> öffnet
sie im Browser, offline (werkzeuge/vorschau/README.md).
4.2 Persönliche Einstellungen
Diese Einstellungen gehören in die Benutzereinstellungen, nicht ins Repository. Das Repo enthält bewusst
keinen .vscode/-Ordner. Wer sie haben will, kopiert sie sich in die eigene settings.json
(Strg+Shift+P → „Preferences: Open User Settings (JSON)").
{
"files.exclude": { "**/__pycache__": true, "**/.pytest_cache": true },
// Einheitliche Dateiform — das Repo ist auf UTF-8 und LF eingestellt
"files.encoding": "utf8",
"files.eol": "\n",
"[python]": { "editor.tabSize": 4, "editor.insertSpaces": true },
"[markdown]": { "editor.wordWrap": "on" }
}
5. Einschränkungen und Datenschutz
- Gitea statt GitHub. Alle Cloud-Agenten setzen GitHub voraus und entfallen damit. Issues und Pull Requests
entstehen im Gitea-Browser; lesend geht die API auch ohne Anmeldung — dafür gibt es
scripts/gitea.pyund den Skillsn-ticket. - Inhalte gehen an den Anbieter. Alles, was der Agent liest, wird an den Anbieter übertragen — auch eine
Prozessbeschreibung aus
referenz/. Deshalb: keine Zugangsdaten, keine personenbezogenen Daten, keine als vertraulich eingestuften Unterlagen in Prompts oder Dateien. Im Zweifel die Quelle vorher bereinigen. - Der Mensch drückt ab. Agenten dürfen nicht pushen, mergen, taggen oder irgendetwas auf dem Gitea-Server
verändern. Das ist in
.claude/settings.jsontechnisch hinterlegt, nicht nur als Bitte formuliert. - Windows-Symlinks.
setup_workspace.pyfällt auf eine Junction oder Kopie zurück, wenn Symlinks nicht erlaubt sind. Nach Änderungen an Skillspython scripts/setup_workspace.py --nur-skillserneut ausführen.
6. Von null zur ersten Aufgabe (etwa eine Stunde)
- Abschnitt 2 durcharbeiten;
python -m pytest -qist grün. - Variante A oder B einrichten. Prüfung: der Agent nennt auf Nachfrage die Regeln aus
AGENTS.md. /halloausführen — holt den Stand.- Zum Kennenlernen einen kleinen, unkritischen Prozess modellieren lassen (Skill
sn-bpmn), den Entwurf prüfen, umwandeln und in PICTURE importieren. - Für Änderungen am Repository:
python scripts/gitea.py tickets, ein Ticket auswählen, indocs/status/STATUS.mdunter „Wer arbeitet woran" eintragen. - Auftrag nach dem Muster in
03_arbeitsweise.mdAbschnitt 3 geben, mit dem Skillsn-aufgabe-bearbeiten. - Ergebnis prüfen: Tests grün, Diff gelesen.
- Branch pushen (selbst!), Pull Request im Gitea-Browser nach
docs/vorlagen/pull_request.md, Übergabenotiz aus dem Skillsn-uebergabe. - Review durch eine Kollegin oder einen Kollegen; nach dem Merge
STATUS.mdnachziehen.
7. Prüfliste „Einrichtung fertig"
git --versionundpython --version(≥ 3.11) laufen,python -m pytest --versionohne Fehlergit config user.emailim OrdnerAG_Prozesseliefert die Adresse des Gitea-Kontospython scripts/setup_workspace.pyohne Fehler,.claude/skills/vorhandenpython -m pytest -qgrünpython scripts/hallo.pyläuft und zeigt den Standpython scripts/gitea.py ticketsläuft- Claude Code im Ordner
AG_Prozessegestartet;/contextzeigtCLAUDE.mdundAGENTS.md - Gitea-Token gespeichert (Test:
git fetchohne Passwortabfrage)