tsarchi
v1.0.2
Published
TypeScript implementation of the Archi model
Maintainers
Readme
TSArchi
TSArchi is a TypeScript-based utility for parsing .archimate files and manipulating the contained ArchiMate models. The project enables reading, editing, and saving enterprise architecture models compliant with the ArchiMate standard.
Introduction
TSArchi provides a TypeScript-based tool for parsing, modifying, and saving .archimate files. ArchiMate is an open, independent modeling language for enterprise architecture, and TSArchi allows you to work with these models programmatically.
Features
- Parsing: Reads
.archimatefiles and converts them into a TypeScript object model. - Model Manipulation: Add, modify, and remove elements and relationships in the parsed model.
- Model Serialization: Save the modified model back into an
.archimatefile. - Type Safety: Enforces strong TypeScript types for all operations on the model.
Getting Started
Prerequisites
Ensure you have the following installed:
Installation
Clone the repository:
git clone https://github.com/localgod/tsarchi.git cd tsarchiInstall the dependencies:
npm install
Building the Project
Before running the project, you need to compile the TypeScript files:
npm run buildThis will compile the TypeScript source files into the dist/ folder.
Usage
Running TSArchi
You can run the program via the command line using node ./dist/tsarchi.mjs with the following required arguments:
--input <path>: The path to the input.archimatefile you wish to parse and manipulate.--output <path>: The path where the modified model will be saved as a.archimatefile.
Example Command
node ./dist/tsarchi.mjs --input ./models/example.archimate --output ./models/output.archimateThis command will:
- Parse the model in
./models/example.archimate. - Save the modified model to
./models/output.archimate.
You can extend the commands to do manipulations of the object model
Parsing an ArchiMate File Programmatically
This functionality is coming
Contributing
We welcome contributions! Please follow these steps to contribute to the project:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/my-feature). - Commit your changes (
git commit -am 'Add my feature'). - Push to the branch (
git push origin feature/my-feature). - Create a pull request.
License
This project is licensed under the MIT License. See the LICENSE file for details.
