Domänenmodellierung
Baue und schärfe das Domänenmodell des Projekts aktiv während des Entwurfs. Dies ist die aktive Disziplin: Begriffe hinterfragen, Randfälle erfinden und das Glossar sowie Entscheidungen genau dann niederschreiben, wenn sie sich verfestigen. (Bloßes Lesen von GLOSSARY.md für Vokabeln ist nicht diese Skill: Das ist eine einzeilige Gewohnheit, die jede Skill kann. Diese Skill ist für den Moment, wenn du das Modell änderst, nicht nur konsumierst.)
Dateistruktur
Die meisten Repos haben einen einzigen Kontext:
/
├── GLOSSARY.md
├── docs/
│ └── adr/
│ ├── 0001-event-sourced-orders.md
│ └── 0002-postgres-for-write-model.md
└── src/
Wenn eine GLOSSARY-MAP.md im Stammverzeichnis existiert, hat das Repo mehrere Kontexte. Die Map zeigt, wo sich die einzelnen Kontexte befinden:
/
├── GLOSSARY-MAP.md
├── docs/
│ └── adr/ ← systemweite Entscheidungen
├── src/
│ ├── ordering/
│ │ ├── GLOSSARY.md
│ │ └── docs/adr/ ← kontextspezifische Entscheidungen
│ └── billing/
│ ├── GLOSSARY.md
│ └── docs/adr/
Erstelle Dateien lazy: nur, wenn du etwas zu schreiben hast. Wenn keine GLOSSARY.md existiert, erstelle eine, sobald der erste Begriff geklärt ist. Wenn kein docs/adr/ existiert, erstelle es, wenn die erste ADR benötigt wird.
Während der Sitzung
Gegen das Glossar prüfen
Wenn der Benutzer einen Begriff verwendet, der mit der bestehenden Sprache in GLOSSARY.md kollidiert, weise sofort darauf hin. „Dein Glossar definiert 'Stornierung' als X, aber du scheinst Y zu meinen. Was ist es nun?“
Vage Ausdrücke schärfen
Wenn der Benutzer vage oder überladene Begriffe verwendet, schlage einen präzisen kanonischen Begriff vor. „Du sagst 'Konto': meinst du den Kunden oder den Benutzer? Das sind unterschiedliche Dinge.“
Konkrete Szenarien diskutieren
Wenn Domänenbeziehungen besprochen werden, stress-teste sie mit spezifischen Szenarien. Erfinde Szenarien, die Randfälle untersuchen und den Benutzer zwingen, die Grenzen zwischen Konzepten präzise zu bestimmen.
Mit Code abgleichen
Wenn der Benutzer sagt, wie etwas funktioniert, überprüfe, ob der Code dem zustimmt. Falls du einen Widerspruch findest, sprich ihn an: „Dein Code storniert ganze Aufträge, aber du hast gerade gesagt, dass eine teilweise Stornierung möglich ist. Was ist richtig?“
GLOSSARY.md sofort aktualisieren
Wenn ein Begriff geklärt ist, aktualisiere GLOSSARY.md sofort. Sammle diese nicht auf: halte sie fest, während sie geschehen. Verwende das Format aus GLOSSARY-FORMAT.md.
GLOSSARY.md sollte völlig frei von Implementierungsdetails sein. Behandle GLOSSARY.md nicht als Spezifikation, als Notizblock oder als Ablage für Implementierungsentscheidungen. Es ist ein Glossar und nichts weiter.
ADRs sparsam anbieten
Biete nur an, eine ADR zu erstellen, wenn alle drei Bedingungen erfüllt sind:
- Schwer umkehrbar: Die Kosten, später die Meinung zu ändern, sind bedeutend
- Ohne Kontext überraschend: Ein zukünftiger Leser wird sich fragen „warum haben sie das so gemacht?“
- Das Ergebnis eines echten Abwägens: Es gab echte Alternativen und du hast eine aus bestimmten Gründen gewählt
Wenn eine der drei Bedingungen fehlt, überspringe die ADR. Verwende das Format aus ADR-FORMAT.md.