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.
What is this?
Section titled “What is this?”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.
Why would I use it?
Section titled “Why would I use it?”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.
Install
Section titled “Install”npm install @cda/archi-semantic-coreRequirements: Node.js ^20 || ^22 || >=24, ESM-only. TypeScript types are
bundled in the package; no separate @types/* needed. See
Installation.
See it working
Section titled “See it working”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.
Common tasks
Section titled “Common tasks”- Parse your first model — a minimal end-to-end example.
- Build lookup indexes — efficient element and relationship access.
- Impact analysis — traverse relationships from an element.
- Structural validation in CI — gate pipelines on model integrity.
- Working with large models — performance characteristics and limits.
Technical reference
Section titled “Technical reference”- API Reference — functions and types, generated from the published npm package.
- Compatibility matrix — what Archi/ArchiMate® coverage is verified.
- Known limitations — what this library deliberately does not do.
Project health
Section titled “Project health”- Version: v0.4.2 · License: MIT
- Status: stable (per the roadmap)
- Node.js:
^20.0.0 || ^22.0.0 || >=24.0.0· Module format: ESM-only - TypeScript: types bundled in the package
- npm: @cda/archi-semantic-core · published with OIDC provenance
- Source: Continuous-DrivenArchitecture/archi-semantic-core
- Releases: Changelog
Contribute
Section titled “Contribute”Bug reports with minimal .archimate repros, fixtures and tests are the
most valuable contributions. Follow the repository’s own CONTRIBUTING file:
archi-semantic-core.