Modelith: Rendszerépítés közérthető domain modellekkel
Beszélj a kódoddal: Így kelti életre a Modelith a domain modelleket
Őszintén szólva — a legtöbb projekt jó szándékkal indul. Valaki felrajzolja a domain modellt a whiteboardra, mindenki bólogat, és aztán... a dolog csendben meghal a Confluence oldalon, amit senki nem frissít.
A probléma nem a domain modellezés koncepciójában rejlik. Az a baj, hogy a domain modellek jellemzően:
- Egyszer leírjuk, aztán elfeledjük
- Külön van tartva a kódtól
- Csak speciális eszközökkel olvashatók
- Automatikusan nehéz validálni őket
A Modelith más megközelítést alkalmaz. Ahelyett, hogy a domain modellt egy elkészítendő és archiválandó termékként kezelné, élő artifaktként kezeli — olyasmiként, ami a kód mellett él, beszélgetés útján készül, és automatikusan validálódik a CI-ben.
Mi is az a domain modell?
Mielőtt továbbmennénk, egyezzünk ki a alapokban. A domain modell a rendszered fogalmi térképe — a főnevek (entitások), kapcsolataik, és a szabályok, amelyek irányítják őket. Nem adatbázis séma és nem API specifikáció. A rendszer lényegének kanonikus, közérthető kifejezése.
Gondolj rá úgy, mint a csapat által közösen használt szókincsre. Amikor mindenki ugyanabból a modellből olvas, a beszélgetések élesebbé válnak, a betanulás gyorsabb, és az új szolgáltatások vagy funkciók bevezetése kevésbé hasonlít régészeti ásatásra a legacy kódban.
A Modelith munkafolyamata: Leír, Vázol, Validál, Renderel
Itt válik érdekessé a dolog. A Modelith-szel nem közvetlenül írsz YAML-t. Még csak nem is gondolkodsz a YAML-en. Leírod a domain fogalmakat egyszerű nyelven egy AI ágensnek (konkrétan egy Claude Code skillnek), és az ágens megírja neked a mögöttes YAML-t.
A folyamat valahogy így néz ki:
Leírás — A saját szavaiddal mesélsz a domainről. "Vannak ügyfeleink, akik rendeléseket adhatnak fel, és a rendelések több terméket tartalmaznak, de egy ügyfélnek egyszerre csak három aktív rendelése lehet."
Szerkesztés — A Claude Code plugin lefordítja a leírásodat egy
modelith.yamlfájllá, miközben validálja az eredményt.Validálás — Futtasd a
modelith lintparancsot a teljesség és konzisztencia ellenőrzésére. Ez lesz a CI kapud.Renderelés — Futtasd a
modelith renderparancsot Markdown generálásához Mermaid diagramokkal. Commitold ezt a YAML mellé.
A renderelt Markdown emberi szemmel is olvasható bármilyen eszköz nélkül. A YAML a gép által olvasható forrás. És a CI biztosítja, hogy soha ne térjenek el egymástól — gondolj rá úgy, mint egy generált-kód ellenőrzésre, csak épp a domain modellre.
Miért működik ez a megközelítés?
A közérthető nyelv csökkenti a belépési küszöböt
Nem mindenki a csapatban kényelmesen olvas JSON Schema-t vagy UML diagramokat. De mindenki megérti az egyszerű angolt. Ha a közérthető nyelvből indulunk ki, a Modelith demokratizálja a domain modellezést. A termékmenedzsered is hozzá tud járulni. A QA mérnököd át tudja nézni. A junior fejlesztőd tényleg megértheti a nagy képet.
Az AI kezeli az unalmas részeket
Kézzel YAML-t írni hibagyakori és őszintén szólva unalmas. Az AI ágensre bízni a fordítást a leírásodból érvényes YAML-re azt jelenti, hogy leveszed a kognitív terhet a vállaidról, miközben pontosságot tartasz meg.
A CI validálás megakadályozza az eltérést
Ez a killer feature csapatoknak. A domain modell első osztályú polgárrá válik a fejlesztési munkafolyamatban. Minden PR, ami megváltoztatja a domaint, automatikusan validálódik. Ha valaki frissíti a YAML-t, de elfelejti újragenerálni a dokumentációt, a CI elkapja.
A modell közel marad a kódhoz
Amikor a domain modell ugyanabban a repository-ban él, mint a kód, aktuális marad. Átnézik a pull requestekben. Frissül, amikor a funkciók változnak. Nem válik elavult dokumentációvá valamilyen más rendszerben, amit senki nem emlékszik ellenőrizni.
Hogyan kezdj neki?
A Modelith arra lett tervezve, hogy könnyen megközelíthető legyen. Nem kell előre az egész sémát megértened. Kezdd kicsiben:
- Telepítsd a Claude Code plugint
- Írd le pár alapvető koncepciót a domainből
- Hagyd, hogy az AI megírja a YAML-t
- Futtasd a
modelith lintparancsot, hogy lásd, mi hiányzik - Ismételgesd
A projekt tartalmaz kidolgozott példákat (a parkolóház példa jó kiindulópont), amelyek végigvezetnek egy valódi modell nulláról való felépítésén.
A nagyobb kép
A Modelith egy szélesebb trendet képvisel az AI-asszisztált fejlesztésben: természetes nyelvet használ interfész rétegként, miközben gép által olvasható artifaktumokat tart meg alatta. Azt írod, amit gondolsz; az eszközök biztosítják a konzisztenciát és validációt.
Komplex rendszereket építő csapatoknak — különösen olyan domainokban, ahol a szókincs számít (fintech, egészségügy, logisztika, bármi, ami jelentős üzleti szabályokkal rendelkezik) — ez a megközelítés transzformatív lehet. Egy megosztott, validált, élő domain modell kevesebb félreértést, gyorsabb betanulást és jobban megtervezett rendszereket jelent.
Az eszköz még fejlődik, de az alapötlet szilárd. A domain modell nem lehet utólagos gondolat vagy projektindítási relikvia. Olyan élő dokumentumnak kell lennie, ami a kóddal együtt fejlődik, beszélgetés útján készül, és automatikusan validálódik.
Ha küzdöttél azzal, hogy a domain modellek relevánsak maradjanak a projektjeidben, a Modelith érdemes kipróbálni. Néha a legjobb eszköz nem a legerősebb — hanem az, ami a helyes viselkedést teszi a legkönnyebb úttá.
Nézd meg a modelith.sh oldalt, hogy elkezdhesd.