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>
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
# Entscheidungen (ADR)
|
||||
|
||||
Eine Datei je Entscheidung, fortlaufend nummeriert, nie nachträglich geändert. Wird eine Entscheidung ersetzt,
|
||||
bekommt die alte den Status „ersetzt durch NNNN“ und die neue verweist zurück.
|
||||
|
||||
Vorlage:
|
||||
|
||||
```markdown
|
||||
# NNNN – Titel
|
||||
|
||||
Status: vorgeschlagen | angenommen | ersetzt durch NNNN · Datum: JJJJ-MM-TT · Beteiligte: …
|
||||
|
||||
## Kontext
|
||||
Warum stand die Entscheidung an? Welche Randbedingungen?
|
||||
|
||||
## Entscheidung
|
||||
Was wurde entschieden (ein Satz), danach die wichtigsten Details.
|
||||
|
||||
## Folgen
|
||||
Was wird dadurch einfacher, was schwerer, was muss getan werden?
|
||||
|
||||
## Verworfene Alternativen
|
||||
Kurz, mit Grund.
|
||||
```
|
||||
|
||||
| Nr. | Titel | Status |
|
||||
|---|---|---|
|
||||
| 0001 | `AGENTS.md` ist die kanonische Anweisungsdatei | vorgeschlagen |
|
||||
| 0002 | Workspace-Meta-Repository mit eigenständigen Klonen | vorgeschlagen |
|
||||
| 0003 | Mock-Tests mit Baseline sind Pflicht vor jedem PR | vorgeschlagen |
|
||||
| 0004 | Geteiltes Wissen liegt versioniert in `docs/`, nicht im Werkzeug-Gedächtnis | vorgeschlagen |
|
||||
| 0005 | Grundlegendes Refactoring erst nach grüner Baseline und festgeschriebenen Verträgen | vorgeschlagen |
|
||||
| 0006 | Das Workspace-Repository heißt „Projektwissen" | vorgeschlagen |
|
||||
| 0007 | Branchmodell: drei Kanäle, `stable` als stabiler Kanal, Rückführungspflicht | vorgeschlagen |
|
||||
| 0008 | Werkzeugunterstützung auf Claude Code fokussiert | vorgeschlagen |
|
||||
| 0009 | Tests sind Teil der Definition of Done, und sie werden für Menschen dokumentiert | vorgeschlagen |
|
||||
Reference in New Issue
Block a user