Skip to content

archi-semantic-core

@cda/archi-semantic-core is the foundational library of the CDA ecosystem: it reads native Archi .archimate model files and exposes their semantics through a small, typed ArchiModel.

A TypeScript parser for the native .archimate format used by the Archi desktop editor — both the plain-XML and the zip-archive file shapes. No reinterpretation, no lossy normalization: a model means what the modeling tool stored.

Because your pipelines, governance rules and tooling need the architecture as typed, validated data instead of a closed file format. CDA’s core principle is faithfulness over convenience — the API preserves native semantics and documents its boundaries honestly.

Terminal window
npm install @cda/archi-semantic-core

Requirements: Node.js ^20 || ^22 || >=24, ESM-only. TypeScript types are bundled in the package; no separate @types/* needed. See Installation.

Parse a model, read its elements, and validate it in a few lines:

import { parseArchiModel, validateArchiModel } from '@cda/archi-semantic-core';
const model = parseArchiModel(xmlText);
const { valid, errors } = validateArchiModel(model);
model.elements.map((e) => e.type); // ["BusinessActor", ...]

Run the full walkthrough in about five minutes: Quick Start.

Bug reports with minimal .archimate repros, fixtures and tests are the most valuable contributions. Follow the repository’s own CONTRIBUTING file: archi-semantic-core.