docs: Python-Scripts dokumentiert, DSA5-Glossar hinzugefügt

- merge-config.py und merge-help-csv.py: Docstrings mit Aufrufkontext,
  Zweck, Idempotenz-Verhalten und Beispielen
- GLOSSAR.md: DSA5-Abkürzungen, Eigenschaften, Abenteuer-Schmiede-
  und BMAD-Fachbegriffe

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Kenearos 2026-04-12 19:21:27 +02:00
parent af6bcacd94
commit 7d4412782e
3 changed files with 115 additions and 3 deletions

64
GLOSSAR.md Normal file
View file

@ -0,0 +1,64 @@
# Glossar
Abkürzungen und Fachbegriffe die in der Abenteuer-Schmiede verwendet werden.
## DSA5-Regelbegriffe
| Abkürzung | Bedeutung | Erklärung |
|-----------|-----------|-----------|
| **AP** | Abenteuerpunkte | Erfahrungspunkte zum Steigern von Werten und Talenten |
| **AT** | Attacke | Angriffswert einer Waffe |
| **PA** | Parade | Verteidigungswert einer Waffe |
| **TP** | Trefferpunkte | Schaden den eine Waffe verursacht |
| **RS** | Rüstungsschutz | Schadensreduktion durch Rüstung |
| **RW** | Reichweite | Reichweite einer Waffe (kurz/mittel/lang) |
| **INI** | Initiative | Bestimmt die Reihenfolge im Kampf |
| **GS** | Geschwindigkeit | Bewegungsreichweite pro Kampfrunde |
| **LeP** | Lebenspunkte | Trefferpunkte des Charakters |
| **AsP** | Astralpunkte | Magische Energie (nur Magiekundige) |
| **KaP** | Karmapunkte | Göttliche Energie (nur Geweihte) |
| **SK** | Seelenkraft | Widerstand gegen magische/göttliche Effekte |
| **ZK** | Zähigkeit | Widerstand gegen körperliche Effekte (Gift, Krankheit) |
| **AW** | Ausweichen | Wert zum Ausweichen im Kampf |
| **TaW** | Talentwert | Fertigkeitsstufe eines Talents (0-20+) |
| **FW** | Fertigkeitswert | Stufe einer Sonderfertigkeit oder eines Zaubers |
| **QS** | Qualitätsstufe | Wie gut eine Probe gelungen ist (1-6) |
| **W6/W20** | Würfel | W6 = sechsseitiger Würfel, W20 = zwanzigseitiger Würfel |
| **3W20** | Drei Würfel | Standard-Probenwurf auf drei Eigenschaften |
| **BF** | Bosparanisches Fall | Aventurische Zeitrechnung (z.B. 1040 BF) |
## DSA5-Eigenschaften
| Abkürzung | Eigenschaft | Typische Proben |
|-----------|-------------|-----------------|
| **MU** | Mut | Furcht widerstehen, Initiative ergreifen |
| **KL** | Klugheit | Wissen, Logik, Sprachen |
| **IN** | Intuition | Wahrnehmung, Menschenkenntnis, Gefahrensinn |
| **CH** | Charisma | Überreden, Einschüchtern, Bekehren |
| **FF** | Fingerfertigkeit | Schlösserknacken, Taschendiebstahl, Handwerk |
| **GE** | Gewandtheit | Klettern, Akrobatik, Schleichen |
| **KO** | Konstitution | Ausdauer, Zechen, Gift widerstehen |
| **KK** | Körperkraft | Kraftakt, Schwimmen, schwere Waffen |
## Abenteuer-Schmiede Begriffe
| Begriff | Bedeutung |
|---------|-----------|
| **Kompendium** | Single Source of Truth — alle NSCs, Orte, Szenen, Begegnungen als Dateien |
| **Rahmen** | Grundeinstellungen des Abenteuers (Setting, Stil, Regeln) |
| **Fixpunkt** | Szene die in jedem Durchlauf stattfinden muss (Story-relevant) |
| **Freiheitsraum** | Bereich wo Spieler frei entscheiden können ohne die Story zu brechen |
| **Gate** | Kontrollpunkt im Workflow — Nutzer muss bestätigen bevor es weitergeht |
| **Autorenrunde** | Partymodus — alle Agenten diskutieren gemeinsam ein Thema |
| **Spannungsbogen** | Dramaturgische Kurve über das gesamte Abenteuer (Setup → Konfrontation → Auflösung) |
## BMAD-Begriffe
| Begriff | Bedeutung |
|---------|-----------|
| **BMAD** | Backup Model Architecture Design — Framework für KI-gestützte Workflows |
| **Skill** | Eine Fähigkeit/Aufgabe die ein Agent ausführen kann (SKILL.md) |
| **Workflow** | Geführter Prozess ohne eigene Persona (z.B. Setup, Export) |
| **Agent** | KI-Persona mit definierter Rolle, Identität und Prinzipien |
| **Orchestrator** | Koordinator der Agenten — in der Schmiede ist das CLAUDE.md |
| **Module** | Erweiterungspaket für BMAD (z.B. Abenteuer-Schmiede) |

View file

@ -1,5 +1,33 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""Merge Abenteuer-Schmiede config into BMAD _config/config.yaml.""" """Merge Abenteuer-Schmiede config into BMAD _config/config.yaml.
Called by: BMAD module installer (npx bmad-method install)
When: During module installation, NOT during as-setup workflow
Purpose: Adds default Abenteuer-Schmiede config variables to the
central BMAD config so agents can read project settings.
Idempotent: Yes skips if 'abenteuer-schmiede:' block already exists.
Usage:
python merge-config.py <bmad-root-path>
Example:
python merge-config.py /path/to/my-project
This appends the following YAML block to _config/config.yaml:
abenteuer-schmiede:
abenteuer_name: ""
setting: ""
epoche: ""
spieleranzahl: "3-4"
erfahrungsstufe: "Durchschnittlich (300-600 AP)"
abenteuer_typ: "Gemischt"
geschaetzte_dauer: "Mittel (4-6 Abende)"
sprache: "Deutsch"
These values are populated by the as-setup workflow (skills/as-setup/SKILL.md)
when the user starts a new adventure project.
"""
import sys import sys
import os import os

View file

@ -1,5 +1,25 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
"""Merge Abenteuer-Schmiede module-help.csv into BMAD help.csv.""" """Merge Abenteuer-Schmiede module-help.csv into BMAD help.csv.
Called by: BMAD module installer (npx bmad-method install)
When: During module installation, NOT during as-setup workflow
Purpose: Registers all Abenteuer-Schmiede skills/workflows in the
central BMAD help system so they appear in agent menus
and the BMAD help command.
Idempotent: Yes only adds entries whose canonicalId doesn't exist yet.
Usage:
python merge-help-csv.py <bmad-root-path>
Example:
python merge-help-csv.py /path/to/my-project
Source file: skills/as-setup/assets/module-help.csv (10 entries)
Target file: <bmad-root>/_config/help.csv
CSV columns: canonicalId, moduleName, moduleCode, skillType, skillId,
skillName, description, filePath
"""
import csv import csv
import sys import sys
@ -30,7 +50,7 @@ def merge_help(bmad_root):
existing_ids.add(row[0]) existing_ids.add(row[0])
existing_rows.append(row) existing_rows.append(row)
# Merge: only add rows that don't exist yet # Merge: only add rows whose canonicalId doesn't exist yet
added = 0 added = 0
for row in new_rows: for row in new_rows:
if row[0] not in existing_ids: if row[0] not in existing_ids: