Modelith: Buduj systemy językiem zrozumiałym dla każdego
Rozmawiaj z Kodem: Modelith Ożywia Twoje Modele Domenowe
Przyznajmy to sobie — większość projektów zaczyna się z dobrymi intencjami. Ktoś rysuje model domenowy na tablicy, wszyscy kiwają głowami, a potem... model cicho umiera w dokumentacji, którą nikt później nie aktualizuje.
Problem nie tkwi w samej koncepcji modelowania domeny. Chodzi o to, że modele domenowe zazwyczaj:
- Powstają raz i zostają zapomniane
- Są utrzymywane osobno od kodu
- Czytelne tylko w konkretnych narzędziach
- Trudne do automatycznej walidacji
Modelith idzie pod prąd. Zamiast traktować model domenowy jako jednorazowy produkt do zarchiwizowania, stawia na żywy artefakt, który żyje tuż obok kodu, powstaje w wyniku rozmowy i jest automatycznie walidowany w CI.
Czym Właściwie Jest Model Domenowy?
Zanim pójdziemy dalej, ustalmy podstawy. Model domenowy to konceptualna mapa Twojego systemu — rzeczowniki (encje), ich relacje i reguły nimi rządzące. To nie schemat bazy danych ani specyfikacja API. To kanoniczne, zrozumiałe dla każdego wyrażenie tego, czym Twój system jest.
Pomyśl o nim jak o wspólnym słowniku dla całego zespołu. Kiedy wszyscy korzystają z tego samego modelu, rozmowy stają się bardziej konkretne, wprowadzanie nowych osób przyspiesza, a dodawanie nowych usług czy funkcji nie wymaga żmudnej archeologii w starym kodzie.
Jak Działa Modelith: Opisz, Utwórz, Sprawdź, Wyrenderuj
Tu zaczyna się najciekawsza część. W Modelith nie piszesz YAML-a bezpośrednio. W ogóle o nim nie myślisz. Opisujesz swoje koncepcje domenowe zwykłym językiem do agenta AI (konkretnie — skillu Claude Code), a agent tworzy za Ciebie odpowiedni YAML.
Proces wygląda mniej więcej tak:
Opisz — Mówisz o swojej domenie zwykłą angielszczyzną. „Mamy klientów, którzy mogą składać zamówienia, a zamówienia zawierają wiele produktów, ale klienci mogą mieć jednocześnie maksymalnie trzy aktywne zamówienia."
Utwórz — Wtyczka Claude Code tłumaczy Twój opis na plik
modelith.yaml, walidując po drodze.Sprawdź — Uruchamiasz
modelith lint, żeby sprawdzić kompletność i spójność. To staje się Twoją bramką w CI.Wyrenderuj — Uruchamiasz
modelith render, żeby wygenerować Markdown z diagramami Mermaid. Commitujesz to obok YAML-a.
Wyrenderowany Markdown jest czytelny dla ludzi bez żadnych narzędzi. YAML jest maszynowo czytelnym źródłem prawdy. A CI pilnuje, żeby te dwa światy nigdy się nie rozeszły — myśl o tym jak o sprawdzaniu wygenerowanego kodu, tyle że dla Twojego modelu domenowego.
Dlaczego To Podejście Działa
Zwykły język obniża próg wejścia
Nie każdy w zespole czuje się komfortowo czytając JSON Schema czy diagramy UML. Ale każdy poradzi sobie ze zwykłym angielskim. Stawiając na prosty język jako punkt wejścia, Modelith demokratyzuje modelowanie domenowe. Twój product manager może wnosić wkład. Twój QA engineer może to przeglądać. Twój młodszy dev faktycznie rozumie cały obraz.
AI bierze na siebie żmudną pracę
Pisanie YAML-a ręcznie jest podatne na błędy i, szczerze mówiąc, nużące. Pozwolenie agentowi AI na tłumaczenie Twojego opisu na poprawny YAML oznacza, że zdejmujesz z siebie obciążenie poznawcze, zachowując precyzję.
Walidacja w CI zapobiega rozjeżdżaniu się
To killer feature dla zespołów. Twój model domenowy staje się pełnoprawnym obywatelem w procesie deweloperskim. Każdy PR zmieniający domenę jest automatycznie walidowany. Jeśli ktoś zaktualizuje YAML, ale zapomni zregenerować dokumentację — CI to wychwyci.
Model trzyma się blisko kodu
Kiedy Twój model domenowy żyje w tym samym repozytorium co kod, pozostaje aktualny. Jest przeglądany w pull requestach. Jest aktualizowany, kiedy zmieniają się funkcje. Nie staje się przestarzałą dokumentacją w innym systemie, do którego nikt nie pamięta zaglądać.
Jak Zacząć
Modelith jest zaprojektowany tak, żeby był przystępny. Nie musisz rozumieć całego schematu od razu. Zaczynaj mało:
- Zainstaluj wtyczkę Claude Code
- Opisz kilka kluczowych koncepcji ze swojej domeny
- Pozwól AI stworzyć YAML
- Uruchom
modelith lint, żeby zobaczyć, czego brakuje - Iteruj
Projekt zawiera przykłady (ich przykład z parkingiem to niezłe wprowadzenie), które prowadzą przez budowanie prawdziwego modelu od zera.
Szerszy Kontekst
Modelith reprezentuje szerszy trend w dewelopmencie wspomaganym przez AI: używanie języka naturalnego jako warstwy interfejsu, z zachowaniem maszynowo czytelnych artefaktów pod spodem. Piszesz to, co myślisz; narzędzia dbają o spójność i walidację.
Dla zespołów budujących złożone systemy — zwłaszcza w domenach, gdzie słownictwo ma znaczenie (fintech, healthcare, logistyka, cokolwiek z istotnymi regułami biznesowymi) — to podejście może być przełomowe. Wspólny, walidowany, żywy model domenowy oznacza mniej nieporozumień, szybsze wdrożenia i lepiej zaprojektowane systemy.
Narzędzie wciąż się rozwija, ale podstawowa idea jest solidna. Twój model domenowy nie powinien być dodatkiem ani reliktem z początku projektu. Powinien być żywym dokumentem, który ewoluuje razem z kodem, powstaje w wyniku rozmowy i jest automatycznie walidowany.
Jeśli walczyłeś z utrzymaniem aktualności modeli domenowych w swoich projektach, Modelith jest warty sprawdzenia. Czasem najlepsze narzędzie to nie to najpotężniejsze — tylko takie, które sprawia, że właściwe zachowanie jest najprostsze.
Odwiedź modelith.sh, żeby zacząć.