Das Modulregister
Das Register ist weder ein separates Dokument noch eine Datenbank. Es ist der Quellbaum selbst.
modules/
├── microservices/<domain>/ms-<name> eine Datendomäne und ihre API
├── surfaces/<domain>/sf-<name> ein zur Laufzeit eingebundener Bildschirm
├── workflows/wf-<name> ein Prozess für die DAG-Laufzeit
├── types/<domain>/ NRPC-Verträge
└── solutions/ welche Module gemeinsam ausgeliefert werden
Ein Modul existiert, weil sein Verzeichnis existiert. Es gehört zu einer Domäne, weil es im Ordner dieser Domäne liegt. Es gehört zu einer Lösung, weil es benennt. Es gibt keinen vierten Ort, an dem dies wiederholt werden muss — deshalb wird die Ökosystemseite der Website erzeugt, indem der Baum durchlaufen wird, statt eine Liste zu bearbeiten.solutions/solutions.json
Der Zweck eines Moduls wird aus seiner übernommen: der erste Absatz unter README.md (bei Oberflächen ## Purpose) und der Absatz unter der Überschrift zur Verantwortungsgrenze. Diese beiden Absätze sind der Vertrag des Moduls in verständlicher Sprache, und jedes Modul muss sie enthalten.## UI Purpose
Eine Produktschicht auf der Basis — zum Beispiel — ist auf dieselbe Weise aufgebaut und kann die Domänenebene weglassen: Ihre Module liegen direkt in club. Der Build versteht beide Strukturen.modules/microservices/ms-<name>