Analysis updated 2026-05-18
Describe a system's domain model in plain language and have an AI agent draft the YAML.
Lint a domain model file for completeness as a CI gate.
Render a domain model into Markdown with Mermaid diagrams committed alongside code.
Catch documentation drift when the rendered Markdown no longer matches the YAML source.
| stacklok/modelith | aasixh/devgrep | kamalyes/go-argus | |
|---|---|---|---|
| Stars | 27 | 27 | 27 |
| Language | Go | Go | Go |
| Setup difficulty | moderate | easy | easy |
| Complexity | 3/5 | 2/5 | 2/5 |
| Audience | developer | developer | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires installing the CLI first, then the Claude Code plugin, since the AI skills call out to the CLI binary.
Modelith is a set of tools for authoring, validating, and rendering domain models, meaning a plain language description of what a system actually is: its concepts, how they relate to each other, and the rules that govern them. A domain model is stored as a YAML file, but the README stresses that you are not expected to write that YAML by hand. Instead you describe your system in plain language to an AI agent, the agent drafts and validates the YAML, then renders it into a Markdown document with embedded diagrams that you commit alongside your code. The typical workflow starts with describing concepts in plain language to a Claude Code skill, which writes or updates the YAML file. The modelith command line tool then lints that file for validity and completeness, which can be wired into continuous integration as a gate, and renders it into a Markdown file with Mermaid diagrams that stays committed in the repository, continuous integration regenerates that Markdown and fails the build if it has drifted from the YAML source, similar to a generated code check. Getting started requires two pieces installed in order: the command line tool itself, which can be installed with Homebrew, downloaded as a prebuilt binary from the releases page, or built from source with Go, and the Claude Code plugin that provides the conversational skills, since those skills call out to the binary. The plugin's marketplace listing was still awaiting approval at the time of writing, so the README explains an alternative install path through a skills package manager that works today with Claude Code as well as other AI coding tools. Once installed, you invoke a specific command inside Claude Code and describe your domain in conversation, and the agent asks questions, drafts the YAML, lints it, and keeps the rendered Markdown synchronized. A domain model file is self describing, declaring its own kind and version, and organizes information into four sections: a glossary, enums, entities, and scenarios, with entities able to declare invariants such as rules a system must always uphold. The project describes itself as early stage, with the schema, command line interface, output format, and documentation still open to breaking changes, and it welcomes feedback and issues. It is released under the Apache 2.0 license.
A CLI and Claude Code plugin that authors, lints, and renders plain-language domain models as YAML with Markdown diagrams.
Mainly Go. The stack also includes Go, YAML, Mermaid.
Apache 2.0: free to use, modify, and distribute, including commercially, with patent protection, as long as you keep notices and state changes.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.