CDA Developer Portal
npm install @cda/archi-semantic-core<?xml version="1.0" encoding="UTF-8"?>
<archimate:model
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:archimate="http://www.archimatetool.com/archimate"
name="Order Fulfilment" id="model-orders" version="5.0.0">
<folder name="Business" id="folder-business" type="business">
<element xsi:type="archimate:BusinessActor"
name="Customer" id="element-customer"/>
<element xsi:type="archimate:BusinessProcess"
name="Fulfil order" id="element-process"/>
</folder>
<folder name="Application" id="folder-app" type="application">
<element xsi:type="archimate:ApplicationService"
name="Order API" id="element-api"/>
</folder>
<folder name="Relations" id="folder-relations" type="relations">
<element xsi:type="archimate:TriggeringRelationship"
id="rel-trigger" source="element-customer"
target="element-process"/>
<element xsi:type="archimate:RealizationRelationship"
id="rel-realize" source="element-api"
target="element-process"/>
</folder>
</archimate:model>import {
parseArchiModel,
validateArchiModel,
} from '@cda/archi-semantic-core';
const model = parseArchiModel(xmlText);
const { valid, errors } = validateArchiModel(model);
model.elements.map((e) => e.type);
model.elements.map((e) => e.name);types: ["BusinessActor", "BusinessProcess", "ApplicationService"]
names: ["Customer", "Fulfil order", "Order API"]
relationships: 2
valid: true
errors: 0Libraries
Independent, MIT-licensed packages. One portal, one design, one search.
What CDA is
Architecture is design intent. CDA treats it as data — structured, versioned and processable by software.
FaithfulNative semantics first
Every library starts from the format a tool actually uses — not a normalized intermediary that loses information.
TypedSoftware can understand it
Small, typed APIs make architecture consumable by CI pipelines, IDE tooling and governance automation.
OpenAn ecosystem, not a platform
Independent packages with one developer portal, one design, one search.
How the ecosystem fits
Architecture sources, semantic representation, validation — and the tooling built on top.
parseArchiModelavailable todayArchiModel — folders, elements, relationships, views, geometry, styling, profilesavailable todayvalidateArchiModel — structural integrity, ids and dangling referencesavailable todayContribute
CDA is open source. Bug reports with minimal repros, fixtures, tests and documentation are all welcome.
Code, tests, fixtures and JSDoc for the current library.
Report bugs, request features, share real-world models.
How to contribute to libraries and to this portal.
Not affiliated with or endorsed by Archi, the Archi Tool project, or The Open Group.