Modellith: Slik bygger du systemer med lesbare domener

Modellith: Slik bygger du systemer med lesbare domener

Jul 04, 2026 domain-modeling ai-development developer-tools yaml claude-code software-architecture vibe-coding

Slik får du liv i domenemodellen din

La meg være ærlig: de fleste prosjekter starter med de beste intensjonerene. Noen skisserer opp domenemodellen på en whiteboard, alle nikker, og så... blir den glemt i et Confluence-dokument som ingen oppdaterer.

Problemet er ikke konseptet bak domenemodellering i seg selv. Det er hvordan vi behandler disse modellene:

  • De skrives én gang og glemmes
  • De vedlikeholdes separat fra koden
  • De er bare lesbare i bestemte verktøy
  • De er vanskelige å validere automatisk

Modelith tar en annen tilnærming. I stedet for å behandle domenemodellen som et leveranseprodukt du arkiverer, ser de på den som en levende artefakt som lever sammen med koden din, som lages gjennom dialog, og som valideres automatisk i CI.

Hva er egentlig en domenemodell?

Før vi går videre, la oss bli enige om definisjonen. En domenemodell er ditt systems konseptuelle kart – substantivene (entitetene), relasjonene mellom dem, og reglene som styrer dem. Det er ikke et databaseskjema eller en API-spesifikasjon. Det er den kanoniske, plain-language-uttrykket av hva systemet ditt er.

Tenk på det som felles vokabular for hele teamet. Når alle leser fra samme modell, blir samtalene skarpere, onboarding går fortere, og det å sette i gang nye tjenester eller funksjoner blir mindre som en arkeologisk utgraving i legacy-kode.

Slik fungerer Modelith: Beskriv, Utform, Valider, Generer

Her blir det interessant. Med Modelith skriver du ikke YAML direkte. Du tenker knapt på YAML i det hele tatt. Du beskriver domenekonseptene dine i plain language til en AI-agent (spesifikt en Claude Code-skill), og agenten utarbeider den underliggende YAML-en for deg.

Flyten ser slik ut:

  1. Beskriv – Du snakker om domenet ditt i vanlig engelsk. «Vi har kunder som kan legge inn bestillinger, og bestillinger inneholder flere produkter, men kunder kan bare ha tre aktive bestillinger om gangen.»

  2. Utform – Claude Code-pluginen oversetter beskrivelsen din til en modelith.yaml-fil, og validerer underveis.

  3. Valider – Kjør modelith lint for å sjekke fullstendighet og konsistens. Dette blir din CI-port.

  4. Generer – Kjør modelith render for å lage Markdown med Mermaid-diagrammer. Commit dette sammen med YAML-en.

Den genererte Markdown-en er lesbar for mennesker uten spesielle verktøy. YAML-en er den maskinlesbare kildekoden. Og CI sørger for at de aldri drifter fra hverandre – tenk på det som en sjekk for generert kode, bare for domenemodellen din.

Hvorfor denne tilnærmingen fungerer

Plain language senker terskelen

Ikke alle på teamet ditt er komfortable med å lese JSON Schema eller UML-diagrammer. Men alle kan lese vanlig engelsk. Ved å gjøre plain language til inngangspunktet, demokratiserer Modelith domenemodellering. Produktlederen din kan bidra. QA-ingeniøren din kan revidere. Den nye utvikleren din kan faktisk forstå helhetsbildet.

AI tar seg av det kjedelige

Det å skrive YAML for hånd er feilutsatt og, ærlig talt, kjedelig. Å la en AI-agent håndtere oversettelsen fra din beskrivelse til gyldig YAML betyr at du får den kognitive belastningen bort, samtidig som du opprettholder presisjonen.

CI-validering forhindrer at modellen blir utdatert

Dette er den avgjørende funksjonen for team. Domenemodellen din blir en førsteklasses borger i utviklingsflyten din. Hver PR som endrer domenet, blir validert automatisk. Hvis noen oppdaterer YAML-en men glemmer å regenerere dokumentasjonen, fanger CI det opp.

Modellen holder seg nær koden

Når domenemodellen din lever i samme repository som koden din, forblir den relevant. Den blir sett på i pull requests. Den blir oppdatert når funksjoner endres. Den blir ikke foreldet dokumentasjon i et annet system som ingen husker å sjekke.

Kom i gang

Modelith er designet for å være tilgjengelig. Du trenger ikke å forstå hele skjemaet på forhånd. Start smått:

  • Installer Claude Code-pluginen
  • Beskriv noen få kjernekonsepter fra domenet ditt
  • La AI-en utarbeide YAML-en
  • Kjør modelith lint for å se hva som mangler
  • Iterer

Prosjektet inneholder arbeide eksempler (deres parkeringsgarasje-eksempel er et godt utgangspunkt) som tar deg gjennom å bygge en virkelig modell fra scratch.

Det større bildet

Modelith representerer en bredere trend i AI-assistert utvikling: å bruke naturlig språk som grensesnittlaget mens man beholder maskinlesbare artefakter under. Du skriver det du mener; verktøyene sørger for konsistens og validering.

For team som bygger komplekse systemer – spesielt i domener der vokabularet betyr noe (fintech, helsevesen, logistikk, alt med betydelige forretningsregler) – kan denne tilnærmingen være transformativ. En delt, validert, levende domenemodell betyr færre misforståelser, raskere onboarding, og bedre designede systemer.

Verktøyet er fortsatt i utvikling, men den grunnleggende ideen er solid. Domenemodellen din bør ikke være en ettertanke eller en relikvie fra prosjektoppstarten. Den bør være et levende dokument som utvikler seg sammen med koden din, laget gjennom dialog, og validert automatisk.

Hvis du har slitt med å holde domenemodeller relevante i prosjektene dine, er Modelith verdt å utforske. Noen ganger er ikke det beste verktøyet det mest kraftfulle – det er det som gjør riktig oppførsel til minste motstand.

Sjekk ut modelith.sh for å komme i gang.

Read in other languages:

RU BG EL CS UZ TR SV FI RO PT PL NL HU IT FR ES DE DA ZH-HANS EN