ArchMeta · Built 2026-09-09T17:39:23.802Z

Archmeta Application C4 L2 Web Generation

Software SystemArchMetaA platform for managing architecture documentation as code. Architects describe their organisation in a textual DSL stored in Git; the Kernel reads that repository into an in-… Stakeholder ContainerPublisherGenerates the static site from a loaded model: element pages, view pages with interactive SVG diagrams, the BPMN gallery and the search index. The output has no back end and carries no … ContainerKernelReads the repository into an in-memory graph and serves it over REST on port 7777. Never throws on model content: unresolved references, malformed attributes and rule violations … ContainerDiagram RenderThe rendering primitives both renderers share: geometry, element shapes, orthogonal routing, status styling, relationship chips and the link indicator. One implementation per … ContainerGenerated SiteThe deliverable: static HTML, CSS and JavaScript with a prebuilt search index. No server, no database, no API — it can be served from object storage, a CDN, an nginx container or a … ContainerCLIThe command surface: archmeta init scaffolds a repository with its metamodel profiles, archmeta load reports the model and its diagnostics, archmeta build generates the site, … archmeta-site (container) archmeta/site Reads the loaded model fromSame primitives as the Viewer, so the two cannot driftEmitsInvokes for archmeta buildLoads throughReads the published siteBrowsesServesIs instantiated asPackages

Elements (9)

Publisherc4:container

archmeta.publisher

Generates the static site from a loaded model: element pages, view pages with interactive SVG diagrams, the BPMN gallery and the search index. The output has no back end and carries no diagnostic data — what an architect needs to fix the model is not what a stakeholder should read.

ArchMetac4:softwaresystem

archmeta

A platform for managing architecture documentation as code. Architects describe their organisation in a textual DSL stored in Git; the Kernel reads that repository into an in-memory graph and serves it over REST, the Viewer authors it, and the Publisher turns it into a static site. There is no database — Git is the source of truth, and the same commit always produces the same model.

Kernelc4:container

archmeta.kernel

Reads the repository into an in-memory graph and serves it over REST on port 7777. Never throws on model content: unresolved references, malformed attributes and rule violations become diagnostics, and the load always completes. A pure function of the repository — no clock, no randomness, no network during a load — so the same commit produces the same model and the same diagnostics forever.

Diagram Renderc4:container

archmeta.diagram-render

The rendering primitives both renderers share: geometry, element shapes, orthogonal routing, status styling, relationship chips and the link indicator. One implementation per render boundary is an enforced rule — a diagram must look the same on the canvas and on the published site, and the only way to guarantee that is to give them one function.

Generated Sitec4:container

archmeta.static-site

The deliverable: static HTML, CSS and JavaScript with a prebuilt search index. No server, no database, no API — it can be served from object storage, a CDN, an nginx container or a filesystem, which is the point.

CLIc4:container

archmeta.cli

The command surface: archmeta init scaffolds a repository with its metamodel profiles, archmeta load reports the model and its diagnostics, archmeta build generates the site, archmeta daemon serves the Kernel and the Viewer. The only entry point in a CI pipeline.

Stakeholderc4:person

stakeholder

Reads the published site. Never installs anything, never sees the DSL, and cannot change the model — the site is static HTML with no back end, so there is nothing to give them access to.

archmeta-site (container)archimate:node

deployment.docker-engine.site-container

An nginx image serving the generated static site. It has no connection to the Kernel and no back end of its own — once the site is built, this container is interchangeable with any static host.

archmeta/sitearchimate:technologycomponent

deployment.images.site-image

nginx:alpine with the generated site copied into the web root. Built per model repository rather than per product release, because its content is the customer's architecture, not ArchMeta's code.

Relationships (15)Relationships (1)

Loads throughc4:uses

archmeta.cli → archmeta.kernel

Loads the model through

Invokes for archmeta buildc4:uses

archmeta.cli → archmeta.publisher

Same primitives as the Viewer, so the two cannot driftc4:dependson

archmeta.publisher → archmeta.diagram-render

Reads the loaded model fromc4:uses

archmeta.publisher → archmeta.kernel

Emitsc4:sendsto

archmeta.publisher → archmeta.static-site

archmeta → archmeta.cliArchMeta → CLIarchimate:composition

archmeta → archmeta.cli

archmeta → archmeta.diagram-renderArchMeta → Diagram Renderarchimate:composition

archmeta → archmeta.diagram-render

archmeta → archmeta.kernelArchMeta → Kernelarchimate:composition

archmeta → archmeta.kernel

archmeta → archmeta.publisherArchMeta → Publisherarchimate:composition

archmeta → archmeta.publisher

archmeta → archmeta.static-siteArchMeta → Generated Sitearchimate:composition

archmeta → archmeta.static-site

Servesarchimate:assignment

deployment.docker-engine.site-container → archmeta.static-site

Packagesarchimate:access

deployment.images.site-image → archmeta.static-site

Is instantiated asarchimate:realization

deployment.images.site-image → deployment.docker-engine.site-container

Browsesc4:uses

stakeholder → archmeta.static-site

Reads the published sitec4:uses

stakeholder → archmeta

← Home