Files
Projektwissen/workspace.toml
AndreasTharangandClaude Sonnet 5 ab416fb34c Projektwissen: Git-Vorgaben, Ticketzugriff, Tests und Einstieg
Erster Stand des Repositories AG_QGIS/Projektwissen (bisher Arbeitstitel
"Workspace", ADR 0006). Der lokale Ordner heisst weiter AG_QGIS, weil darin
auch die Plugin-Klone liegen.

Git verbindlich (ADR 0007), aus dem bisherigen Wiki-Konzept entwickelt:
- docs/leitfaden/05_git_arbeitsweise.md mit Kanal-Kette, Branch-Namen und
  Gitea-Branch-Schutz.
- Der Einstiegspunkt eines Fixes richtet sich nach dem Kanal, in dem der
  Fehler sitzt; ein Fix an testing oder stable ist erst mit der
  Rueckfuehrung nach unten abgeschlossen. Das fehlte bisher.
- Der stabile Kanal heisst stable, nicht main: der Release-Workflow in
  Repository:hidden/workflows fuehrt git checkout "$CHANNEL" aus, der
  Branchname muss also dem Kanalnamen entsprechen. Er existiert in keinem
  Plugin-Repo und ist vom Maintainer anzulegen.
- Der Mensch drueckt ab: .claude/settings.json sperrt push, merge, tag.
- scripts/hallo.py und /hallo holen den Stand aller Klone, per
  Fast-Forward wo gefahrlos; nie mergen, stashen oder verwerfen.

Ticketzugriff:
- scripts/gitea.py liest Issues, Kommentare und PRs ueber die oeffentliche
  API, ohne Token, nur GET. Schreibendes nur als Entwurf in entwuerfe/.
- Skill sn-ticket.

Tests (ADR 0009):
- docs/leitfaden/06_tests.md: Testebenen, Testpflicht, und wie eine
  Fachperson beurteilt, ob Tests fachlich sinnvoll sind.
- scripts/testkatalog.py erzeugt docs/tests/testkatalog.md per ast-Parsing,
  ohne Import und ohne QGIS. Befund: nur 100 von 332 Tests haben einen
  Docstring, sn_basis keinen einzigen von 87.
- Vorlage und erste Testkonzept-Seite mit Mermaid. Dabei gefunden und gegen
  origin geprueft: _ermittle_gebietstyp_aus_fbschl hat keinen Test, obwohl
  PR #44/#45 genau diese Funktion tolerant gemacht hat.
- docs/konzept/07_qgis_tests_plan.md: Stufenplan fuer Tests gegen echtes
  QGIS. Dabei aufgefallen: QGIS 3.40 ist seit Januar 2026 End of Life,
  qgis_min steht aber noch darauf.

Werkzeuge (ADR 0008):
- 04_werkzeuge_einrichten.md nur noch Claude Code als CLI und in VS Code.
- .vscode/ entfernt, brauchbare Einstellungen als persoenliche Vorlage.

Ausserdem: README als Einstieg neu aufgebaut, Mermaid-Diagramm in
schnittstellen.md repariert (unmaskierte Klammern, rendert seither nicht).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 11:57:26 +02:00

104 lines
2.1 KiB
TOML

# Manifest des AG_QGIS-Workspace.
# Wird von scripts/setup_workspace.py und scripts/run_tests.py gelesen (Python >= 3.11, tomllib).
# Repo-Name (Gitea) und Paketname (Ordner im QGIS-Plugin-Verzeichnis) sind NICHT identisch.
[workspace]
name = "AG_QGIS"
gitea = "https://entwicklung.flurneuordnung-sachsen.de"
org = "AG_QGIS"
arbeitsbranch = "unstable"
qgis_min = "3.40"
python_min = "3.12"
# rolle: plattform | fachplugin | geruest | platzhalter | infrastruktur | daten
# tests: true = tests/ mit unittest-Suite vorhanden (Mock-Modus ohne QGIS lauffähig)
# abhaengigkeiten: Pakete, die zur Laufzeit/Testzeit importiert werden
[[repos]]
name = "Plugin_SN_Basis"
paket = "sn_basis"
rolle = "plattform"
branch = "unstable"
tests = true
abhaengigkeiten = []
[[repos]]
name = "Plugin_SN_Verfahrensgebiet"
paket = "sn_verfahrensgebiet"
rolle = "fachplugin"
branch = "unstable"
tests = true
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_SN_Plan41"
paket = "sn_plan41"
rolle = "fachplugin"
branch = "unstable"
tests = true
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_SN_Widmung"
paket = "sn_widmung"
rolle = "geruest"
branch = "unstable"
tests = false
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_SN_FLT"
paket = "sn_flt"
rolle = "platzhalter"
branch = "unstable"
tests = false
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_SN_Topografie"
paket = "sn_topografie"
rolle = "platzhalter"
branch = "unstable"
tests = false
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_SN_Template"
paket = "sn_template"
rolle = "platzhalter"
branch = "unstable"
tests = false
abhaengigkeiten = ["sn_basis"]
[[repos]]
name = "Plugin_Test_Action"
paket = "sn_test_action"
rolle = "infrastruktur"
branch = "unstable"
tests = false
abhaengigkeiten = []
[[repos]]
name = "Repository"
paket = ""
rolle = "infrastruktur"
branch = "main"
tests = false
abhaengigkeiten = []
[[repos]]
name = "Linkliste"
paket = ""
rolle = "daten"
branch = "main"
tests = false
abhaengigkeiten = []
[[repos]]
name = "Defaults"
paket = ""
rolle = "daten"
branch = "main"
tests = false
abhaengigkeiten = []