🎉 Keadex Mina v1 is now available!
Keadex Mina Logo
Diagram as Code.
For real.
Open Source, serverless IDE to easily code and organize at a scale C4 model diagrams.
Packages:
Code C4 model diagrams without giving up on software development best practices
and on power of freehand drawing.
A simple IDE for coding C4 model diagrams.
Even offline.
  • C4 model centric: Mina is based on the C4 model approach to diagramming software architecture.
  • Serverless: a diagram as code application, without the need of installing servers or deploying software. Just download the application and use it.
  • Offline: the rendering system of Mina is based on Rust, and compilation into WASM enables its portability across different systems. This allows for the quick and immediate translation of code into diagrams, without the need to depend on external servers, thus also available offline.
  • Simple: an interface reduced to the essentials and simple to use.
Banner with Mina features
Not another language to learn.
Just based on PlantUML.
One of Mina's fundamental principles is to facilitate onboarding and usage. For this reason, unlike many other tools, Mina does not introduce a new Domain-Specific Language (DSL) to provide its functionalities but relies on the PlantUML DSL.

Specifically, Mina supports the syntax of the official PlantUML C4 model standard library.

This allows you to reuse PlantUML C4 code created with other tools and immediately leverage Mina's capabilities. If you decide to leave Mina (but we hope you don't), you can still reuse the PlantUML code created in Mina with other tools that support PlantUML.

PlantUML was born in 2009 and is a well-known open-source tool with a mature and widely used DSL. In the meantime, several PlantUML extensions have been released. Among these is C4-PlantUML, the standard library that supports the specifications of the C4 model.

Logo PlantUMLMina PlantUML example
Hybrid Layout (Keadex Mina)Example of clear diagram created with MinaAuto Layout (other tools)Example of messy diagram created with other tools
Auto Layout or Custom Layout: it's your choice.
Architectural diagrams are fundamental for sharing within the team how different systems and processes are integrated with each other. These become even more important in large companies, where hundreds of different systems are integrated. In this case, it is equally crucial to create clear and understandable diagrams.

Applications with fully automated rendering systems, in the presence of many architectural elements, generate cluttered and hardly understandable diagrams, making them lose their utility.

For this reason, Mina provides three options for rendering diagrams:

  • Auto Layout: Let Mina position the diagram elements. This will speed up your work but may result in messy diagrams.
  • Custom Layout: Have the freedom to decide how your diagrams will look. This will slow down your work, but your diagrams will look great.
  • Hybrid Layout: Enable auto layout to generate initial positions, then disable it to customize them. This is a compromise in terms of speed and final rendering.

The choice between these options depends on the complexity of the diagram.

A simple project structure, easily versionable.
A Mina project primarily consists of the following files:
  • .puml files: contain the code of the diagrams.
  • .json files: contain specifications of the diagrams, including position, size, and metadata of the elements within a diagram.

Thus, the project only contains human-readable code without any binary data or incomprehensible metadata files.

This feature makes a Mina project easily versionable with tools such as GitHub, facilitating the adoption of common software development best practices like code reviews, pull request approval processes, continuous integration, and more.

Mina project structure flow
Mina documentation integration example
Integrated with the most common documentation platforms.
Keadex provides various libraries and extensions to include diagrams created with Mina within the most common documentation platforms.

By using these packages:

  • You can include the diagrams using their URL, without the need to export them.
  • As a result your documentation will always render the most updated diagram based on your versioning system, without the need for constant manual updates.
  • The diagrams will be interactive, allowing navigation across various connected architectural diagrams.
AI-Powered

Mina integrates AI to generate diagram code based on a natural language description of your architecture.

Since Mina strongly supports open-source technologies, it offers a configurable AI integration that allows you to choose the AI APIs and model you want to use.

Whatever AI APIs you decide to implement, make sure they are compatible with the OpenAI format. Tools like LiteLLM can be used to ensure the OpenAI format.

This flexibility allows you to leverage AI features for free by running an open-source AI model like Llama locally, using tools such as Ollama.

For more information, please visit the Mina documentation.

Keadex Mina will then interpret the AI's response and utilize its own rendering system to render the generated diagram code.

Demo of AI to generate a diagram
FAQ
Keadex logo
Keadex ©2024. Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
Privacy Policy  |  Terms & Conditions