Skip to content
eclipse-emfcloudPublic

Latest commit

 

History

260 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hydranium

Text, diagrams and forms on one live model, for modeling languages built on Langium.

A modeling language usually gets a text editor, then a diagram, then forms, each with its own copy of the model and its own code to keep them in sync.

Hydranium gives your Langium language one server that holds the live model and serves it through one head per protocol: LSP for text, GLSP for diagrams, and a typed data API for forms, trees and code generators. Any other protocol, such as MCP for AI agents, is a head of your own beside them. An edit through any head shows up in all the others, and the model files on disk stay the source of truth.

The live demo: a domain model in text, and a process as a diagram above the text and layout it is edited from

▶ Try the live demo, in your browser, with nothing to install

Why Hydranium

  • One model, many editors. A text editor, a diagram and a form edit the same document at once, and the server coordinates their edits so that none silently overwrites another.
  • Files stay the truth. Models are plain text files in your repository, readable in a diff and reviewable like code.
  • Built on Langium. Your grammar, scoping and validation are ordinary Langium. Hydranium adds the heads, the shared workspace and the coordination around them.
  • Host it where you need it. Client libraries for Theia, and example hosts for VS Code and the browser. The live demo runs the whole server in a web worker, with no backend.

Architecture

An editor host connects over one channel per protocol to a Hydranium server, whose heads share one Langium workspace over the model files on disk

Each editor connects over its own protocol, and every head works on one shared Langium workspace. How it works explains the layers.

Start your own

npx @hydranium/cli init ./my-lang --name MyLang --heads lsp,data,glsp

This scaffolds a language server with a starter grammar and a diagram. npm run build and npm test work out of the box, and Adopting Hydranium takes it from there.

Where to go next

  • Building a modeling language? Start with Adopting Hydranium: getting started, guides and reference. Two examples to read beside it: bookstore, exactly what init scaffolds, and order-flow, the complete application behind the live demo.
  • Working on Hydranium itself? Start with Contributing: setup, conventions, testing and releasing.

Status

Alpha. The API still changes between releases, and every merge to main that can change a published package publishes a prerelease to npm. Status and limitations says what that means for you and what is known to be missing.

License

Licensed under the MIT License. Third-party copyrights are preserved in the headers of the files that carry them, and NOTICE.md records the notices the dependency licences require.

Trademarks

Eclipse and the Eclipse logo are registered trademarks of the Eclipse Foundation. GLSP, Theia, Langium, and other product names mentioned herein may be trademarks of their respective owners.

Releases

Packages

Contributors

Languages