DomainLang

A tiny VS Code tool for writing and validating software architecture models β€” with autocomplete, hover docs, and go-to-definition.

TypeScript πŸ“„ Apache-2.0 ⭐ …
Screenshot of DomainLang

DomainLang is a developer tool for authoring software architecture models right inside VS Code. You write small .dlang text files describing your domains, teams, bounded contexts, and integrations β€” and the extension gives you the full authoring experience: intelligent autocomplete that suggests valid DDD patterns, hover documentation that explains your model elements in context, go-to-definition to jump between related concepts, and real-time validation that catches modeling mistakes as you type.

It feels like writing code, not drawing diagrams. The extension knows your model β€” so when you reference a bounded context in a context map, it autocompletes the name, warns you if it doesn’t exist, and lets you ctrl-click to jump to its definition. A CLI handles validation in CI pipelines, and an agent skill lets AI coding assistants understand your architecture when generating code. It even includes native MCP tools for your Copilot so it intuitively understands your model.

I built it because architecture knowledge shouldn’t live in Confluence pages nobody reads. DomainLang puts it in your repo as plain text files β€” reviewable in PRs, validated on every keystroke, and a joy to write because the tooling actually helps you think about your architecture instead of fighting a drawing tool.

Copilot says: AI-generated

A domain-specific language for Domain-Driven Design that lives right in your repo β€” define bounded contexts, terminology, and context maps in code that your team can review in PRs just like any other source file.

Key features:

  • πŸ—οΈ DDD-aligned syntax for domains, bounded contexts, teams, and context maps
  • 🧠 VS Code extension with autocomplete, hover docs, and go-to-definition
  • βœ… Validation catches modeling issues before they become architecture debt
  • πŸ“– Define your ubiquitous language with terminology blocks right in the model

This summary was generated by GitHub Copilot based on the project README.